Ichimoku Cloud Strategi Pengesanan Tren Lokal

Penulis:ChaoZhang, Tarikh: 2024-03-19 15:10:59
Tag:

img

Ringkasan

Strategi ini adalah strategi pengenalan trend dan perdagangan berdasarkan penunjuk Awan Ichimoku yang digabungkan dengan Nisbah Fibonacci. Ia menggunakan Garis Penukaran, Garis Asas, Awan Kumo, dan Lagging Span dari penunjuk Awan Ichimoku untuk menentukan trend pasaran semasa, dan menggabungkan Nisbah 1.618 dan 0.618 Fibonacci untuk menetapkan tahap stop-loss dan mengenal pasti pasaran sampingan. Di samping itu, strategi memperkenalkan dua garis tengah tambahan untuk menapis isyarat palsu.

Prinsip Strategi

Indikator Awan Ichimoku terdiri daripada empat komponen: Garis Penukaran, Garis Asas, Awan Kumo, dan Lagging Span. Garis Penukaran dan Garis Asas dikira menggunakan purata tertinggi tertinggi dan terendah terendah dalam tempoh masa yang berbeza. Awan Kumo terbentuk dengan menggeser Garis Asas ke hadapan oleh 26 tempoh, dan Span Lagging adalah harga penutupan yang bergeser ke belakang oleh 26 tempoh.

Syarat masuk panjang untuk strategi ini adalah seperti berikut:

  1. Lagging Span berada di atas awan
  2. Garis penukaran lebih besar daripada garis asas
  3. Harga penutupan di atas paras stop-loss 1.618
  4. Baris 0.618 berada di atas paras stop-loss 1.618
  5. Harga penutupan di atas awan

Syarat kemasukan pendek adalah bertentangan dengan syarat kemasukan panjang.

Tahap stop-loss ditetapkan menggunakan nisbah 1.618 dan 0.618 Fibonacci. Untuk kedudukan panjang, stop-loss adalah tepi atas awan dikurangkan 1.618 kali jarak antara tepi atas dan bawah. Untuk kedudukan pendek, sebaliknya. Garis 0.618 digunakan untuk mengenal pasti pasaran sampingan. Apabila awan hijau dan garis 0.618 berada di bawah tahap stop-loss 1.618, pasaran dianggap berada dalam keadaan sampingan.

Sebagai tambahan kepada penunjuk Awan Ichimoku, strategi memperkenalkan dua garis tengah untuk menapis isyarat palsu.

Analisis Kelebihan

  1. Dengan menggunakan kedua-dua penunjuk harga dan trend, strategi dapat mengenal pasti lebih baik trend pasaran semasa.
  2. Memperkenalkan nisbah Fibonacci untuk menetapkan tahap stop-loss secara dinamik menjadikan risiko terkawal.
  3. Garis 0.618 dapat mengenal pasti pasaran sampingan dengan berkesan dan mengelakkan kemasukan yang kerap ke pasaran yang berbeza.
  4. Dua garis tengah tambahan dapat menapis isyarat palsu dan meningkatkan kualiti isyarat.
  5. Parameter boleh diselaraskan, menjadikan strategi sesuai untuk pasaran dan jangka masa yang berbeza.

Analisis Risiko

  1. Dalam keadaan pasaran yang melampau, seperti aliran menaik atau menurun yang kuat, penunjuk trend mungkin gagal, yang membawa kepada isyarat yang terdistorsi.
  2. Tahap stop loss adalah berdasarkan jarak awan. Apabila awan sangat nipis, ia boleh mengakibatkan stop loss terlalu dekat dengan harga masuk.
  3. Kaedah menggunakan nisbah Fibonacci untuk stop-loss dan garis 0.618 untuk menilai pasaran sampingan tidak mempunyai sokongan teori dan mungkin tidak boleh digunakan untuk semua pasaran.
  4. Pengoptimuman parameter boleh membawa kepada pemasangan berlebihan dan prestasi yang buruk di pasaran sebenar.

Arahan pengoptimuman

  1. Pertimbangkan untuk memperkenalkan lebih banyak penunjuk pengesahan trend, seperti purata bergerak, MACD, dan lain-lain, untuk meningkatkan lagi kualiti isyarat.
  2. Tetapan paras stop-loss boleh mengambil kira lebih banyak faktor, seperti ATR dan turun naik, untuk menjadikannya lebih dinamik dan diperibadikan.
  3. Untuk mengenal pasti pasaran sampingan, kaedah lain seperti penunjuk kekuatan trend ADX boleh dicuba.
  4. Kaedah pembelajaran mesin seperti algoritma genetik boleh digunakan untuk pengoptimuman parameter, dan ujian di luar sampel harus dijalankan untuk mengelakkan terlalu banyak.
  5. Ukuran kedudukan dan modul kawalan risiko boleh ditambah, seperti Kriteria Kelly dan risiko tetap, untuk meningkatkan ketahanan dan kebolehpercayaan strategi.

Kesimpulan

Strategi ini secara inovatif menggabungkan penunjuk Awan Ichimoku dengan Nisbah Fibonacci untuk membentuk sistem pengenalan trend dan perdagangan yang lengkap. Pengenalan garis tengah tambahan untuk penapisan dapat meningkatkan kualiti isyarat hingga tahap tertentu. Keuntungan strategi ini terletak pada kemampuannya untuk menyesuaikan diri dengan baik dengan kedua-dua keadaan pasaran yang sedang berkembang dan berkisar, dan untuk mengawal risiko melalui stop-loss dinamik. Walau bagaimanapun, strategi ini juga mempunyai beberapa kekurangan, seperti kekurangan sokongan teoritis dan potensi overfit dalam pengoptimuman parameter. Pada masa akan datang, strategi ini boleh ditingkatkan dengan memperkenalkan lebih banyak indikator, mengoptimumkan stop-loss dan pengukuran kedudukan, dan menggunakan pembelajaran mesin untuk pengoptimuman parameter. Secara keseluruhan, strategi ini mempunyai pendekatan inovatif dan patut dirujuk, tetapi ujian dan pengoptimuman lanjut diperlukan untuk aplikasi praktikal.


/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Lebih lanjut