この戦略は,イチモク・クラウドをベースとした定量的な取引システムである.主にリーディング・スペンAとリーディング・スペンBの間のクロスオーバー信号を使用して,市場のトレンド方向を決定し,取引信号を生成する.この戦略は,市場トレンドのターニングポイントを効果的に把握するためにドンチアンチャネル計算原理を組み込み,ダイナミックな価格範囲評価方法を採用する.
戦略の基本論理は次の主要な要素に基づいています
取引シグナルは,次の条件で起動する.
この戦略は,クラシックな技術分析ツールを組み合わせ,多次元的なトレンド分析を通じて市場機会を把握する定量的な取引システムである. 固有の遅れがあるが,全体的に良い信頼性と適応性を示している. 継続的な最適化と改善を通じて,戦略は異なる市場条件で安定したパフォーマンスを維持する可能性がある.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d 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/ // © mrbakipinarli //@version=6 strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true) // Inputs for Ichimoku Cloud 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") // Functions donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) // Ichimoku Components conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) // Plotting Ichimoku Components plot(conversionLine, color=color.new(#2962FF, 0), title="Conversion Line") plot(baseLine, color=color.new(#B71C1C, 0), title="Base Line") plot(close, offset = -displacement + 1, color=color.new(#43A047, 0), title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=color.new(#A5D6A7, 0), title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#EF9A9A, 0), title="Leading Span B") // Kumo Cloud 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)) // Trading Logic longCondition = ta.crossover(leadLine1, leadLine2) shortCondition = ta.crossunder(leadLine1, leadLine2) if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)