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.
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:
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.
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)