Estrategia de negociación de opciones cruzadas de la EMA/MA

El autor:¿ Qué pasa?, Fecha: 2024-01-16 14:14:42
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación de opciones a corto plazo basada en cruces de promedio móvil exponencial (EMA) y promedio móvil (MA) para generar señales de negociación. Produce señales de compra cuando la EMA rápida cruza la MA lenta desde abajo, y señales de venta cuando la EMA rápida cruza por debajo de la MA lenta.

Estrategia lógica

La estrategia emplea dos EMA/MA con parámetros diferentes, una EMA rápida y una MA lenta. El período de EMA rápida se establece en 50 y el período de MA lenta se establece en 100.

Cuando el aumento de precios a corto plazo se acelera, la EMA rápida penetrará en la MA lenta desde abajo, generando señales de compra.

Cuando el descenso de los precios a corto plazo se acelera, la EMA rápida se romperá por debajo de la MA lenta, produciendo señales de venta.

Al capturar los cruces entre la EMA/MA rápida y lenta para determinar la tendencia a corto plazo y las emociones del mercado, se pueden ejecutar operaciones de opciones oportunas para beneficiarse de las fluctuaciones de precios a relativamente corto plazo.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. La respuesta rápida para captar oscilaciones a corto plazo Los cruces entre EMA rápida y MA lenta detectan rápidamente las reversiones de precios al alza y a la baja a corto plazo.

  2. Simple de implementar, sólo hay que controlar el cruce de las dos medias móviles sin un cálculo complejo.

  3. Aplicación flexible para el comercio de opciones o acciones. Puede ir largo / corto basado en señales, o opciones comerciales en consecuencia.

  4. Preestablecer puntos de stop loss para limitar las pérdidas por operación.

Análisis de riesgos

Algunos riesgos a tener en cuenta:

  1. Las señales potenciales de la sierra y los mercados variantes pueden causar una negociación excesiva y un aumento de los costos.

  2. Considerar la estrategia de pausa durante la fase de bajada prolongada para preservar el capital.

  3. Los picos de precios causados por eventos noticiosos significativos pueden detener las posiciones prematuramente o aumentar sustancialmente las pérdidas.

Oportunidades de mejora

Algunas formas de mejorar la estrategia:

  1. Ajuste stop loss en tiempo real de acuerdo con los niveles de fluctuación de precios para minimizar las probabilidades de salida forzada.

  2. Integrar EMAs de varios marcos de tiempo. Agregar EMAs diarias y semanales para medir la tendencia general para evitar operaciones contra-tendencia.

  3. Utiliza el RSI para identificar los niveles de sobrecompra y sobreventa para filtrar algunas señales de ruido.

  4. Predicción de la volatilidad de aprendizaje automático: emplea modelos LSTM para predecir la volatilidad de los precios y el riesgo, ajustando dinámicamente el tamaño de las posiciones y el stop loss.

Conclusión

Esta estrategia de cruce de EMA/MA a corto plazo captura los cambios de tendencia a corto plazo y las emociones del mercado para operaciones oportunas mediante el monitoreo de cruces de EMA rápidos y MA lentos. A pesar de su facilidad de implementación, los riesgos incluyen excedentes y reducciones sostenidas. Las mejoras en torno a la optimización de stop loss, marcos de tiempo múltiples, filtrado de señales y predicción de aprendizaje automático pueden ayudar a controlar el riesgo y mejorar la rentabilidad.


/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Backtest single EMA cross", overlay=true)

qty = input(100000, "Buy quantity")

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   #00FF00 : na
testPeriod() => true


ema1 = input(50, title="Select EMA 1")
ema2 = input(100, title="Select EMA 2")

expo = ema(close, ema1)
ma = ema(close, ema2)

avg_1 = avg(expo, ma)
s2 = cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0)
p2 = plot(ma, color=color.orange, linewidth=2, transp=0)
fill(p1, p2, color=color.white, transp=80)


longCondition = crossover(expo, ma)

shortCondition = crossunder(expo, ma)

exitlongCondition = crossunder(expo, ma)

exitshortCondition = crossover(expo, ma) 


if testPeriod()
    strategy.entry("Long", strategy.long, when=longCondition)
    strategy.entry("Short", strategy.short, when=shortCondition)

plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor = #FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0)
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)




Más.