
この記事では,パラボリックSAR指数に基づく動量逆転トラッキング戦略について説明します.この戦略は,パラボリックSAR指数を使用して,ニフティの先物市場の潜在的トレンド逆転を識別し,自動化されたトレンドトラッキング取引を実現します.
この戦略は,主に体系的な取引方法を好むトレーダーに適用され,明確な入場と出場シグナルを提供します.市場動向を捉えることで,この戦略はトレーダーの財務目標を達成するのに役立ちます.
この戦略は,パラボリックSAR指数を使用して価格トレンドの方向を判断する.看板トレンドでは,SAR値は価格の突破の下にあり,新しい高点の出現とともに徐々に上昇する.看板トレンドでは,SAR値は価格の突破の上であり,新しい低点の出現とともに徐々に低下する.
SAR値が価格を上下する時,潜在的トレンドの逆転を示し,戦略は新しいトレンドの方向を捕捉するために相応に空白または多額を行う.
具体的には,現在のSAR値と加速因子を初期に計算した後,戦略は価格の新高または新低を継続的に追跡し,それに応じてSAR値を調整する.確認されたKラインで,看板トレンドであれば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)