Parabolic Stop and Reverseの略で、上昇モードでは、直近の最安値から価格の上昇に合わせて徐々に加速しながら指標値が上昇していきます。そして、価格が指標値を下回ると下落モードとなり、直近の最高値より下落していきます。
double iSAR(
string [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 銘柄
ENUM_TIMEFRAMES [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 時間軸
double step, // 加速係数の変化幅
double maximum, // 加速係数の最大値
int [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>) // 計算するバーの位置
);
パラボリックSARのパラメータは、加速係数の変化幅step
と最大値maximum
です。
現在の指標値SAR[0]
は、1本前の指標値SAR[1]
に対して、Ep1
との差に加速係数ACC
を掛けたものを加算して求めます。ここで、Ep1
は上昇モードでは更新した高値、下落モードでは更新した安値を表します。指標値SAR[0]
が高値High[0]
を下回ると上昇モードに、安値Low[0]
を上回ると下落モードに切り替わり、ACC
はstep
に初期化されます。
SAR[0] = SAR[1] + ACC*(Ep1-SAR[1])
ACC = Min(ACC+step, maximum)
Ep1 = Max(Ep1, High[1]) (上昇モード)
Ep1 = Min(Ep1, Low[1]) (下落モード)
ACC
:現在の加速係数
Ep1
:更新した高値・安値、モードが切り替わったときの指標値
<aside>
💡 Max(a,b)
は、二つの引数のうち大きい方を返す関数、Min(a,b)
は、二つの引数のうち小さい方を返す関数です。
</aside>