그라디언트 트레일링 스톱 로스 전략은 위험 통제와 수익 취득을 균형을 맞추기 위해 스톱 로스 라인을 동적으로 조정합니다. 스톱 로스 라인을 계산하기 위해 평균 진실 범위 (ATR) 를 사용하여 가격 추세를 효과적으로 추적하여 불필요한 스톱 아웃을 줄이는 동안 이익을 보호합니다. 이 전략은 강한 추세를 보이는 주식에서 잘 작동하며 안정적인 수익을 창출 할 수 있습니다.
이 전략은 동적 스톱 로스의 기초로 평균 참 범위 (ATR) 를 사용합니다. ATR은 주식의 변동성을 효과적으로 반영합니다. 전략은 먼저 ATR 기간을 입력으로, 일반적으로 10 일으로 사용합니다. 그 다음 ATR 값이 계산됩니다. 가격이 상승함에 따라 스톱 로스 라인이 또한 가격을 따라 올라갑니다. 가격이 떨어지면 스톱 로스 라인은 이익을 잠금하기 위해 변하지 않습니다. 또한 전략은
특히, 전략은 현재 ATR을 계산하고, 그 다음 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)