이 문서에서는 패러볼릭 스톱 및 리버스 (SAR) 인디케이터를 기반으로 한 모멘텀 역전 추적 전략을 소개합니다. 이 전략은 자동 트렌드 추적 거래를 위해 니프티 선물 시장에서 잠재적 인 트렌드 역전을 식별하기 위해 패러볼릭 SAR 인디케이터를 사용합니다.
이 전략은 주로 체계적인 거래 방식을 선호하는 거래자에게 적합하며, 명확한 입출시그널을 제공합니다. 시장 트렌드를 포착함으로써 거래자가 금융 목표를 달성하는 데 도움이됩니다.
이 전략은 가격 트렌드 방향을 결정하기 위해 파라볼릭 SAR 지표를 사용합니다. 상승 추세에서 SAR 값은 가격 아래에 있으며 새로운 최고가 발생함에 따라 점차 상승합니다. 하락 추세에서는 SAR 값이 가격 위에 있으며 새로운 최저가 발생함에 따라 점차 하락합니다.
SAR 값이 가격보다 높거나 낮을 때, 이는 잠재적인 트렌드 반전을 나타냅니다. 그리고 전략은 새로운 트렌드 방향을 파악하기 위해 대응하는 짧은 또는 긴 포지션을 취합니다.
구체적으로, 초기 현재 SAR 값과 가속 인수를 계산한 후 전략은 새로운 최고 / 최저치를 추적하고 그에 따라 SAR 값을 조정합니다. 확인 된 바에서 상승 추세에 있다면 SAR 값 아래에 짧은 위치를 취하고, 하락 추세에 있다면 SAR 값 위에 긴 위치를 취합니다.
이 전략은 파라볼릭 SAR 지표를 사용하여 시장 트렌드 역전을 캡처하는 자동화된 시스템을 제공합니다. 트렌드 추적에서 이익을 얻는 데 도움이되는 거래 결정에 대한 명확한 입출입 신호를 제공합니다. 그러나 잘못된 신호, 스톱 손실 위험과 같은 문제도 주의가 필요합니다. 지속적인 최적화로 신뢰할 수있는 트렌드 추적 방법이 될 가능성이 있습니다.
/*backtest start: 2024-01-27 00:00:00 end: 2024-02-03 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Positional Parabolic SAR Strategy", overlay=true) initial = input(0.02) step = input(0.02) cap = input(0.2) var bool isUptrend = na var float Extremum = na var float SARValue = na var float Accelerator = initial var float futureSAR = na if bar_index > 0 isNewTrendBar = false SARValue := futureSAR if bar_index == 1 float pastSAR = na float pastExtremum = na previousLow = low[1] previousHigh = high[1] currentClose = close pastClose = close[1] if currentClose > pastClose isUptrend := true Extremum := high pastSAR := previousLow pastExtremum := high else isUptrend := false Extremum := low pastSAR := previousHigh pastExtremum := low isNewTrendBar := true SARValue := pastSAR + initial * (pastExtremum - pastSAR) if isUptrend if SARValue > low isNewTrendBar := true isUptrend := false SARValue := math.max(Extremum, high) Extremum := low Accelerator := initial else if SARValue < high isNewTrendBar := true isUptrend := true SARValue := math.min(Extremum, low) Extremum := high Accelerator := initial if not isNewTrendBar if isUptrend if high > Extremum Extremum := high Accelerator := math.min(Accelerator + step, cap) else if low < Extremum Extremum := low Accelerator := math.min(Accelerator + step, cap) if isUptrend SARValue := math.min(SARValue, low[1]) if bar_index > 1 SARValue := math.min(SARValue, low[2]) else SARValue := math.max(SARValue, high[1]) if bar_index > 1 SARValue := math.max(SARValue, high[2]) futureSAR := SARValue + Accelerator * (Extremum - SARValue) if barstate.isconfirmed if isUptrend strategy.entry("ShortEntry", strategy.short, stop=futureSAR, comment="ShortEntry") strategy.cancel("LongEntry") else strategy.entry("LongEntry", strategy.long, stop=futureSAR, comment="LongEntry") strategy.cancel("ShortEntry") plot(SARValue, style=plot.style_cross, linewidth=3, color=color.white) plot(futureSAR, style=plot.style_cross, linewidth=3, color=color.red)