この記事では,パラボリックストップとリバース (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)