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.
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.
Señales engañosas de las medias móviles
Ciertos períodos pueden adaptarse mejor a la estrategia
Aumento del riesgo de pérdida con operaciones largas y cortas
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)