Cette stratégie vise à exploiter les renversements ou les continuations de tendance potentiels en utilisant des moyennes mobiles exponentielles (MEI) et un arrêt de trailing basé sur la méthode Chande Dynamic Convergence Divergence (CDC) Average True Range.
Cette stratégie utilise des EMA doubles de 60 périodes et de 90 périodes pour déterminer la direction de la tendance. Un croisement où l'EMA de la période plus courte se déplace au-dessus de l'EMA de la période plus longue donne un signal haussier. En même temps, un croisement de la ligne MACD au-dessus de sa ligne de signal peut confirmer la vue haussière. L'entrée nécessite que le prix soit supérieur au niveau de trailing stop CDC calculé précédemment.
Les règles de sortie sont les suivantes: fermer la position lorsque le prix atteint le niveau de prise de profit basé sur l'ATR ou tombe en dessous du niveau de stop-loss CDC.
Cette stratégie combine des EMA doubles pour juger de la direction de la tendance principale et le MACD pour confirmer le moment de l'entrée, en évitant de fausses ruptures.
En outre, les paramètres d'entrée de cette stratégie sont personnalisables. Les utilisateurs peuvent ajuster les périodes EMA, la période ATR et le multiplicateur CDC en fonction de leur propre style de trading.
Le plus grand risque de cette stratégie est un jugement erroné de la tendance. Lorsque le marché se consolide, les EMA peuvent facilement donner de mauvais signaux. À ce moment-là, le rôle de confirmation du MACD est particulièrement important. En outre, il est nécessaire d'augmenter correctement le multiplicateur de stop-loss du CDC pour faire face aux grands écarts de prix causés par des événements soudains.
Cette stratégie fait bon usage des avantages des indicateurs de tendance et de volatilité pour identifier les opportunités potentielles dans les titres.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved EMA & CDC Trailing Stop Strategy", overlay=true) // Define the inputs ema60Period = input(60, title="EMA 60 Period") ema90Period = input(90, title="EMA 90 Period") atrPeriod = input(24, title="CDC ATR Period") multiplier = input(4.0, title="CDC Multiplier") profitTargetMultiplier = input(2.0, title="Profit Target Multiplier (ATR)") // Calculate EMAs ema60 = ta.ema(close, ema60Period) ema90 = ta.ema(close, ema90Period) // Calculate ATR atr = ta.atr(atrPeriod) // MACD calculation [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Define the trailing stop and profit target longStop = close - multiplier * atr shortStop = close + multiplier * atr longProfitTarget = close + profitTargetMultiplier * atr shortProfitTarget = close - profitTargetMultiplier * atr // Entry conditions longCondition = close > ema60 and ema60 > ema90 and macdLine > signalLine and close > longStop shortCondition = close < ema60 and ema60 < ema90 and macdLine < signalLine and close < shortStop // Exit conditions based on profit target longProfitCondition = close >= longProfitTarget shortProfitCondition = close <= shortProfitTarget // Plot the EMAs, Stops, and MACD for visualization plot(ema60, color=color.blue, title="60 EMA") plot(ema90, color=color.red, title="90 EMA") plot(longStop, color=color.green, title="Long Stop", style=plot.style_linebr) plot(shortStop, color=color.red, title="Short Stop", style=plot.style_linebr) hline(0, "Zero Line", color=color.gray) plot(macdLine - signalLine, color=color.blue, title="MACD Histogram") // Strategy execution using conditional blocks if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) // Exit based on profit target and trailing stop if longProfitCondition or close < longStop strategy.close("Long") if shortProfitCondition or close > shortStop strategy.close("Short")