Estrategia de negociación de balances medios móviles de maíz

El autor:¿ Qué pasa?, Fecha: 2023-11-13 17:59:42
Las etiquetas:

img

Resumen general

La estrategia de negociación de balances de promedio móvil de maíz utiliza los cruces dorados y muertos de promedios móviles con diferentes períodos para el comercio de balance largo y corto. También incorpora varios efectos visuales como colores de velas, colores de fondo y marcadores de forma para ayudar a observar los cambios de tendencia.

Estrategia lógica

La estrategia primero define dos parámetros ajustables por el usuario: el período de promedio móvil activo len1 y el período de promedio móvil base len2. El promedio móvil activo tiene un período más corto para capturar cambios de tendencia a corto plazo, mientras que el promedio móvil base tiene un período más largo para filtrar los ruidos del mercado. Los usuarios pueden elegir libremente entre 5 tipos diferentes de promedios móviles: EMA, SMA, WMA, DEMA y VWMA.

Cuando el promedio móvil a corto plazo cruza el a largo plazo, se genera una cruz de oro para abrir posiciones largas. Cuando ocurre una cruz muerta, la estrategia abre posiciones cortas. El comercio de saldo largo y corto aumenta las oportunidades de ganancia. Además, los colores de las velas también muestran la dirección de la tendencia actual.

Los marcadores de forma muestran visualmente las posiciones de cruces doradas y muertas. El color de fondo ayuda a determinar la dirección de la tendencia.

Ventajas

  1. Señales comerciales más fiables con múltiples indicadores combinados
  2. Aumento del potencial de ganancia con el comercio de saldos largos y cortos
  3. Tipos y períodos de medias móviles personalizables y adaptables a diferentes entornos de mercado
  4. Detección de tendencias intuitiva con varios efectos visuales
  5. Estructura de código clara fácil de entender y personalizar

Riesgos y soluciones

  1. Señales engañosas de las medias móviles

    • Utilizar combinaciones de medias móviles de diferentes períodos para reducir las señales engañosas
    • Añadir otras condiciones de salida como stop loss
  2. Ciertos períodos pueden adaptarse mejor a la estrategia

    • Prueba diferentes parámetros de período para encontrar los óptimos
    • Hacer el parámetro de período dinámico y ajustable en el código
  3. Aumento del riesgo de pérdida con operaciones largas y cortas

    • Ajuste el tamaño de la posición correctamente
    • Seleccionar el modo de negociación solo largo

Direcciones de optimización

  1. Añadir stop loss para controlar la pérdida de una sola operación
  2. Crear las condiciones para volver a entrar en el mercado
  3. Optimizar las estrategias de dimensionamiento de la posición
  4. Explorar nuevas señales comerciales como los indicadores de volatilidad
  5. Optimiza dinámicamente los parámetros del período
  6. Optimizar las ponderaciones entre los diferentes tipos de medias móviles

Resumen de las actividades

La estrategia de negociación de balance de media móvil de maíz integra los puntos fuertes de los indicadores de media móvil y permite el comercio de balance largo y corto. Tiene efectos visuales ricos para detectar tendencias y parámetros personalizables para la adaptabilidad.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MASelect Crossover Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
av1 = input(title="Active MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
av2 = input(title="Base MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
len1 = input(20, "Active Length")
len2 = input(100, "Base Length")
src = input(close, "Source")
strat = input(defval="Long+Short", options=["Long+Short", "Long Only"])

ema1 = ema(src, len1)
ema2 = ema(src, len2)
sma1 = sma(src, len1)
sma2 = sma(src, len2)
wma1 = wma(src, len1)
wma2 = wma(src, len2)
e1 = ema(src, len1)
e2 = ema(e1, len1)
dema1 = 2 * e1 - e2
e3 = ema(src, len2)
e4 = ema(e3, len2)
dema2 = 2 * e3 - e4
vwma1 = vwma(src, len1)
vwma2 = vwma(src, len2)

ma1 = av1 == "EMA"?ema1:av1=="SMA"?sma1:av1=="WMA"?wma1:av1=="DEMA"?dema1:av1=="VWMA"?vwma1:na
ma2 = av2 == "EMA"?ema2:av2=="SMA"?sma2:av2=="WMA"?wma2:av2=="DEMA"?dema2:av2=="VWMA"?vwma2:na

co = crossover(ma1, ma2)
cu = crossunder(ma1, ma2)
barcolor(co?lime:cu?yellow:na)
col = ma1 >= ma2?lime:red
bgcolor(co or cu?yellow:col)
plotshape(co, style=shape.triangleup, location=location.belowbar)
plotshape(cu, style=shape.triangledown)
plot(ma1, color=col, linewidth=3), plot(ma2, style=circles, linewidth=1)

strategy.entry("Buy", strategy.long, when=co)
if strat=="Long+Short"
    strategy.entry("Sell", strategy.short, when=cu)
else
    strategy.close("Buy", when=cu)

Más.