
Cette stratégie est une stratégie de trading algorithmique de suivi de tendance qui émet un signal de transaction en calculant la moyenne EMA de deux paramètres différents et en émettant un signal de transaction lorsque la moyenne se produit. La stratégie combine plusieurs EMA pour une sortie rentable et un point de stop-loss pour contrôler le risque.
La stratégie utilise 4 EMA, composées d’un ensemble de EMA rapides et de EMA lents, dont l’intersection est utilisée pour générer des signaux d’achat et de vente. En outre, la stratégie utilise deux EMA intermédiaires entre les paramètres des EMA rapides pour éliminer partiellement ou totalement les positions et verrouiller les bénéfices.
Plus précisément, lorsqu’une EMA rapide traverse une EMA lente, elle génère un signal d’achat; lorsqu’une EMA rapide traverse une EMA lente, elle génère un signal de vente. Il s’agit d’une stratégie typique de croisement de deux moyennes mobiles EMA.
En outre, la stratégie impose deux points de stop-loss sur la ligne longue et la ligne courte pour empêcher l’expansion des pertes. Plus précisément, le stop-loss multiple est fixé à 6% du prix d’entrée et le stop-loss unique à 3% du prix d’entrée.
Les principaux avantages de cette stratégie par rapport à une stratégie de croisement de moyenne mobile à deux EMA typiques sont:
La mise en place de plusieurs EMA pour les sorties de bénéfices permet de mieux localiser les bénéfices et d’éviter que ceux-ci ne se contractent lors d’un redressement ultérieur.
Les positions à vide ont une plus petite marge de stop-loss, ce qui permet de supporter de plus grandes perturbations du cours normal et d’éviter des arrêts fréquents.
Il existe différents paramètres EMA pour une sortie rentable, en fonction de la situation du marché, pour choisir le meilleur point de sortie.
Les stratégies globales ont une meilleure capacité de suivi des tendances et peuvent capturer les fluctuations des tendances de la ligne médiane et longue.
Les principaux points à risque de cette stratégie sont:
En cas de choc, les signaux de négociation générés par l’EMA sont fréquents et peuvent entraîner une survente des transactions.
Les points de rupture de la courte ligne ne peuvent empêcher qu’une situation extrême, pas un retrait massif du compte stratégique.
Le risque de retrait de la stratégie subsiste, et les gains pourraient être considérablement réduits en cas d’ajustement à long terme.
La stratégie est sensible aux paramètres et une mauvaise configuration peut entraîner une défaillance de la stratégie.
Compte tenu des risques mentionnés ci-dessus, la stratégie peut être optimisée dans les domaines suivants:
L’augmentation des algorithmes d’apprentissage automatique pour aider à juger les tendances et à réduire la probabilité de transactions erronées.
L’ajout d’un mécanisme d’arrêt de perte adaptatif permettant d’ajuster dynamiquement l’ampleur du stop loss en fonction de la volatilité du marché.
Il est nécessaire de définir des taux d’utilisation des fonds, d’éviter que les comptes stratégiques ne prennent trop de fonds et d’augmenter les mécanismes de gestion des positions.
Le filtrage des variétés de négociation, la sélection des tendances évidentes et la négociation des titres les plus volatiles.
Ajout d’un module d’optimisation des paramètres pour optimiser et mettre à jour automatiquement les paramètres.
La stratégie de croisement de deux moyennes mobiles EMA est une stratégie de suivi de tendance plus rentable dans l’ensemble. Elle présente des avantages tels que la mise en place de plusieurs moyennes EMA pour une sortie rentable, un petit stop loss et une forte capacité de suivi de la tendance.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RealTraderAkeme
//@version=5
strategy("AKEME_EMA_CROSS_V6", overlay=true)
////////////////////////////////////////////////////////////PARAMETERS/////////////////////////////////////////////////////////////////
emaFast_op = input(title="Fast_EMA", defval=6)
emaSlow_op = input(title="Slow_EMA", defval=26)
emaExit_op = input(title="Sell_EMA_Exit",defval=10)
emabuyExit_op = input(title="Buy_EMA_Exit",defval=20)
Order_Value = input(defval=1000, title="Order_Value in Pounds")
Direction_Of_Trade = input(title="Trade Direction", defval="Both")
////////////////////////////////////////////////////////////INPUTS//////////////////////////////////////////////////////////////////
fastEMA = ta.ema(close, emaFast_op)
slowEMA = ta.ema(close,emaSlow_op)
emaExit = ta.ema(close,emaExit_op)
emabuyExit = ta.ema(close,emabuyExit_op)
Entry_Ratio = strategy.openprofit/Order_Value
//////////////////////////////////////////////////////////GRAPHS//////////////////////////////////////////////////////////////////
plot(fastEMA, color=color.orange, linewidth = 2)
plot(slowEMA,color = color.blue, linewidth = 2)
plot(emaExit,color = color.gray, linewidth = 2)
plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2)
/////////////////////////////////////////////////////Conditions//////////////////////////////////////////////////////////////////////
longOK = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both")
shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both")
///////////////////////////////////////////////////////////ENTRIES&EXITS///////////////////////////////////////////////////////////////
longCondition = ta.crossover(fastEMA, slowEMA) and longOK
if (longCondition)
strategy.entry("Buy", strategy.long)
shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK
if (shortCondition)
strategy.entry("Sell", strategy.short)
if (strategy.position_size > 0 and shortCondition)
strategy.exit(id="exit Buy", stop=close)
if (strategy.position_size < 0 and longCondition)
strategy.exit(id="exit Sell", stop=close)
/////////////////////////////////////////////////////TAKE PROFIT CONDITIONS////////////////////////////////////////////////////////
if ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333
strategy.close("Buy",comment = "Exit")
if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666
strategy.close("Sell",comment = "Exit")
if Entry_Ratio > 0.4166666 //0.4166666
strategy.close("Buy",comment = "Exit", qty_percent = 100)
if Entry_Ratio > 0.0833333//0.0833333
strategy.close("Sell",comment = "Exit")//50
if Entry_Ratio > 0.1111111//4000
strategy.close("Sell",comment = "Exit", qty_percent = 50)
if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage
strategy.close("Sell",comment = "Exit")
////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS///////////////////////////////////////////
if Entry_Ratio < -0.05555555555
strategy.close("Buy",comment = "Exit")
if Entry_Ratio < -0.027777777777
strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.