ATR 조정 가능한 후속 중지 손실 전략

저자:차오장, 날짜: 2023-10-25 15:08:04
태그:

img

이 전략은 ATR 지표를 사용하여 위험 통제를 위한 동적 스톱 로스 라인을 계산합니다.

전반적인 설명

이 전략은 동적 스톱 로스 라인을 계산하기 위해 ATR 지표를 사용합니다. 가격이 상승하면 스톱 로스 라인은 수익을 잠금하기 위해 가격과 함께 상승합니다. 가격이 떨어지면 스톱 로스 라인은 중단되는 것을 피하기 위해 변하지 않습니다. ATR 지표는 시장 변동성과 위험을 측정 할 수 있습니다. 계수에 곱하면 스톱 로스 라인을 생성하여 거래 당 위험 노출을 제어합니다.

원칙

이 전략은 동적 스톱 로스 라인을 계산하기 위해 ATR 지표와 가장 높은 함수를 사용합니다. 구체적인 공식은:

TS=highest(high-Mult*atr(Atr),Hhv) 

여기서 Atr는 ATR 기간 매개 변수, Hhv는 최고 함수의 룩백 기간 매개 변수, 그리고 Mult는 ATR 계수입니다.

논리는 먼저 ATR 값을 계산하고 Mult 계수에 곱하여 스톱 손실 버퍼 영역의 범위를 얻습니다. 다음 Hhv 기간의 가장 높은 높이를 찾기 위해 가장 높은 함수를 사용하여 동적 스톱 손실 라인 TS를 얻기 위해 스톱 손실 버퍼 영역을 빼는 것입니다.

가격이 상승할 때, 최고 최고가 지속적으로 업데이트되며, 스톱 로스 라인이 상승하여 이익을 잠금합니다. 가격이 떨어지면, 스톱 로스 라인은 정지되는 것을 피하기 위해 이전 최고점을 유지합니다.

장점

  1. 적시에 수익을 취하기 위한 동적 스톱 로스

스톱 로스 라인은 가격 상승 후 가장 높은 지점을 추적하기 위해 동적으로 조정되며 적시에 수익을 얻을 수 있습니다. 이것은 고정 스톱 로스보다 우수합니다.

  1. 불필요한 스톱 손실을 피합니다.

고정 스톱 로스 라인은 정상적인 인하 또는 과밀 스톱에 의해 쉽게 유발 될 수 있습니다. 이 전략은 불필요한 스톱을 피하기 위해 가격 하락 동안 스톱 로스를 변경하지 않습니다.

  1. 조절 가능한 스톱 손실 범위

ATR 기간과 멀티플리커 매개 변수를 조정함으로써, 정지 손실 조정의 감수성을 다른 차원의 정지에서 제어할 수 있다.

  1. 통제 가능한 위험

ATR은 동적으로 스톱 로스 범위를 계산하여 거래별로 리스크 통제를 위해 시장 변동성에 따라 합리적인 스톱 로스 범위를 허용합니다.

위험성

  1. 높은 변동성 중 너무 공격적인 스톱 로스

변동성이 급증할 때, ATR는 빠르게 상승하여 스톱 로스 라인을 빠르게 증가시켜 불필요한 스톱의 가능성을 증가시킵니다. ATR 기간은 라인을 덜 민감하게 만들기 위해 조정할 수 있습니다.

  1. 급격한 변동에 적응하기 어렵다

전략은 급격한 반전에 적응하기 위해 노력합니다. 손실 중지 라인은 너무 많이 뒤쳐질 수 있으며 적시에 위치 감소가 필요합니다.

  1. 최적화 어려움

ATR 기간, 최고 기간 및 곱셈 매개 변수를 함께 최적화하는 것은 어려울 수 있습니다. 단계적 매개 변수 스웨이프 테스트가 권장됩니다.

최적화

  1. ATR 기간을 최적화

ATR 기간을 늘려 너무 빈번한 정류선 조절을 줄이지만, 정류당 더 큰 손실의 대가로

  1. 최고 기간을 최적화

가장 높은 기간을 늘려 더 안정적인 라인을 만들기 위해, 하지만 균형 추적 속도.

  1. 각기 다른 ATR 계수를 테스트합니다.

기기 특성에 따라 적절한 ATR 곱셈을 선택하십시오. 더 큰 곱셈은 정지를 넓히고 더 작은 것은 정지 당 손실을 감소시킵니다.

  1. 트렌드 필터 추가

트렌드 필터를 추가하면 역전으로 인해 스톱이 발생할 확률이 낮아집니다.

요약

이 전략은 역동적 인 스톱과 제어 가능한 위험의 장점을 가지고 있습니다. 트렌딩 시장에 적합하지만 변동성 스파이크 및 어려운 매개 변수 최적화에 주의하십시오. 적절한 설정, 최적화 및 추가 기술로 라이브 거래에 적용 할 수 있습니다.


/*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")

더 많은