
Strategi ini adalah strategi pengenalan dan perdagangan yang direka berdasarkan Ikimoku Cloud dan nisbah Fibonacci emas. Strategi ini menggunakan garis penukaran, garis asas, Kumo Cloud dan garis kelewatan untuk menilai trend pasaran semasa, dan menggabungkan 1.618 dan 0.618 untuk menetapkan stop loss dan mengenal pasti kejutan pasaran.
Indeks awan terdiri daripada empat bahagian: garis peralihan, garis dasar, awan dan garis kelewatan. Di antaranya, garis peralihan dan garis dasar dikira dengan purata harga tertinggi dan terendah dalam tempoh yang berbeza. Awan dibentuk oleh 26 kitaran pergerakan ke hadapan garis dasar, dan garis kelewatan adalah 26 kitaran pergerakan ke belakang harga penutupan.
Syarat-syarat untuk membuka posisi dalam strategi ini adalah seperti berikut:
Syarat untuk membuka kedudukan kosong adalah bertentangan dengan syarat untuk membuka kedudukan berjumlah banyak.
Penetapan kedudukan henti menggunakan dua perpecahan emas 1.618 dan 0.618; henti kepala kosong digunakan untuk mengenal pasti pasaran bergolak, apabila awan hijau dan henti kepala kosong adalah 0.618 dan di bawah 1.618 dianggap sebagai pasaran bergolak.
Selain daripada satu petanda awan, strategi ini juga memperkenalkan dua garis tengah untuk menyaring isyarat palsu. Garis tengah dikira oleh purata harga tertinggi dan terendah untuk tempoh yang berbeza.
Strategi ini secara inovatif menggabungkan satu petanda awan dan kadar pembahagian emas untuk membentuk satu set lengkap pengenalan trend dan sistem perdagangan. Pada masa yang sama, pengenalan penapis garis tengah tambahan dapat meningkatkan kualiti isyarat hingga ke tahap tertentu. Kelebihan strategi ini adalah kemampuan untuk menyesuaikan diri dengan baik dengan kedua-dua keadaan pasaran trend dan goyah, dan mengawal risiko dengan menghentikan kerugian secara dinamik. Tetapi strategi ini juga mempunyai beberapa kelemahan, seperti kekurangan sokongan teori, pengoptimuman nombor mungkin terlalu sesuai.
/*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)