この戦略は,リスク管理のために動的ストップ損失線を計算するためにATR指標を使用します.
ストップ・ロスの線は,ストップ・ロスの線を計算するためにATRインジケーターを使用する.価格が上昇すると,ストップ・ロスの線は価格とともに上昇して利益をロックする.価格が下がると,ストップ・ロスの線は停止されないまま,停止されるのを避ける.ATRインジケーターは市場変動とリスクを測定することができます.係数で倍するとストップ・ロスの線が生成され,それによって取引毎のリスク露出を制御します.
この戦略は,動的ストップ損失線を計算するためにATR指標とHighest関数を使用します. 具体的な式は:
TS=highest(high-Mult*atr(Atr),Hhv)
Atr は ATR 周期パラメータ,Hhv は Highest 関数の lookback 周期パラメータ,Mult は ATR 係数である.
論理は,まずATR値を計算し,それをMult係数で掛けると,ストップ損失バッファゾーンの範囲が得られる.その後,過去Hhv期間の最高値を見つけるためにHighest関数を使用して,ストップ損失バッファゾーンを引いて動的ストップ損失線TSを得ます.
価格が上昇すると,最高値が常に更新され,ストップ・ロスの線が上昇し,利益が固定されます.価格が下がると,ストップ・ロスの線は前回の高点を維持し,ストップ・アウトを避けます.
ストップ・ロスは,価格上昇後最高値を追跡するために動的に調整され,タイミングで利益を得ることができます.これは固定ストップ・ロスよりも優れています.
固定ストップ損失線は,通常の引き下げまたは過密ストップによって容易に引き起こすことができます.この戦略は,不必要なストップを避けるために価格の下落中にストップ損失を変化させません.
ATR 期間と倍数パラメータを調整することで,ストップ損失調整の感度が異なるストップ度で制御できます.
ATRは,ストップ・ロスの範囲を動的に計算し,取引ごとにリスク管理のために市場変動に応じて合理的なストップ・ロスの範囲を可能にします.
波動性がピークに達すると,ATRは急速に上昇し,ストップ・ロスは急上昇し,不必要なストップの確率を増やす.ATR期間を調整してラインを敏感化させることができます.
戦略は急激な逆転に適応するのに苦労します.ストップ・ロスは遅すぎることになり,タイミングでポジションを削減する必要があります.
ATR期,最高期,倍数パラメータを組み合わせて最適化することは困難である.段階的なパラメータスイープテストが推奨される.
ATR 期間を延長し,停止ラインの過度に頻繁な調整を減らすが,停止ごとにより大きな損失を伴う.
線を安定させるため,最高回数を増加させ,速度を均衡させる.
適正なATR倍数値を 楽器の特徴に応じて選択する. 大きい倍数値はストップを拡大し,小さいものはストップあたりの損失を減少させる.
トレンドフィルターを追加すると,逆転によってストップが引き起こす可能性が減少します.
この戦略は,動的ストップと制御可能なリスクの利点があります. 傾向市場に適合しますが,変動のピークや難しいパラメータ最適化に注意してください.適切な設定,最適化および追加の技術により,ライブ取引に適用できます.
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ceyhun //@version=4 strategy("ATR Trailing Stoploss Strategy ",overlay=true) Atr=input(defval=5,title="Atr Period",minval=1,maxval=500) Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500) Mult=input(defval=2.5,title="Multiplier",minval=0.1) Barcolor=input(true,title="Barcolor") TS=highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close) Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black)) barcolor(Barcolor? Color:na) plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss") Buy = crossover(close,TS) Sell = crossunder(close,TS) if Buy strategy.entry("Buy", strategy.long, comment="Buy") if Sell strategy.entry("Sell", strategy.short, comment="Sell")