Strategi Dagangan Kuantitatif Berdasarkan Awan Ichimoku dan Purata Bergerak

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

img

Ringkasan

Strategi ini menggabungkan indikator Ichimoku Cloud dan indikator purata bergerak untuk melaksanakan strategi perdagangan kuantitatif yang mudah. Ia menghasilkan isyarat beli apabila garis penukaran berada di atas garis asas dan harga penutupan berada di atas garis penukaran. Ia menghasilkan isyarat jual apabila garis penukaran berada di bawah garis asas dan harga penutupan berada di bawah garis penukaran. Strategi ini sesuai untuk perdagangan jangka pendek aset turun naik tinggi seperti mata wang kripto.

Logika Strategi

Awan Ichimoku mengandungi tiga garis: garis penukaran, garis asas dan rentang kelewatan. Garis penukaran mewakili harga purata jangka pendek dan garis asas mewakili harga purata jangka panjang. rentang kelewatan biasanya adalah purata penukaran dan garis asas. Apabila purata jangka pendek lebih tinggi daripada purata jangka panjang, ia menunjukkan trend menaik.

Awan Ichimoku juga mengandungi dua garis utama: Leading Span A dan Leading Span B. Mereka mewakili julat purata turun naik harga dalam tempoh yang berbeza. Apabila Leading Span A lebih tinggi daripada Leading Span B, ia menunjukkan peningkatan turun naik dan momentum menaik dalam jangka pendek.

Strategi ini menggunakan garis penukaran untuk menentukan arah trend keseluruhan dan garis utama untuk mengukur momentum. Ia menjana isyarat perdagangan berdasarkan trend, momentum dan harga penutupan. Ia pergi lama apabila terdapat trend menaik dan peningkatan turun naik dan pergi pendek apabila terdapat trend menurun dan turun naik turun.

Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan gabungan penunjuk untuk memberikan isyarat yang boleh dipercayai.
  2. Hanya masuk pada pelarian yang kukuh untuk mengelakkan isyarat palsu.
  3. Sesuai untuk perdagangan aset volatil jangka pendek dengan potensi keuntungan yang tinggi.
  4. Logik yang mudah difahami dan diubah.
  5. Mudah diperluaskan ke model pelbagai faktor dengan lebih banyak penunjuk.

Risiko

Risiko utama strategi ini ialah:

  1. Mistrade risiko. perlu menetapkan stop loss untuk mengawal kerugian setiap perdagangan.
  2. Risiko pembalikan harga. Harga boleh berbalik selepas isyarat dicetuskan. Boleh melonggarkan keadaan pegangan untuk mengurangkan risiko ini.
  3. Risiko pengoptimuman parameter. Hasilnya sensitif kepada parameter. Perlu ujian gabungan yang lengkap untuk mencari yang optimum.
  4. Risiko yang berlebihan. boleh melakukan dengan baik dalam sejarah tetapi gagal dalam perdagangan sebenar. perlu untuk mengehadkan kombinasi parameter.

Peluang Peningkatan

Beberapa cara di mana strategi ini boleh ditingkatkan:

  1. Uji kombinasi lebih banyak penunjuk seperti KDJ, BOLL, MACD untuk mencari parameter yang lebih baik.
  2. Menggabungkan mekanisme stop loss seperti pergerakan stop loss atau x kali atr.
  3. Mengoptimumkan penapis masuk dengan jumlah, turun naik dan lain-lain
  4. Mengetatkan peraturan memegang dengan mengurangkan tempoh memegang atau meningkatkan sasaran mengambil keuntungan.
  5. Memperkenalkan pembelajaran mesin untuk mencari kombinasi parameter optimum menggunakan rangkaian saraf.

Kesimpulan

Ringkasnya, ini adalah strategi perdagangan kuantitatif yang sangat mudah yang menggabungkan Ichimoku Cloud dan purata bergerak untuk menentukan trend dan momentum untuk isyarat perdagangan. Ia sesuai untuk perdagangan aset volatil jangka pendek dengan potensi keuntungan yang baik.


/*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 lanjut