이 전략은 동적인 스톱 스톱 스로스를 사용하여 거래한다. 스톱 스로스는 현재 가격과 변동률에 따라 실시간으로 조정된다.
구체적인 거래 논리:
특정 주기 (예: 20일) 의 평균 실제 변동폭 ATR을 계산한다
상점 상태에서, 스톱 스톱 손실은 ATR의 배수를 빼고 최고 가격입니다
하향상태에서, 스톱포스트는 ATR 곱하기 최저 가격입니다.
정지지점을 넘어서서 반전 거래
가격의 정지 지점을 통과하면 트렌드 상태가 변경됩니다.
새로운 상태에 따라 중지 중지 손실을 조정합니다.
이 전략은 ATR의 자동으로 설정된 스톱로스 포지션을 최대한 활용하여 동적 추적을 가능하게 한다.
ATR 자동으로 스톱 스톱 손실을 계산합니다.
동적 조정, 실시간 가격 추적
적당히 손해제기를 하고, 위험을 통제하는 방법
ATR 변수는 반복 테스트를 통해 최적화되어야 합니다.
너무 가까이서 손상을 입으면 손상을 입을 수 있습니다.
ATR 값의 실시간 변화에 주의해야 합니다.
이 전략은 ATR를 사용하여 동적으로 스톱 스톱 손실을 설정하여 자동 추적을 구현합니다. ATR 매개 변수를 최적화하면 더 나은 스톱 손실 효과를 얻을 수 있습니다. 그러나 너무 가까운 스톱 손실은 신중하게 사용해야합니다.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Dhananjay Volatility stop strategy v1.0", overlay=true)
length = input(20)
mult = input(1)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? green : red, style=line, linewidth=2)
bearish = close < vstop
bullish = close > vstop
if (bullish)
strategy.entry("Buy", strategy.long, 1)
if (bearish)
strategy.entry("Sell", strategy.short, 1)