この戦略は,ドンチアンチャネルに基づく長期的トレンドフォロー戦略である. ドンチアンチャネルの上下帯を使用して価格ブレイクを見つけ,ブレイクが発生すると市場に参入する.また,中帯を出口ポジションのトレーリングストップとして使用する.この戦略は,明確なトレンドを有する市場に適しており,高い利益を得るために長期的トレンドを捕捉することができる.
この戦略は20期間の長さを持つドンキアンチャネルを使用する.上帯は過去20期間の最高値であり,下帯は過去20期間の最低値である.中帯の既定長さは上帯と下帯の2倍であるが,同じ長さで設定することもできる.価格が上帯を超えるとロング.価格が下帯を下回るとショート.価格が中帯を下回るとロング・ポジションを退出する.価格が中帯を下回るとショート・ポジションを退出する.
中間帯の長さは,トレンドがあるときに収益性の高いポジションを走行する余地が高くなり,利益も上がります.実際,上下帯の2倍の長さの中間帯は,ワイルダーが推奨する3xATRトレーリングストップに非常に近いものです.この中間帯の長さは,トレンドフォロー戦略のための代替トレーリングストップ方法として機能することができます.
この戦略の利点は次のとおりです.
この戦略にはいくつかのリスクもあります:
リスクは,中間帯長を細かく調整したり,他のストップ損失方法を組み込むことで軽減できます.エントリーロジックの追加のフィルターは,不要な取引を避けるのに役立ちます.
この戦略を最適化する方法:
概要すると,これは,トレンド方向とエントリのためのドンチアンチャネルを使用して,中間帯のトレーリングストップを使用して,非常にシンプルな長期トレンドフォロー戦略です. 強いトレンド市場で使用すると高い利益を達成することができます. しかし,戦略をより堅牢にするためにパラメータチューニングとストップ損失最適化を通じて対処する必要があるリスクもあります.
/*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)