Strategi Perdagangan Kuantitatif Berdasarkan Awan Ichimoku dan Moving Average

Penulis:ChaoZhang, Tanggal: 2024-02-20 17:12:35
Tag:

img

Gambaran umum

Strategi ini menggabungkan indikator Ichimoku Cloud dan indikator rata-rata bergerak untuk menerapkan strategi perdagangan kuantitatif yang sederhana. Strategi ini menghasilkan sinyal beli ketika garis konversi berada di atas garis dasar dan harga penutupan berada di atas garis konversi. Strategi ini cocok untuk perdagangan jangka pendek aset volatilitas tinggi seperti cryptocurrency.

Logika Strategi

Ichimoku Cloud terdiri dari tiga garis: garis konversi, garis dasar dan rentang keterlambatan. Garis konversi mewakili harga rata-rata jangka pendek dan garis dasar mewakili harga rata-rata jangka panjang. Rentang keterlambatan biasanya adalah rata-rata konversi dan garis dasar. Ketika rata-rata jangka pendek lebih tinggi dari rata-rata jangka panjang, itu menunjukkan tren kenaikan.

Ichimoku Cloud juga berisi dua garis utama: Leading Span A dan Leading Span B. Mereka mewakili rentang rata-rata fluktuasi harga selama periode yang berbeda.

Strategi ini menggunakan garis konversi untuk menentukan arah tren keseluruhan dan garis utama untuk mengukur momentum. Ini menghasilkan sinyal perdagangan berdasarkan tren, momentum dan harga penutupan.

Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Menggunakan kombinasi indikator untuk memberikan sinyal yang andal.
  2. Hanya masuk pada penyeberangan yang kuat untuk menghindari sinyal palsu.
  3. Cocok untuk perdagangan aset volatile jangka pendek dengan potensi keuntungan yang tinggi.
  4. Logika sederhana yang mudah dimengerti dan dimodifikasi.
  5. Mudah diperluas ke model multi-faktor dengan lebih banyak indikator.

Risiko

Risiko utama dari strategi ini adalah:

  1. Harus mengatur stop loss untuk mengendalikan kerugian per perdagangan.
  2. Risiko pembalikan harga. Harga dapat membalik setelah sinyal dipicu. Dapat melonggarkan kondisi penahan untuk mengurangi risiko ini.
  3. Risiko optimasi parameter. hasil sensitif terhadap parameter. perlu pengujian kombinasi yang komprehensif untuk menemukan yang optimal.
  4. Risiko overfitting. mungkin berkinerja sangat baik secara historis tapi gagal dalam perdagangan yang sebenarnya. perlu membatasi kombinasi parameter.

Peluang Peningkatan

Beberapa cara di mana strategi ini dapat ditingkatkan:

  1. Uji kombinasi lebih banyak indikator seperti KDJ, BOLL, MACD untuk menemukan parameter yang lebih baik.
  2. Masukkan mekanisme stop loss seperti stop loss bergerak atau x kali atr.
  3. Mengoptimalkan filter masuk dengan volume, volatilitas dll.
  4. Mengetatkan aturan kepemilikan dengan mengurangi periode kepemilikan atau meningkatkan target pengambilan keuntungan.
  5. Memperkenalkan pembelajaran mesin untuk menemukan kombinasi parameter optimal menggunakan jaringan saraf.

Kesimpulan

Singkatnya, ini adalah strategi perdagangan kuantitatif yang sangat sederhana yang menggabungkan Ichimoku Cloud dan moving average untuk menentukan tren dan momentum untuk sinyal perdagangan. Ini cocok untuk perdagangan aset volatile jangka pendek dengan potensi keuntungan yang baik. Tentu saja tidak ada strategi yang sempurna dan ini memiliki beberapa ruang untuk perbaikan melalui aturan masuk, stop loss, pemilihan parameter dll untuk membuatnya lebih kuat.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true)

len = input.int(50, minval=1, title="Length")
src = input(close, title="Source")
out = ta.ema(src, len)

conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
     title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

plot(out, title="EMA", color=color.white)

// Condition for Buy Signal
buy_signal = close > out and leadLine1 > leadLine2

// Condition for Sell Signal
sell_signal = close < out and leadLine2 > leadLine1

// Strategy entry and exit conditions
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Exit long position if candle closes below EMA 50
if (strategy.opentrades > 0)
    if (close < out)
        strategy.close("Buy")

// Exit short position if candle closes above EMA 50
if (strategy.opentrades < 0)
    if (close > out)
        strategy.close("Sell")


Lebih banyak