RSI(相対力指数)|Trading Viewインジケーター

この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。

相対力指数(Relative Strength Index:RSI)

相対力指数(RSI)は「過去の価格と比較して、現在の価格が過大評価されているか、過小評価されているか」を判断します。

RSIの数値は0~100の範囲内で変動し、一般的には70以上を過大評価(買われすぎ)、30以下を過小評価(売られすぎ)の目安にします。

RSIは一定期間の値上がり幅、値下がり幅の修正移動平均線(RMA)から計算します。

RSIの使い方

最も単純な方法は、RSIの値が70以上を過大評価、30以下を過小評価と判断して値動きの反転を予測する逆張り手法です。

初心者がやりがちな間違ったRSIの使い方が、現在の価格とRSIの値だけを見て過大評価、過小評価を判断することです。

RSIはあくまでも過去の価格、RSIの値と相対的に比較して、買われすぎか売られすぎかを判断する必要があります。

RSIは期間中の平均上昇幅と平均下落幅から計算します。上昇幅と下落幅が一緒の場合、中心値の50となります。つまり、50以上の場合、上昇幅が下落幅を上回っており上昇トレンド、50以下の場合上昇幅が下落幅を下回っており下降トレンドとも見ることができます。

RSIの計算式

RSIを考案したJ.W.ワイルダー(Welles Wilder)は期間に14を使うことを推奨しています。

例えば、14日間のRSIは以下のように計算します。

RSI= 100 ー 100 / (1 + RS)

RS = 期間中の平均上昇幅 / 期間中の平均下落幅

・最初の1本目:期間中の平均上昇幅 = 14日間の上昇幅の合計 / 14

・2本目以降:期間中の平均上昇幅 = (前日までの平均上昇幅 × 13 + 当日の上昇幅) / 14

期間中の平均下落幅も同様の計算方法で算出。

RSIをPineスクリプトで書く

rsi関数を使う場合

//rsi関数を使ったRSIの書き方
//@version=4
study("RSI", overlay=false)
src = input(close, title="ソース")
len = input(25, title="期間")
RSI = rsi(src, len)
plot(RSI)

rsi関数を使わない場合

//rsi関数を使わないRSIの書き方
//@version=4
study("RSI", overlay=false)
src = input(close, title="ソース")
len = input(25, title="期間")
pine_rsi(x, y) => 
    up = max(x - x[1], 0)
    down = max(x[1] - x, 0)
    rs = rma(up, y) / rma(down, y)
    res = 100 - 100 / (1 + rs)
    res
RSI = pine_rsi(src, len)
plot(RSI)
スポンサーリンク

Pineスクリプト入門の記事では、プログラミング初心者でも理解できるように一つづつ丁寧に解説しています。Pineスクリプトを触ったことがない方でもPineスクリプト入門#1から順にみていただければ、バックテストやインジケーターのコードも作成することができます。興味のある方は是非、他の記事もご覧ください。

アカウントを作成する

おすすめチャートツールTrading View

  • 高性能チャートツール
  • オリジナルのインジケーターが作成できる
  • FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応

 

 

コメント

タイトルとURLをコピーしました