La estrategia de negociación de devoluciones de ruptura realiza operaciones de devoluciones de ruptura bajo tendencias específicas mediante el cálculo del índice de fuerza absoluta y el índice MACD de precios. Pertenece a las estrategias de negociación a corto plazo. Esta estrategia integra múltiples indicadores para juzgar las tendencias principales, las tendencias a mediano plazo y las tendencias a corto plazo. Realiza transacciones de seguimiento de tendencias a través de señales de confirmación alineadas con la tendencia y complementarias con el indicador.
Esta estrategia se basa principalmente en el índice de fuerza absoluta y el índice MACD de precios para implementar la negociación de devolución de tendencia. En primer lugar, calcula los EMA de precios de 9 períodos, 21 períodos y 50 períodos para juzgar la dirección de la tendencia principal; luego calcula el índice de fuerza absoluta de precios para reflejar la fuerza de los ajustes a corto plazo; finalmente, calcula el índice MACD para juzgar la dirección de la tendencia a corto plazo. Compra cuando la tendencia principal es alcista y hay un ajuste a corto plazo; vende cuando la tendencia principal es descendente y hay un rebote a corto plazo.
Específicamente, la tendencia al alza principal de la variedad requiere que la EMA de 9 días sea superior a la EMA de 21 días y la EMA de 21 días sea superior a la EMA de 50 días. Los criterios para juzgar los ajustes a corto plazo son que la diferencia del índice de fuerza absoluta es menor que 0 y MACDDIFF es menor que 0.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene algunos riesgos:
En respuesta a los riesgos anteriores, se pueden utilizar métodos como la optimización de parámetros, la evaluación de indicadores de diferentes ciclos, el ajuste de las reglas de posición para controlar pérdidas individuales, la combinación de más indicadores para filtrar señales y la mejora de la precisión para mejorar la estrategia.
La estrategia se puede optimizar en los siguientes aspectos:
En resumen, la estrategia de negociación de devolución de llamadas de avance es generalmente una estrategia de negociación relativamente estable a corto plazo. Combina juicios de tendencia de varios marcos de tiempo para evitar transacciones erróneas en mercados oscilantes. Al mismo tiempo, el uso combinado de indicadores también mejora la precisión de los juicios. A través de pruebas y optimización posteriores, esta estrategia puede convertirse en una estrategia estable que vale la pena mantener a largo plazo.
/*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)