
この戦略は,クラシックな市場クラウドの転向システム ((Ichimoku Kinko Hyo) による改良版であり,変換線と基準線の動的交差によって取引信号を識別する.この戦略は,従来の市場クラウドシステムの基礎に,自動取引信号の生成と実行の論理を追加し,市場トレンドの読みやすさを高めるためにビジュアルラベルと連携する.
戦略の核心は,市場クラウドシステムの5つの主要な曲線である:変換線 (第9サイクル),基準線 (第26サイクル),リードラインA,リードラインB (第52サイクル) と後退線である. 最も重要な取引シグナルは,変換線と基準線の交差から来る. 変換線上の基準線を横断するときに多行シグナルが生み出され,平仓を横断するときに平行シグナルが生み出されます. 戦略は,ダイナミックな唐津通路を使用して,各線を計算し,最高価格と最低価格の平均値を取って価格の変動を反映します.
この戦略は,従来の市場クラウドシステムを改良して,完全なトレンド追跡取引システムを構築した.ある程度の遅れがあるものの,信号フィルタリングとリスク管理の最適化により,トレンド市場で安定したパフォーマンスを得ることができる.トレーダーは,市場環境と個人リスクの好みと組み合わせて,実況で使用する際にパラメータを調整し,戦略のパフォーマンスを継続的に監視することを推奨する.
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy(title="Ichimoku Cloud with Lables", shorttitle="Ichimoku", 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)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span", display = display.none)
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))
if barstate.islast
label.new(bar_index+5,baseLine,style=label.style_none,xloc=xloc.bar_index,text="Base",color=color.white,textcolor=#B71C1C)
label.new(bar_index +8, conversionLine,style=label.style_none,xloc=xloc.bar_index,text="Conversion",color=color.white,textcolor=#2962FF)
label.new(bar_index+(displacement-1)+5,leadLine1,style=label.style_none,xloc=xloc.bar_index,text="Lead1",color=color.white,textcolor=#A5D6A7)
label.new(bar_index+(displacement-1)+5,leadLine2,style=label.style_none,xloc=xloc.bar_index,text="Lead2",color=color.white,textcolor=#EF9A9A)
// --- TRADING LOGIC ---
// 1) Detect bullish cross (Conversion crosses above Base)
longSignal = ta.crossover(conversionLine, baseLine)
// 2) Detect bearish cross (Conversion crosses below Base)
closeSignal = ta.crossunder(conversionLine, baseLine)
// 3) If bullish cross occurs, open a new long
if longSignal
strategy.entry("LongTK", strategy.long)
// 4) If bearish cross occurs, close the open long
if closeSignal
// Closes all orders opened with the ID "LongTK"
strategy.close("LongTK")