
La stratégie de négociation de reprise de rupture est une stratégie de négociation de courte ligne qui consiste à calculer l’indicateur de force absolue du prix et l’indicateur MACD pour réaliser des transactions de reprise de rupture dans une tendance particulière. Cette stratégie comprend plusieurs indicateurs pour juger des tendances majeures, des tendances intermédiaires et des tendances à court terme.
Cette stratégie est basée sur l’indicateur de force absolue du prix et l’indicateur MACD pour réaliser des transactions de reprise de rupture. Tout d’abord, le calcul des émas de 9 cycles, 21 cycles et 50 cycles du prix, pour déterminer la direction de la tendance majeure. Ensuite, le calcul de l’indicateur de force absolue du prix, qui reflète la force de l’ajustement à court terme.
Plus précisément, la tendance à la hausse de la variété nécessite de satisfaire à l’EMA du 9e jour supérieur à l’EMA du 21e jour et à l’EMA du 21e jour supérieur à l’EMA du 50e jour. Le critère de jugement de l’ajustement à court terme est l’écart de l’indicateur de force absolue inférieur à 0, le MACDDIFF est inférieur à 0. La tendance à la baisse de la variété nécessite de satisfaire à l’EMA du 9e jour inférieur à l’EMA du 21e jour et à l’EMA du 21e jour inférieur à 50 jours.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
Pour répondre à ces risques, il est possible d’optimiser les paramètres et de juger les différents indicateurs cycliques; d’ajuster les règles de maintien des positions et de contrôler les pertes individuelles; d’améliorer les méthodes de filtrage des signaux de plus d’indicateurs et d’améliorer l’exactitude.
Cette stratégie peut être optimisée dans les domaines suivants:
Dans l’ensemble, la stratégie de trading de rebond de rupture est une stratégie de trading de courte ligne relativement stable. Elle combine un jugement de tendance large, court et multiple pour éviter de faire des erreurs de trading dans des conditions de choc. L’utilisation d’une combinaison d’indicateurs améliore également l’exactitude du jugement.
/*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)