
Strategi ini adalah strategi identifikasi tren dan perdagangan yang dirancang berdasarkan indikator cloud Ichimoku yang digabungkan dengan rasio Fibonacci emas. Strategi ini menggunakan garis konversi, garis dasar, Kumo Cloud, dan garis lag untuk menilai tren pasar saat ini, dan menggabungkan dua rasio split emas 1.618 dan 0.618 untuk mengatur stop loss dan mengidentifikasi pasar yang bergoyang. Selain itu, strategi ini juga memperkenalkan dua garis tengah tambahan untuk memfilter sinyal palsu.
Indikator awan terdiri dari empat bagian, yaitu garis konversi, garis dasar, awan, dan garis penundaan. Di antaranya, garis konversi dan garis dasar masing-masing dihitung dari rata-rata harga tertinggi dan terendah dari periode yang berbeda. Awan terbentuk dari 26 siklus maju dari garis dasar, dan garis penundaan adalah 26 siklus mundur dari harga penutupan.
Kondisi untuk membuka posisi dalam strategi ini adalah sebagai berikut:
Kondisi untuk membuka posisi kosong adalah kebalikan dari posisi penuh.
Pengaturan posisi stop loss menggunakan dua rasio pemisahan emas 1.618 dan 0.618; stop loss multihead adalah pada arah atas awan dikurangi pada arah atas dan bawah jarak 1.618 kali, dan stop loss head kosong sebaliknya. Garis 0.618 digunakan untuk mengidentifikasi pasar bergoyang, ketika awan berwarna hijau dan garis 0.618 di bawah stop loss 1.618 pasar dianggap bergoyang.
Selain satu indikator awan, strategi ini juga memperkenalkan dua garis tengah untuk memfilter sinyal palsu. Garis tengah dihitung dari rata-rata harga tertinggi dan terendah untuk periode yang berbeda.
Strategi ini secara inovatif menggabungkan indikator cloud dan Gold Segmentation Rate untuk membentuk satu set lengkap dari identifikasi tren dan sistem perdagangan. Pada saat yang sama memperkenalkan filter garis tengah tambahan, dapat meningkatkan kualitas sinyal sampai batas tertentu. Keuntungan dari strategi ini adalah kemampuan untuk lebih baik beradaptasi dengan tren dan goncangan dua kondisi pasar, dan dengan kontrol risiko stop loss secara dinamis.
/*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)