
La estrategia combina la teoría de la oscilación de Elliott y el indicador de la línea media diaria de 200 días para realizar operaciones automatizadas de seguimiento de tendencias y retornos de ganancias. Su lógica básica es determinar la dirección de la tendencia cuando se presentan los patrones de oscilación que forman las ondas de Elliott 5, y emitir señales de negociación con la línea media diaria de 200 días como condición auxiliar.
La teoría de las ondas de Elliott divide las fluctuaciones de precios del mercado en bandas de cinco ondas, las ondas impares son ondas de impulso y las pares son ondas de retroceso. Cuando los picos de las ondas Wave1, Wave3 y Wave5 se elevan y las ondas Wave2 y Wave4 se recuperan, la estrategia hace más.
La estrategia también introdujo el indicador de la media diaria de 200 días como condición de juicio auxiliar. La parte cerrada puede hacer más cuando el precio de cierre supera la media diaria de 200 días superior y la parte cerrada puede hacer un vacío cuando el precio de cierre cae por debajo de la media diaria de 200 días inferior.
Después de emitir una señal de vacío adicional, salga de posición con cinco ondas en la dirección opuesta.
La estrategia integra las ventajas de la teoría de la volatilidad y los indicadores de seguimiento de tendencias, y funciona bien para capturar los puntos clave del mercado y controlar el riesgo de las transacciones. Sin embargo, debido a que solo se considera la información de precios, la eficacia en situaciones complejas aún debe optimizarse.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Elliott Wave Strategy with 200 SMA", overlay=true)
// Elliott Wave Strategy
wave1High = high[1]
wave1Low = low[1]
wave2High = high[2]
wave2Low = low[2]
wave3High = high[3]
wave3Low = low[3]
wave4High = high[4]
wave4Low = low[4]
wave5High = high[5]
wave5Low = low[5]
bullishWavePattern = wave3High > wave1High and wave4Low > wave2Low and wave5High > wave3High
bearishWavePattern = wave3Low < wave1Low and wave4High < wave2High and wave5Low < wave3Low
enterLong = bullishWavePattern and close > sma(close, 200)
exitLong = bearishWavePattern
enterShort = bearishWavePattern and close < sma(close, 200)
exitShort = bullishWavePattern
// Plotting 200 SMA
sma200 = sma(close, 200)
plot(sma200, color=color.blue, title="Moving Average 200")
// Displaying "Razer Moving 200" message on chart
if (enterLong)
label.new(bar_index, low, "Long on Moving 200", color=color.green, textcolor=color.white)
if (enterShort)
label.new(bar_index, high, "Short on Moving 200", color=color.red, textcolor=color.white)
if (enterLong)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long")
if (enterShort)
strategy.entry("Short", strategy.short)
if (exitShort)
strategy.close("Short")