ドンチアン・チャネル 戦略を踏まえて長期的動向

作者: リン・ハーンチャオチャン,日付: 2024-01-15 14:48:03
タグ:

img

概要

この戦略は,ドンチアンチャネルに基づく長期的トレンドフォロー戦略である. ドンチアンチャネルの上下帯を使用して価格ブレイクを見つけ,ブレイクが発生すると市場に参入する.また,中帯を出口ポジションのトレーリングストップとして使用する.この戦略は,明確なトレンドを有する市場に適しており,高い利益を得るために長期的トレンドを捕捉することができる.

戦略の論理

この戦略は20期間の長さを持つドンキアンチャネルを使用する.上帯は過去20期間の最高値であり,下帯は過去20期間の最低値である.中帯の既定長さは上帯と下帯の2倍であるが,同じ長さで設定することもできる.価格が上帯を超えるとロング.価格が下帯を下回るとショート.価格が中帯を下回るとロング・ポジションを退出する.価格が中帯を下回るとショート・ポジションを退出する.

中間帯の長さは,トレンドがあるときに収益性の高いポジションを走行する余地が高くなり,利益も上がります.実際,上下帯の2倍の長さの中間帯は,ワイルダーが推奨する3xATRトレーリングストップに非常に近いものです.この中間帯の長さは,トレンドフォロー戦略のための代替トレーリングストップ方法として機能することができます.

利点分析

この戦略の利点は次のとおりです.

  1. シンプルな論理で 分かりやすく実行できます
  2. ドンチアン・チャネルは 信頼性が証明された 典型的な傾向指標です
  3. 中間帯の後延停止はリスクを効果的に制御するのに役立ちます.
  4. 明確な傾向のある市場で使用すると高い利益を得ることができます.
  5. 代替的なトレーリング・ストップ方法により 利益は長続きします

リスク分析

この戦略にはいくつかのリスクもあります:

  1. トレンドフォロー戦略として,市場における強いトレンド動きに依存し,様々な市場で影響を受けることがあります.
  2. 中央帯の尾行ストップは 時には幅が大きくなり 損失が大きくなります
  3. 傾向の逆転を正確に判断できず,傾向が逆転すると大きな損失をもたらす可能性があります.

リスクは,中間帯長を細かく調整したり,他のストップ損失方法を組み込むことで軽減できます.エントリーロジックの追加のフィルターは,不要な取引を避けるのに役立ちます.

オプティマイゼーションの方向性

この戦略を最適化する方法:

  1. ドンチアン運河のパラメータを より多くの市場に最適化
  2. 傾向の検出とエントリの精度を向上させるために他の指標を組み込む.
  3. 中間帯のストップロジックを改良して より堅牢にする
  4. 取引の頻度を減らすためにフィルターを追加します

結論

概要すると,これは,トレンド方向とエントリのためのドンチアンチャネルを使用して,中間帯のトレーリングストップを使用して,非常にシンプルな長期トレンドフォロー戦略です. 強いトレンド市場で使用すると高い利益を達成することができます. しかし,戦略をより堅牢にするためにパラメータチューニングとストップ損失最適化を通じて対処する必要があるリスクもあります.


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Donchian Channels Strategy - Long Term Trend
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy("Donchian Channels Strategy - Long Term Trend", shorttitle="Donchian Channels LT Strategy", overlay=true)

length = input(20, title="Donchian Channel length")
option = input("double", title="Middleband length: regular or double", options=["regular","double"])

upperband = highest(high, length)[1]
lowerband = lowest(low, length)[1]
middlebandLength = option=="double"?length*2:length
middleband = avg(highest(high, middlebandLength)[1], lowest(low, middlebandLength)[1])

//Plots
ubP = plot(upperband, title="Upperband", style=plot.style_line, linewidth=2)
lbP = plot(lowerband, title="Lowerband", style=plot.style_line, linewidth=2)
mbP = plot(middleband, title="Middleband", style=plot.style_line, color=color.maroon, linewidth=2)

//Strategy
buy = close > upperband
sell = close < middleband
short = close < lowerband
cover = close > middleband

strategy.entry(id="enter long", long=true, when=buy)
strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
strategy.close(id="enter short", comment="exit short", when=cover)

もっと