
Strategi ini menggabungkan teori Elliott oscillation dan indikator 200-day average line untuk memungkinkan perdagangan otomatis yang melacak tren dan membalikkan keuntungan. Logika dasarnya adalah menentukan arah tren ketika pola oscillasi yang membentuk gelombang Elliott 5 muncul, dan mengirimkan sinyal perdagangan dengan 200-day average line sebagai kondisi tambahan.
Teori Elliott Wave membagi pergerakan harga pasar menjadi 5 gelombang, dengan gelombang ganjil sebagai gelombang momentum dan gelombang genap sebagai gelombang pengembalian. Strategi ini dilakukan ketika Wave1, Wave3, Wave5 naik secara berurutan dan Wave2, Wave4 secara berurutan melakukan pengembalian yang efektif, yang dinilai sebagai kombinasi gelombang naik, yang berada di pasar multihead. Sebaliknya, ketika Wave1, Wave3, Wave5 turun secara berurutan, dan Wave2, Wave4 secara berurutan melakukan pengembalian yang efektif, yang dinilai sebagai kombinasi gelombang kosong, yang berada di pasar kosong.
Strategi ini juga memperkenalkan indikator rata-rata 200 hari sebagai kriteria penilaian tambahan. Hanya dalam menentukan kombinasi gelombang multi-head atau kosong, pihak yang menutup hari dapat melakukan lebih banyak ketika harga menutup di atas rata-rata 200 hari di atas, dan pihak yang menutup hari jatuh di bawah rata-rata 200 hari di bawah.
Setelah melakukan lebih banyak sinyal kosong, keluar dari posisi dengan lima gelombang ke arah yang berlawanan.
Strategi ini mengintegrasikan teori fluktuasi dengan indikator pelacakan tren, dan berkinerja baik dalam menangkap titik-titik penting pasar dan mengendalikan risiko perdagangan. Namun, karena hanya mempertimbangkan informasi harga, efeknya masih harus dioptimalkan dalam situasi yang kompleks.
/*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")