A estratégia combina a teoria da oscilação de Elliott com o indicador da linha média diária de 200 dias para realizar negociações automatizadas de rastreamento de tendências e retorno de lucro. Sua lógica básica é determinar a direção da tendência quando os padrões de oscilação que compõem a onda Elliott 5 aparecem e emitir sinais de negociação com a linha média diária de 200 dias como condição auxiliar.
A teoria da onda de Elliott divide as oscilações de preços do mercado em bandas de cinco ondas, onde as ondas ímpares são ondas de força e as ondas pares são ondas de retorno. Quando os picos das ondas Wave1, Wave3 e Wave5 sobem em sequência e as ondas Wave2 e Wave4 são retorno efetivo, a estratégia faz mais. Quando os picos das ondas Wave1, Wave3 e Wave5 são retorno efetivo e as ondas Wave2 e Wave4 são retorno efetivo, a estratégia faz mais.
A estratégia também introduziu o indicador de linha média de 200 dias como condição auxiliar de julgamento. Apenas quando se julga uma combinação de ondas múltiplas ou de ondas vazias, o lado de fechamento pode fazer mais no dia em que o preço de fechamento excede a linha média de 200 dias acima, e o lado de fechamento pode fechar o dia em que o preço de fechamento cai abaixo da linha média de 200 dias abaixo.
Depois de emitir mais um sinal de vazio, retire-se da posição com cinco ondas na direção oposta.
A estratégia integra os benefícios da teoria da oscilação e dos indicadores de acompanhamento de tendências, e é excelente para capturar os pontos críticos do mercado e controlar o risco de negociação. No entanto, a eficácia sob situações complexas ainda precisa ser otimizada, pois apenas a informação de preços é considerada.
/*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")