La stratégie de trading de rebond de rupture réalise le trading de rebond de rupture sous des tendances spécifiques en calculant l'indice de force absolue et l'indice MACD des prix. Elle appartient aux stratégies de trading à court terme. Cette stratégie intègre plusieurs indicateurs pour juger des tendances majeures, des tendances à moyen terme et des tendances à court terme. Elle effectue des transactions de suivi de tendance à travers des signaux de confirmation alignés sur la tendance et complémentaires à l'indicateur.
Cette stratégie s'appuie principalement sur l'indice de force absolue et l'indice MACD des prix pour mettre en œuvre le trading de rappel de rupture. Premièrement, il calcule les EMA de prix de 9 périodes, 21 périodes et 50 périodes pour juger de la direction de la tendance principale; puis il calcule l'indice de force absolue des prix pour refléter la force des ajustements à court terme; enfin, il calcule l'indice MACD pour juger de la direction de la tendance à court terme. Il achète lorsque la tendance principale est à la hausse et qu'il y a un ajustement à court terme; il vend lorsque la tendance principale est à la baisse et qu'il y a un rebond à court terme.
Plus précisément, la tendance à la hausse majeure de la variété nécessite que l'EMA à 9 jours soit supérieure à l'EMA à 21 jours et que l'EMA à 21 jours soit supérieure à l'EMA à 50 jours. Les critères pour juger les ajustements à court terme sont que la différence de l'indice de force absolue est inférieure à 0 et MACDDIFF est inférieure à 0.
La stratégie présente les avantages suivants:
La stratégie comporte également certains risques:
En réponse aux risques susmentionnés, des méthodes telles que l'optimisation des paramètres, le jugement des indicateurs de différents cycles, l'ajustement des règles de position pour contrôler les pertes uniques, la combinaison de plus d'indicateurs pour filtrer les signaux et l'amélioration de la précision peuvent être utilisées pour améliorer la stratégie.
La stratégie peut être optimisée dans les aspects suivants:
En résumé, la stratégie de trading de rappel de rupture est généralement une stratégie de trading à court terme relativement stable. Elle combine des jugements de tendance sur plusieurs délais pour éviter des transactions erronées sur des marchés oscillants. En même temps, l'utilisation combinée d'indicateurs améliore également la précision des jugements.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 ) message_long_entry = input("long entry message") message_long_exit = input("long exit message") message_short_entry = input("short entry message") message_short_exit = input("short exit message") //3x ema out9 = ta.ema(close,9) out21 = ta.ema(close,21) out50 = ta.ema(close,50) //abs absolute_str_formula( ) => top=0.0 bottom=0.0 if(close>close[1]) top:= nz(top[1])+(close/close[1]) else top:=nz(top[1]) if(close<=close[1]) bottom:= nz(bottom[1])+(close[1]/close) else bottom:=nz(bottom[1]) if (top+bottom/2>=0) 1-1/(1+(top/2)/(bottom/2)) abs_partial=absolute_str_formula() abs_final = abs_partial - ta.sma(abs_partial,50) //macd fast_length = input(title="Fast Length", defval=23) slow_length = input(title="Slow Length", defval=11) src = input(title="Source", defval=open) signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal long= abs_final > 0 and hist <0 and out9<out21 and out21<out50 short = abs_final <0 and hist >0 and out9>out21 and out21>out50 long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50 short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50 strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry) strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry) strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit) strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit)