
この戦略は,ATR指標を用いて動的ストップラインを計算し,リスク管理の目的を達成する.
この戦略は,ATR指標を使用して動的ストップラインを計算し,価格が上昇すると,ストップラインは価格上昇に合わせて上昇し,利益のロックを実現する.価格が下がると,ストップラインは変わらないので,ストップレードが退出しない.ATR指標は,市場の波動性とリスクを測定し,係数の後にストップラインを生成し,各リスクの穴を制御する.
この策略はATR指標とHighest関数の組み合わせを用いて動的ストップローンを計算する.具体的計算式は以下の通りである.
TS=highest(high-Mult*atr(Atr),Hhv)
中では,Atr はATR周期パラメータ,Hhv はHighest 函数で周期パラメータを検索し,Mult はATR係数である.
この公式の計算方法は,まずATR指標の値を計算し,係数Multで止損キャッシュ区間の範囲を得ることである.次にHhv周期内の最高値をHighest関数で求め,止損キャッシュ区間の範囲を減算して,動的止損線TSを得ることである.
価格が上昇すると,最高価格が絶えず高を創り,止損線を上方へ移動させ,利益をロックする.価格が下がると,止損線は以前の高点を保持し,止損退出を回避する.
この戦略のストップラインは動的に調整され,価格上昇後の最高点を追跡することができ,利益のタイムリーロックを実現します. 固定ストップに比べて優れている.
価格が正常に逆転したり,ストップが過密になったときに,固定ストップラインは取引停止を誘発されやすい.この戦略は価格が下がったときにストップラインを変わらないようにして,不必要なストップアウトを避ける.
ATR周期パラメータと係数パラメータを調節することにより,止損ラインの調整の感度を制御し,異なるレベルの止損を実現することができる.
ストップラインの範囲はATRによって動的に計算され,市場の変動に応じて合理的なストップ幅を設定することができ,その結果,各単位のリスクを制御する.
市場情勢が激しく波動すると,ATRは急速に上昇し,ストップラインも急速に上昇し,無意味なストップの確率を高めます.このとき,ATR周期パラメータを適切に調整し,ストップラインの調整の感度を下げる必要があります.
この戦略は大幅な市場逆転に対応するのが困難であり,この時点でストップ・ローンが遅滞しすぎることが考えられ,ポジションの回避リスクを早期に減らすべきである.
ATR周期,Highest周期および係数パラメータは総合的な最適化が必要で,最適化が難しい.ステップアップ最適化法による多組み合わせテストを採用することが推奨されている.
ATR周期パラメータを適正に拡大することで,ストップラインが頻繁に調整される場合を減らすことができるが,単価損失を増加させる.
Highest周期パラメータを拡大すると,ストップラインがより安定化できますが,追跡速度を相殺する必要があります.
各種の特性に合わせて適切な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")