Estrategia de cruce de medias móviles dobles con impulso


Fecha de creación: 2023-10-20 16:44:30 Última modificación: 2023-10-20 16:44:30
Copiar: 1 Número de Visitas: 618
1
Seguir
1617
Seguidores

Estrategia de cruce de medias móviles dobles con impulso

Descripción general

Esta estrategia utiliza el cruce de la línea media para determinar la dirección del movimiento de los precios, complementado con el análisis de la tendencia general mediante el uso de la horquilla dorada, para lograr el seguimiento de la tendencia.

Principio de estrategia

La estrategia utiliza la intersección de dos líneas medias EMA y SMA para determinar la dirección de la dinámica de los precios, la reacción de EMA es más rápida y la reacción de SMA es más estable. Cuando se cruza la SMA en EMA, se juzga que el impulso de subida de los precios es fuerte, hacer más; cuando se cruza la SMA en EMA, se juzga que el impulso de bajada de los precios es fuerte, hacer vacío.

Además, la estrategia también utiliza el cruce de los SMA de ciclo rápido y los SMA de ciclo lento para determinar la dirección de la tendencia general. Cuando el SMA de ciclo rápido atraviesa el SMA de ciclo lento, el mercado se encuentra en una tendencia alcista a largo plazo; cuando el SMA de ciclo rápido atraviesa el SMA de ciclo lento, el mercado se encuentra en una tendencia bajista a largo plazo.

La estrategia se juzga como una oportunidad para hacer más cuando atraviesa el SMA en la EMA. Si este es un tenedor de oro, significa que hacer más no solo tiene apoyo dinámico a corto plazo, sino que también está en consonancia con la tendencia a largo plazo, que es un buen momento para hacer más; Si este es un tenedor de muerto, significa que hacer más solo tiene apoyo dinámico a corto plazo, y no está en consonancia con la tendencia a largo plazo, que es un momento de hacer más arriesgado.

Análisis de las ventajas

  • Utiliza el cruce de líneas medias para determinar el movimiento y la dirección de los precios
  • Al mismo tiempo, considere el impulso a corto plazo y las tendencias a largo plazo.
  • Combinación de señales de confirmación de doble indicador, con una mayor fiabilidad
  • Adaptabilidad a diferentes períodos mediante ajuste de los parámetros de la línea media
  • Se puede configurar si se muestran señales de transacción específicas, la interfaz se puede personalizar

Análisis de riesgos

  • El retraso en el cruce de líneas medias puede ocasionar que se pierda el punto de mejor venta y venta.
  • Los SMA de ciclo fijo no reflejan los cambios de precios en tiempo real
  • La media de largo y corto periodo puede generar una falsa señal de cruce
  • A largo plazo, la posibilidad de aumentar el riesgo de los fondos

Se puede reducir el riesgo mediante la confirmación de señales en combinación con otros indicadores, la optimización de los parámetros del ciclo de la línea media o el establecimiento de un stop loss.

Dirección de optimización

  • Añadir filtros para otros indicadores, como volumen de transacciones, bandas de Brin, etc.
  • Aumentar las estrategias de alto riesgo
  • Optimización del parámetro de ciclo promedio
  • Optimización de la gestión de fondos
  • Considere ajustar el porcentaje de la posición en tiempo real

Resumir

En general, esta estrategia es una estrategia de seguimiento de tendencias más estable y confiable. Considera el movimiento de los precios a corto plazo y la dirección de la tendencia a largo plazo al mismo tiempo, y forma una señal de negociación mediante el cruce de la línea media. En comparación con la estrategia de una sola línea media, combina la confirmación de dos indicadores.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Cryptoluc1d

//@version=4
strategy("Equal-Length EMA/SMA Crossover Strategy", initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, commission_type=strategy.commission.percent, commission_value=0.2, overlay=true)

// Create inputs

mom_length = input(title="Momentum Length (EMA=SMA)", defval=50)
bias_length_fast  = input(title="Golden Cross Length (Fast)", defval=50)
bias_length_slow  = input(title="Golden Cross Length (Slow)", defval=100)

// Define MAs

ema = ema(close, mom_length) // EMA/SMA crossover of the same period for detecting trend acceleration/deceleration
sma = sma(close, mom_length)
bias_fast = sma(close, bias_length_fast) // golden/death cross for overall trend bias
bias_slow = sma(close, bias_length_slow)

// Define signal conditions

buy_trend = crossover(ema, sma) and bias_fast >= bias_slow // buy when EMA cross above SMA. if this happens during a bullish golden cross, buying is in confluence with the overall trend (bias).
buy_risky = crossover(ema, sma) and bias_fast < bias_slow // buy when EMA cross above SMA. if this happens during a bearish death cross, buying is early, more risky, and not in confluence with the overall trend (bias).
buy_late = crossover(sma, bias_slow) and ema > sma // the SMA crossing the Slow_SMA gives further confirmation of bullish trend, but signal comes later.
sell = crossunder(ema, sma) // sell when EMA cross under SMA.

// Enable option to hide signals, then plot signals

show_signal = input(title="Show Signals", defval=true)

plotshape(show_signal ? buy_trend : na, title='Trend Buy', style=shape.triangleup, location=location.belowbar, color=color.green, text='TREND BUY')
plotshape(show_signal ? buy_risky : na, title='Risky Buy', style=shape.triangleup, location=location.belowbar, color=color.olive, text='RISKY BUY')
plotshape(show_signal ? buy_late : na, title='Late Buy', style=shape.triangleup, location=location.belowbar, color=color.lime, text='LATE BUY')
plotshape(show_signal ? sell : na, title='Sell', style=shape.triangledown, location=location.abovebar, color=color.red, text='SELL')

// Define entry and exit conditions

longCondition = ema > sma and bias_fast >= bias_slow // LONG when EMA above SMA, and overall trend bias is bullish
if (longCondition)
    strategy.entry("BUY TREND", strategy.long)
exitLong = crossunder(ema, sma) // close LONG when EMA cross under SMA
strategy.close("BUY TREND", when=exitLong)

// // short conditions. turned off because up only.
// shortCondition = ema < sma and bias_fast <= bias_slow // SHORT when EMA under SMA, and overall trend bias is bearish
// if (shortCondition)
//     strategy.entry("SELL TREND", strategy.short)
// exitShort = crossover(ema, sma) // close SHORT when EMA cross over SMA
// strategy.close("SELL TREND", when=exitShort)

// Enable option to show MAs, then plot MAs

show_ma = input(title="Show MAs", defval=false)

plot(show_ma ? ema : na, title="Momentum EMA", color=color.green, linewidth=1)
plot(show_ma ? sma : na, title="Momentum SMA", color=color.yellow, linewidth=1)
plot(show_ma ? bias_fast : na, title="Golden Cross SMA (Fast)", color=color.orange, linewidth=2)
plot(show_ma ? bias_slow : na, title="Golden Cross SMA (Slow)", color=color.red, linewidth=2)