
Ichimoku Cloud Trend Following Strategy adalah satu strategi analisis teknikal. Ia menggunakan lima garis penunjuk pada carta keseimbangan untuk menentukan arah trend pasaran, menyokong rintangan dan masa masuk ke dalam pasaran.
Kaedah utama dalam strategi ini ialah:
Apabila garis peralihan melintasi garis asas sebagai tanda beli; melintasi garis bawah sebagai tanda jual. Garis bergerak terletak di atas harga dan warna awan hijau adalah tren multi-kepala, jika tidak, ia adalah kosong.
Strategi menilai arah trend berdasarkan hubungan antara garis pertukaran dan garis rujukan. Sebagai contoh, garis pertukaran ke atas melanggar garis rujukan dinilai sebagai masuk ke dalam banyak kepala, di mana jika memenuhi syarat garis bergerak lebih tinggi daripada harga, maka akan menghasilkan isyarat beli.
Hentikan atau hentikan berdasarkan garis A atau garis asas. Jika anda memilih hentikan garis asas, tutup apabila harga jatuh di bawah garis asas.
Strategi ini mempunyai kelebihan berikut:
Risiko utama strategi ini adalah bahawa ia mudah menghasilkan isyarat palsu.
Strategi carta keseimbangan pertama merangkumi pelbagai petunjuk untuk menentukan pergerakan pasaran, mempertimbangkan pergerakan jangka pendek, dan juga memberi perhatian kepada trend jangka panjang. Hubungan antara garis peralihan dan garis asas untuk menentukan masa pasaran untuk membeli dan menjual, garis asas sebagai garis berhenti untuk mengunci keuntungan, dan dapat mengawal risiko dengan berkesan. Strategi ini sesuai untuk perdagangan yang mengikuti trend jangka panjang.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
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)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)
support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb
TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")
var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0
if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
strategy.entry("Long",strategy.long)
stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0
// strategy.close("Long")
// stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
strategy.close("Long")
stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
strategy.close("Long")
stopLong := 0.0
if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
strategy.entry("Short",strategy.short)
stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0
// strategy.close("Short")
// stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
strategy.close("Short")
stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
strategy.close("Short")
stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0
// strategy.close("Long")
// stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, 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))