
この戦略は,一目平衡図 ((Ichimoku Cloud) と実際の波動幅の平均値 ((ATR) を組み合わせた完全な取引システムである.それは,雲図の構成要素を通じて市場のトレンドを認識し,同時にATRを利用して,動的にストップロスを調整し,トレンド追跡とリスク管理の有機的な組み合わせを実現している.この戦略は,動力と波動率の2つの次元である市場情報を融合させ,取引決定のための総合的な分析の枠組みを提供する.
戦略の核心的な論理は,一目均衡図の5つの線とATR指標の上に構築されている.システムは,変換線 ((Tenkan-Sen) と基調線 ((Kijun-Sen) の交差によって取引シグナルを誘発し,同時に価格が雲の正しい側 ((Senkou Span AとB) に位置することを要求し,遅延線 ((Chikou Span) によって確認される.具体的には:
ダイナミック・ウェーブ・クラウド・トレンドATRストップ戦略は,クラシックな技術分析ツールを融合した完全な取引システムである.それは,一目的な均衡図の複数の確認機構によってトレンドを識別し,ATRを利用して,ダイナミックなリスク制御を行うため,トレーダーに体系的な意思決定の枠組みを提供する.戦略には,一定の遅れやパラメータの感受性の問題があるが,合理的な最適化とリスク管理によって,トレンド市場において安定したパフォーマンスを得ることができる.戦略の可視化特性と明確な規則は,体系的な取引を実践したい投資家にとって特に適している.
/*backtest
start: 2024-09-01 00:00:00
end: 2025-02-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud + ATR Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
conversionPeriods = input.int(9, title="Tenkan-sen Period", minval=1)
basePeriods = input.int(26, title="Kijun-sen Period", minval=1)
laggingSpan2Periods = input.int(52, title="Senkou Span B Period", minval=1)
displacement = input.int(26, title="Displacement", minval=1)
atrLength = input.int(14, title="ATR Period", minval=1)
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop-Loss", minval=0.1, step=0.1)
// === Indicator Calculations ===
// Ichimoku Cloud
tenkan = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
kijun = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
senkouSpanA = ta.sma((tenkan + kijun) / 2, 1)
senkouSpanB = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
chikouSpan = close[displacement]
// ATR
atr = ta.atr(atrLength)
// === Entry Conditions ===
longCondition = ta.crossover(tenkan, kijun) and close > senkouSpanA and close > senkouSpanB and chikouSpan > close
shortCondition = ta.crossunder(tenkan, kijun) and close < senkouSpanA and close < senkouSpanB and chikouSpan < close
// === Entry Signals with Stop-Loss ===
if (longCondition)
longStop = close - (atrMultiplier * atr)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", stop=longStop)
if (shortCondition)
shortStop = close + (atrMultiplier * atr)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", stop=shortStop)
// === Exit Conditions ===
exitLongCondition = ta.crossunder(tenkan, kijun) or chikouSpan < close
exitShortCondition = ta.crossover(tenkan, kijun) or chikouSpan > close
if (exitLongCondition)
strategy.close("Long")
if (exitShortCondition)
strategy.close("Short")
// === Plotting Indicators on the Chart ===
// Ichimoku Cloud
plot(senkouSpanA, color=color.green, title="Senkou Span A")
plot(senkouSpanB, color=color.red, title="Senkou Span B")
fill(plot(senkouSpanA, color=color.green), plot(senkouSpanB, color=color.red), color=close > senkouSpanA ? color.new(color.green, 90) : color.new(color.red, 90), title="Ichimoku Cloud")
// Tenkan-sen and Kijun-sen
plot(tenkan, color=color.blue, title="Tenkan-sen")
plot(kijun, color=color.red, title="Kijun-sen")
// Chikou Span
plot(chikouSpan, color=color.purple, title="Chikou Span", offset=-displacement)
// ATR (hidden)
plot(atr, color=color.orange, title="ATR", linewidth=1, display=display.none)
// === Signal Visualization ===
// Markers for Long and Short entries
plotshape(series=longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// Markers for Long and Short exits
plotshape(series=exitLongCondition, title="Long Exit", location=location.abovebar, color=color.red, style=shape.labeldown, text="Exit Long")
plotshape(series=exitShortCondition, title="Short Exit", location=location.belowbar, color=color.green, style=shape.labelup, text="Exit Short")