ダイナミックストップ・ロース・トレイル戦略は,ストップ・ロース・トレイルの目的を達成するために,ユーザーによって設定されたATR係数と組み合わせて,ストップ・ロース・トレイルの基準値として株式の平均本値範囲 (ATR) を計算する.株価がトレイルラインを突破すると,伝統的なトレンド・トラッキング戦略を使用してロングポジションが確立され,株価がストップ・ロースラインを下回ると,両方向取引を通じて利益を得るために逆転戦略を使用してショートポジションが確立される.
この戦略は,主にATR技術指標を使用して,株価の平均的な実際の範囲を計算し,ユーザーによって入力されたATR係数をストックブレイクアウト購入とストップ損失販売の基準値として組み合わせます.具体的には,この戦略は,まず過去120日間の株のATR値を計算し,その後,ストップ損失販売基準価格,すなわちストップ損失ラインを取得するためにユーザーによって設定されたセールATR係数で倍増し,購入ATR係数で倍増し,購入基準価格,すなわちトレイルラインを取得します.当日の最高価格がトレイルラインを突破すると,トレンド追跡戦略を使用してロングポジションが確立されます.当日の最低価格がストップ損失ラインを下回り,ロングポジションを維持すると,逆転戦略を使用してショートポジションが確立されます.
ストップ・ロストラインとトレイルラインも描く.これらの2つのラインのポジションは,いくつかのダイナミックな追跡能力を持つ株価変動に応じて変化する.ATRインジケーターは,株価の平均的な真の変動範囲をよりよく反映することができる.ストップ・ロスト・トレイルラインを設定するためにATRインジケーターを使用することで,巨大な株価変動によって引き起こされる損失を一定程度避けるのに役立ちます.
要するに,これは典型的なストップ・ロスト・トレイル戦略である.主な考え方は,トレンド・トラッキングのためのATR指標に基づいてストップ・ロスト・ラインとトレイル・ラインを設定することである.この戦略の利点は,双方向取引が可能であり,ポジションが柔軟であることである.ATR指標はリスクを制御するのに役立ちます.非常に不安定な株式に適している.しかし,比較的単純な取引規則のためにいくつかの盲目追跡リスクがあります.不適切なパラメータ設定も戦略の有効性に影響します.将来の最適化は,戦略のパフォーマンスをより堅牢にするために,取引タイミングを改善し,ポジションサイズを制御し,過剰な取引を減らすなどに焦点を当てることがあります.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h 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/ // © phobo3s //@version=4 strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true) daysBack = input(defval=120, title="Days Back", type=input.integer) sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1) fromDate = timenow - (daysBack*24*60*60*1000) toDate = timenow ATR = atr(14) stopLossPoint = ATR * sellCoeff buyPoint = ATR * buyCoeff StoplossLine = close[1] - stopLossPoint[1] BuyLine = close[1] + buyPoint[1] if (high > BuyLine and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.long, comment="Gir") if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate ) strategy.entry("GG", strategy.short, comment="Çık") //longFlags = close < StoplossLine //shortFlags = close > BuyLine //plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red) //plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue) plot(StoplossLine) plot(BuyLine)