
この戦略は,平均真波幅 (ATR) を計算したチャネルをベースに取引する.具体的には,一定の周期のSMA平均線を計算し,ATR値を用いてチャネルを上下する,価格がチャネルを突破する上下する時に多めに,価格がチャネル下下する時に空白し,価格がSMA平均線を再び破る時に平仓する.
この戦略の核心的な論理は,平均真波幅 (ATR) チャンネルに基づいています.ATR指標は,市場の波動性や株価の動きを効果的に反映し,通常,止損線と利益目標の決定に使用されます.戦略は,まずnサイクル (デフォルト150サイクル) のSMA平均線を計算し,ATR値と参照系数に基づいてチャネルの上下軌道位置を決定します.具体的計算式は以下のとおりです.
上軌 = SMA平均線 + ATR値 × 上軌係数 ((デフォルト4) 下軌 = SMA平均線 - ATR値 × 下軌係数 ((デフォルト4)
株価が上昇して上線を突破すると,株価がトレンドチャネルに入ることを示し,株価が上昇し続けることを示し,このとき多行する.株価が下線を突破すると,株価が逆転して下行を始めることを示し,このとき空行する.平置シグナルは,株価が再びSMA平均線を下回るときにすべての多項を平定する.株価が再びSMA平均線を下回るときにすべての空項を平定する.
平均真波幅ATRをチャネル範囲の参照として使用することで,市場の変動をより正確に捉えることができる.ATRは市場の変動を効果的に測定し,より適切なチャネル範囲を設定することができます.
SMA平均線+ATRチャネル,ダブルフィルタリングにより,取引信号がより信頼性が高いことを保証する.価格がチャネルを突破して上下する時にのみ取引信号を発信し,不必要な偽信号を回避する.
パラメータ最適化により,株価の上昇・下降の機会を最大限に把握し,トレンドを利用することができる.チャネルの幅と周期は最適化できる設定である.
戦略の論理はシンプルでわかりやすく,実行しやすい.指標と通路の判断に基づく空白の考え方は非常に直感的です.
株価の上昇と低下の両方から利益を得ることができる.
通路突破取引は,キーノードで損失を伴う.突破が偽突破である場合,短期的には大きな損失が発生する可能性があります.
SMA平均線はシステム上のリスクが大きいため,市場の変化をタイムリーに反映できない. 価格は下落傾向に入っているかもしれないが,SMA平均線は転向していない.
ATRと係数パラメータの設定が不適切で,通路範囲の合理性に影響する.
多頭牛市では空頭取引が継続的に損益となる.逆に空頭熊市では多頭取引が継続的に損益となる.
リスクに対応する解決策:
取引頻度を適切に調整して偽突破のリスクを低減する.または,重要なポイントで損失を避けるために,第二層のフィルタリング条件を設定する.
MACD,KDJなどの他の指標と組み合わせて,SMAを二重確認し,システム的リスクを回避します.
パラメータを最適化し,適切なATR周期と通路係数を選択し,通路範囲を合理的に確保する.
大規模市場構造の判断により,トレンドの取引方向を選択する.牛市は多し,熊市は空する.
この戦略は以下の方向から最適化できます.
他の技術指標のフィルターを追加して,偽突破を避ける。通路突破の同時,MACD,KDJなどの指標の信号を検出して,多層確認を行う。
ATRと通路係数のパラメータを最適化して,通路範囲を現在の市場状態により適合させる.これは,最適なパラメータの組み合わせを決定するために大量に反省と最適化を必要とする.
単一取引の最大損失リスクを制御するために,自動ストップ戦略を追加.移動ストップは,一般的なオプションである.
トレンドが偏った時にタイムストップを行う.例えば,価格がSMA平均線から一定の範囲を超えたときにストップを行う.
より大きなレベルの市場構造分析指標と組み合わせて,多空市場が対応する方向の突破取引を区別する.例えば,周回線レベルでトレンドを決定し,その後,日中に突破取引を行う.
この戦略は,SMA平均線+ATRチャネル双線形式に基づいて,価格がチャネルを突破する時に相応の方向での取引を行う.これは典型的なチャネル突破戦略である.双指数フィルタリングが優れ,突破信号は比較的信頼性がある;欠点は,ある程度の偽突破のリスクがあることである.パラメータ最適化,止損策の追加,トレンド判断の組み合わせなどによってさらに改良することで,戦略をより信頼性があり,市場構造に適合し,より安定した収益を得ることができる.この戦略は,操作が簡単であり,探索と最適化の価値があります.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 30m
basePeriod: 15m
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/
// © omererkan
//@version=5
strategy(title="ATR Channel Breakout")
smaLength = input.int(150, title="SMA Length")
atrLength = input.int(30, title="ATR Length")
ubOffset = input.float(4, title="Upperband Offset", step=0.50)
lbOffset = input.float(4, title="Lowerband Offset", step=0.50)
smaValue = ta.sma(close, smaLength)
atrValue = ta.atr(atrLength)
upperBand = smaValue + (ubOffset * atrValue)
lowerBand = smaValue - (lbOffset * atrValue)
plot(smaValue, title="SMA", color=color.orange)
plot(upperBand, title="UB", color=color.green, linewidth=2)
plot(lowerBand, title="LB", color=color.red, linewidth=2)
enterLong = ta.crossover(close, upperBand)
exitLong = ta.crossunder(close, smaValue)
enterShort = ta.crossunder(close, lowerBand)
exitShort = ta.crossover(close, smaValue)
if enterLong
strategy.entry("Long", strategy.long)
if enterShort
strategy.entry("Short", strategy.short)
if exitLong
strategy.close("Long", "Close Long")
if exitShort
strategy.close("Short", "Close Short")