グラディエント・トレーリング・ストップ・ロスの戦略は,リスク制御と利益採取のバランスをとるためにストップ・ロスのラインを動的に調整する.ストップ・ロスのラインを計算するために平均真要範囲 (ATR) を使用し,価格動向を効果的に追跡し,不必要なストップアウトを削減しながら利益を保護する.この戦略は強いトレンドを持つ株式にうまく機能し,安定した収益を生むことができます.
この戦略は,動的なストップロスの基礎として平均真数範囲 (ATR) を使用する.ATRは,株の変動を効果的に反映する.戦略はまず,ATR期間を入力として,通常は10日とする.その後,ATR値が計算される.価格が上昇するにつれて,ストップロスの線も価格を追いかけるために上昇する.価格が下がると,ストップロスの線は利益をロックするために変化しないまま残ります.また,戦略は
ストップ・ロスの距離を計算し,それを因数で掛け算する.価格がストップ・ロスの価格以上であれば,ロングポジションが開かれる.価格が以下であれば,ショートポジションが開かれる.したがって,ストップ・ロスの線は価格を緊密にフォローし,グラデント・トレリング効果を達成する.
Gradient Trailing Stop Loss 戦略は,ストップ損失距離を動的に調整することによってリスクと利益を効果的にバランスする.単純な論理と高い構成性により,アルゴリズム取引に適している.適切なパラメータチューニングと指標組み合わせは依然として人間の専門知識に依存している.さらなる最適化は,この戦略をより利益をもたらすことができる.
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy, by Ho.J.", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15) // 백테스팅 시작일과 종료일 입력 startYear = input(2020, title="Start Year") startMonth = input(1, title="Start Month") startDay = input(1, title="Start Day") endYear = input(9999, title="End Year") endMonth = input(12, title="End Month") endDay = input(31, title="End Day") // 백테스팅 시간 범위 확인 backtestingTimeBool = (year >= startYear and month >= startMonth and dayofmonth >= startDay) and (year <= endYear and month <= endMonth and dayofmonth <= endDay) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) var bool longCondition = false var bool shortCondition = false if backtestingTimeBool prevDirection = direction[1] if direction < 0 longCondition := false shortCondition := true else if direction > 0 longCondition := true shortCondition := false if longCondition strategy.entry("My Long Entry Id", strategy.long) if shortCondition strategy.entry("My Short Entry Id", strategy.short) plot(strategy.equity, title="equity", color=color.rgb(255, 255, 255), linewidth=2, style=plot.style_area)