
Strategi ini menggabungkan teori Eliot Oscillation dan 200 Average Daily Line Indicator untuk membolehkan perdagangan automatik yang mengikuti trend dan pulangan keuntungan. Logik asasnya adalah untuk menentukan arah trend apabila terdapat corak pergerakan yang membentuk Eliot Wave 5 dan menghantar isyarat perdagangan dengan 200 Average Daily Line sebagai syarat tambahan.
Teori gelombang Elliot membahagikan pergerakan harga pasaran kepada lima gelombang, gelombang ganjil sebagai gelombang daya dan gelombang pasangan sebagai gelombang pulangan. Apabila Wave1, Wave3 dan Wave5 naik secara berturut-turut, dan Wave2 dan Wave4 berturut-turut berturut-turut berturut-turut berturut-turut berturut-turut berturut-turut berturut-turut berturut-turut, maka strategi ini dilakukan. Sebaliknya, apabila Wave1, Wave3 dan Wave5 turun secara berturut-turut, dan Wave2 dan Wave4 berturut-turut berturut-turut berturut-turut berturut-turut, maka strategi ini dilakukan.
Strategi ini juga memperkenalkan indikator garis purata 200 hari sebagai kriteria penilaian tambahan. Hanya dalam menentukan kombinasi gelombang berbilang atau kosong, pihak penutupan boleh melakukan lebih banyak apabila harga melebihi garis rata-rata 200 hari di atas, dan pihak penutupan boleh melakukan kosong apabila harga jatuh di bawah garis rata-rata 200 hari di bawah.
Selepas mengeluarkan isyarat kosong, keluar dari kedudukan dengan lima gelombang ke arah yang bertentangan.
Strategi ini mengintegrasikan teori turun naik dengan kelebihan indikator trend-tracking, berfungsi dengan baik dalam menangkap titik-titik penting pasaran dan mengawal risiko perdagangan. Tetapi, kerana hanya mempertimbangkan maklumat harga, keberkesanannya masih perlu dioptimumkan dalam keadaan yang rumit.
/*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")