Strategi Dagangan Awan Ichimoku Kuantitatif

Penulis:ChaoZhang, Tarikh: 2023-12-21 15:33:05
Tag:

img

Ringkasan

Strategi ini berdasarkan Ichimoku Cloud, penunjuk trend terkenal dalam analisis teknikal, untuk menentukan trend pasaran dan menjana isyarat perdagangan dengan memerhatikan hubungan silang antara Garis Penukaran, Garis Asas dan Garis Awan dari sistem Ichimoku. Ia sesuai untuk peniaga yang ingin mengesan trend jangka menengah di pasaran.

Logika Strategi

Komponen utama strategi ini adalah tiga garis dari sistem Awan Ichimoku: Garis Penukaran, Garis Asas dan Garis Awan. Garis Penukaran mewakili tindakan harga jangka pendek, Garis Asas menunjukkan trend jangka menengah, sementara Awan memvisualisasikan kawasan sokongan dan rintangan. Strategi mengenal pasti trend pasaran dan peluang perdagangan dengan mengesan persilangan antara ketiga-tiga elemen ini.

Khususnya, peraturan utama strategi ini ialah:

  1. Apabila garis asas melintasi di atas Awan, trend menaik muncul dalam jangka menengah, pergi panjang.

  2. Apabila garis penukaran melintasi di atas awan, harga mula bangkit semula jangka pendek, pergi panjang.

  3. Apabila garis asas melintasi di bawah Awan, trend menurun muncul, pergi pendek.

  4. Apabila garis penukaran melintasi di bawah Awan, harga mula jatuh jangka pendek, pergi pendek.

Di samping itu, persilangan antara harga dan Cloud Lines bertindak sebagai penapis untuk isyarat perdagangan. Hanya apabila kedua-dua Garis Penukaran / Asas dan harga melintasi awan bersama-sama, isyarat yang sah akan dihasilkan.

Analisis Kelebihan

Jika dibandingkan dengan satu indikator seperti purata bergerak, kelebihan terbesar strategi ini adalah menggabungkan data dari pelbagai jangka masa untuk mengesan perubahan trend. Garis Penukaran menunjukkan pergerakan jangka pendek, Garis Asas bergerak pertengahan dan Awan mendedahkan tahap sokongan / rintangan jangka panjang. Gabungan mereka mengenal pasti titik perubahan dengan lebih tepat. Juga, mekanisme penapisan yang melekat pada Ichimoku mengurangkan whipsaws dari bunyi pasaran, yang membolehkan kita menangkap trend yang lebih besar.

Analisis Risiko

Risiko terbesar adalah bahawa sistem Ichimoku sensitif terhadap parameter input. Tetapan yang tidak sesuai boleh menghasilkan isyarat yang buruk dengan kerap. Juga, awan cenderung rata semasa tempoh yang terikat julat, menyebabkan isyarat yang tidak pasti. Pembukaan pesanan yang kerap dan berhenti boleh menimbulkan bayaran komisen yang besar. Di samping itu, perdagangan jangka menengah datang dengan risiko kerugian yang lebih besar setiap perdagangan, yang memerlukan kawalan risiko yang ketat.

Untuk mengurangkan risiko, kita boleh menyesuaikan campuran parameter, menetapkan tahap stop loss / mengambil keuntungan atau menggabungkan Ichimoku dengan penunjuk lain.

Peluang Peningkatan

Terdapat beberapa cara kita boleh meningkatkan strategi ini:

  1. Mengoptimumkan kombinasi parameter untuk mencari yang paling sesuai untuk instrumen perdagangan yang berbeza.

  2. Tambah syarat penapisan dengan penunjuk lain untuk menguatkan pengesahan trend.

  3. Menggabungkan mekanisme stop loss seperti trailing stop atau time stop untuk mengawal kerugian perdagangan tunggal.

  4. Gabungkan dengan pendekatan perdagangan ayunan untuk menyesuaikan masa kemasukan dalam trend yang lebih besar.

Kesimpulan

Strategi Ichimoku Cloud mengenal pasti trend jangka menengah menggunakan persimpangan Garis Pengubahsuaian / Asas terhadap Awan. Berbanding dengan penunjuk tunggal, ia menggabungkan beberapa jangka masa untuk pengesanan perubahan trend yang boleh dipercayai. Penapisan bunyi yang melekat juga mengelakkan whipsaws. Dengan penyesuaian parameter dan pengurusan risiko yang betul, strategi ini dapat menghasilkan pulangan berlebihan yang stabil dalam jangka panjang. Ia sesuai untuk peniaga trend yang berpengalaman dengan tempoh memegang jangka menengah.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=100000, currency=currency.USD)


conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(leadLine1, offset = displacement, color=green,
 title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red, 
 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)



maxlead = max(leadLine1, leadLine2)
minlead = min(leadLine1, leadLine2)

//rules
A = baseLine> maxlead[displacement]
B = crossover(baseLine,  maxlead[displacement])

C = baseLine< minlead[displacement]
D = crossunder(baseLine, minlead[displacement])


E = conversionLine> maxlead[displacement]
F = crossover(conversionLine, maxlead[displacement])

G = conversionLine< minlead[displacement]
H = crossunder(conversionLine, minlead[displacement])


I = close>  maxlead[2*displacement]
J = crossover(close, maxlead[2*displacement])

K = close<minlead[2*displacement]
L = crossunder(close, minlead[2*displacement])


//strategies
if A 
    if E
        strategy.entry("Buy", strategy.long, when= J)
if A 
    if I
        strategy.entry("Buy", strategy.long, when= F)
if E 
    if I
        strategy.entry("Buy", strategy.long, when= B)

if C
    if G
        strategy.entry("Sell", strategy.short, when=L)
if C
    if K
        strategy.entry("Sell", strategy.short, when=H)
if G
    if K
        strategy.entry("Sell", strategy.short, when=D)

//EOS


Lebih lanjut