Cette stratégie est une stratégie de trading algorithmique de suivi des tendances. Elle calcule deux lignes EMA avec des paramètres différents et génère des signaux de trading lorsque la Croix d'Or et la Croix de la Mort se produisent entre les deux EMA. La stratégie combine également plusieurs lignes EMA pour la sortie des bénéfices et définit des points d'arrêt des pertes pour contrôler les risques.
La stratégie utilise 4 lignes EMA, dont une EMA rapide et une EMA lente, dont le croisement est utilisé pour générer des signaux d'achat et de vente.
Plus précisément, lorsque l'EMA rapide traverse au-dessus de l'EMA lente, un signal d'achat est généré. Lorsque l'EMA rapide traverse en dessous de l'EMA lente, un signal de vente est généré. Il s'agit d'une stratégie de croisement à double EMA typique. Pour mieux suivre les tendances et augmenter la rentabilité, après avoir entré une position, la stratégie sortira sélectivement une partie ou la totalité de la position lorsque l'EMA rapide traverse au-dessus de la deuxième ligne EMA ou lorsque l'EMA rapide traverse en dessous de la troisième ligne EMA.
En outre, la stratégie fixe à la fois des points d'arrêt de perte longs et courts afin d'éviter des pertes excessives.
Comparé à une stratégie de croisement à double EMA typique, les principaux avantages de cette stratégie sont les suivants:
La mise en place de plusieurs lignes EMA pour la sortie des bénéfices permet de mieux bloquer les bénéfices et d'éviter une diminution des bénéfices lors de retraits ultérieurs.
La position courte a un stop loss plus faible, qui peut résister à des fluctuations normales plus importantes du marché et empêcher un stop loss fréquent.
La définition de lignes EMA avec différents paramètres pour la sortie des bénéfices permet de choisir le point de sortie optimal en fonction des conditions du marché.
La stratégie globale a une bonne capacité de suivi des tendances pour réaliser des bénéfices plus élevés sur les tendances à moyen et à long terme.
Les principaux risques de cette stratégie sont les suivants:
Sur les marchés à plage, les signaux de négociation générés par les lignes EMA sont fréquents, ce qui peut entraîner une sur- négociation.
Le stop loss court ne peut que prévenir des conditions de marché extrêmes et ne peut empêcher des tirages importants sur le compte de stratégie.
Le risque de recours à des retraits existe toujours et les bénéfices peuvent diminuer de façon significative en cas d'ajustement à long terme.
La stratégie est sensible au réglage des paramètres. Une configuration incorrecte peut entraîner une défaillance de la stratégie.
Compte tenu des risques susmentionnés, la stratégie peut être optimisée dans les aspects suivants:
Augmenter les algorithmes d'apprentissage automatique pour aider à juger de la tendance et réduire les probabilités d'erreur de négociation.
Améliorer le mécanisme d'arrêt des pertes adaptatif pour ajuster dynamiquement les arrêts des pertes en fonction de la volatilité du marché.
Définir l'utilisation du capital pour éviter une occupation excessive du capital et renforcer le mécanisme de gestion des positions.
Sélectionnez des produits de négociation présentant des tendances évidentes et des fluctuations élevées.
Augmenter le module d'optimisation des paramètres pour obtenir une optimisation et une mise à jour automatiques des paramètres.
Dans l'ensemble, la stratégie de croisement double EMA est une stratégie de suivi de tendance rentable. Elle présente des avantages tels que plusieurs lignes EMA pour la prise de profit, de petits arrêts courts et une bonne capacité de suivi de tendance. Cependant, cette stratégie comporte encore certains risques. Elle nécessite une optimisation supplémentaire du paramètre et l'incorporation d'algorithmes d'apprentissage automatique pour améliorer la stabilité. En général, cette stratégie convient aux investisseurs ayant une certaine expérience de trading pour effectuer le trading algorithmique.
/*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.