ドンチアンチャネルブレークアウト戦略は,価格チャネルをベースとしたトレンドフォロー戦略である.ドンチアンチャネルの上帯,下帯,中間線移動平均を使用して,価格トレンドとブレークアウトを決定し,買い売り信号を生成する.
この戦略は,まず,特定の期間の価格の最高高,最低低,および中間線移動平均を計算する.上下帯は価格チャネルを形成し,中間線はチャネルの真ん中に位置する.価格が中間線を突破すると,上向きの傾向を示し,ロングになります.価格が中間線を下に突破すると,下向きの傾向を示し,ショートになります.
具体的には,この戦略は次のステップで機能します.
上記の論理は,戦略の基本取引原理を記述します. 価格ブレイクによってトレンドを把握し,ピボットポイントで方向を切り替えます.
この戦略には以下の利点があります.
リスクもあります:
解決策:
この戦略は,次の側面においてさらに最適化することができる.
結論として,ドンキアンチャネルブレイクアウト戦略は,健全な理論的基礎,単純な論理,ブレイクアウトを通じてトレンドに乗る能力を持つ効果的なトレンドフォローシステムである.一方,そのようなブレイクアウトシステムの固有のリスクはパラメータチューニングとシグナルフィルタリングを必要とします.さらなる研究と最適化により,ドンキアン戦略は定量トレーダーにとってより堅牢で実践的になることができます.
/*backtest start: 2024-01-26 00:00:00 end: 2024-02-25 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "dc", overlay = true) testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2018, "Backtest Start Year") testEndMonth = input(12) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = input(20, "Period") dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 plot(dcLower, style=line, linewidth=3, color=red, offset=1) plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1) plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average") strategy.entry("simpleBuy", strategy.long, when=close > dcAverage) strategy.close("simpleBuy",when=close < dcLower) strategy.entry("simpleSell", strategy.short,when=close < dcAverage) strategy.close("simpleSell",when=close > dcAverage)