En la carga de los recursos... Cargando...

La estrategia de negociación de devoluciones de llamadas de avance

El autor:¿ Qué pasa?, Fecha: 2024-02-28 18:01:56
Las etiquetas:

img

Resumen general

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.

Principio de la estrategia

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.

Análisis de ventajas

La estrategia tiene las siguientes ventajas:

  1. Combinar las principales tendencias y los ajustes a corto plazo para evitar falsas rupturas
  2. Mayor fiabilidad con combinación de múltiples indicadores
  3. El índice de fuerza absoluta refleja la fuerza de los ajustes para juzgar la calidad de las devoluciones de llamadas
  4. El MACD puede juzgar las tendencias a corto plazo y las áreas sobrecompradas/sobrevendidas

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. Un juicio erróneo de las principales tendencias puede conducir al fracaso comercial
  2. Un juicio erróneo sobre el tiempo y la fuerza de la llamada puede llevar a una llamada no válida
  3. Divergencia de los indicadores en condiciones extremas de mercado, que da lugar a señales erróneas

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.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Prueba más combinaciones de indicadores para encontrar estrategias comerciales más adecuadas
  2. Optimizar los parámetros del indicador para mejorar su sensibilidad
  3. Ajustar los métodos de stop loss para reducir la pérdida máxima única
  4. Aumentar las condiciones de filtración para emitir señales en áreas más eficaces
  5. Combinar más indicadores de marcos de tiempo para mejorar la precisión del juicio

Resumen de las actividades

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) 


Más.