Relative Strength Index(相対力指数)の略で、上昇幅の平均と下落幅の平均を計算し、上昇幅と下落幅の比率を0から100の範囲で正規化した指標です。下落の割合が大きければ0に近づき、上昇の割合が大きければ100に近づきます。
double iRSI(
string [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 銘柄
ENUM_TIMEFRAMES [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 時間軸
int period, // 計算する期間
ENUM_APPLIED_PRICE [applied_price](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>), // 価格の種類
int [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>) // 計算するバーの位置
);
RSIのパラメータは、計算する期間period
です。
現在のバーにおけるRSIRSI[0]
は、価格変化の上昇分の平均と下落分の平均を計算し、上昇分と下落分の比率が0から100の範囲に入るように正規化して求めます。
RSI[0] = 100-100/(1-positive/negative)
Price[i]
:applied_price
で指定した価格
D[i]
: Price[i]-Price[i+1]
(価格変化)
positive
:SMMA(Max(D[i], 0), period)
(プラスのD[i]
の平滑移動平均)
negative
:SMMA(Min(D[i], 0), period)
(マイナスのD[i]
の平滑移動平均)
<aside>
💡 Max(a,b)
は、二つの引数のうち大きい方を返す関数、Min(a,b)
は、二つの引数のうち小さい方を返す関数です。b
が0
の場合、Max(a,0)
はa
がプラスの場合の値、Min(a,0)
はa
がマイナスの場合の値を返します。
</aside>