この記事では,ダーバスボックスと25期移動平均値 (MA25) を組み合わせたトレンドフォロー取引システムを紹介する.この戦略は,ボックス形成を通じて価格統合ゾーンを特定し,ブレイアウト中に強い市場動きを把握するために移動平均値でトレンドを確認する.システムの設計は,トレンド継続と偽ブレイアウトフィルタリングを徹底的に考慮し,トレーダーに市場入出の完全な枠組みを提供します.
戦略は3つの主要な要素から構成されています.
この戦略は,クラシックなダーバスボックス理論と移動平均トレンドを組み合わせて堅牢な取引システムを構築する.その主な利点は,複数のフィルタリングメカニズムを通じてリスクを制御しながら,トレンド市場を効果的に把握することにある.固有の遅れがあるにもかかわらず,この戦略は適切なパラメータ最適化とリスク管理を通じてトレンド市場で安定したパフォーマンスを達成することができる.トレーダーは,市場環境選択に焦点を当て,戦略を実施する際に実際の状況に基づいてパラメータを動的に調整することをお勧めする.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS") // Input for box length boxp = input.int(5, "BOX LENGTH") // Calculate 25-period moving average ma25 = ta.sma(close, 25) // Lowest low and highest high within the box period LL = ta.lowest(low, boxp) k1 = ta.highest(high, boxp) k2 = ta.highest(high, boxp - 1) k3 = ta.highest(high, boxp - 2) // New high detection NH = ta.valuewhen(high > k1[1], high, 0) // Logic to detect top and bottom of Darvas Box box1 = k3 < k2 TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0) BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0) // Plot the top and bottom Darvas Box lines plot(TopBox, linewidth=3, color=color.green, title="Top Box") plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box") plot(ma25, color=#2195f31e, linewidth=2, title="ma25") // --- Buy and Sell conditions --- // Buy when price breaks above the Darvas Box AND MA15 buyCondition = ta.crossover(close, TopBox) and close > ma25 // Sell when price drops below the Darvas Box sellCondition = ta.crossunder(close, BottomBox) // --- Buy and Sell Signals --- // Plot BUY+ and SELL labels plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY") plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL") // --- Strategy execution --- if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy")