RSI(カトラー版/単純移動平均計算)を表示できるTradingView用インジケーター【PineScriptサンプルコード付き(v5対応済)】

RSIにはいくつかの種類があり、移動平均の計算方法が異なります。

TradingViewに標準搭載されているRSIは「修正移動平均(RMA)」というもので計算されていますが、日本の国内株では“カトラー版”と呼ばれる「単純移動平均(SMA)」で計算する方もよく利用されているので、このカトラー版RSIを表示できるインジケーターを作成してみました。

Pine言語のサンプルコード付きで公開しますので、ぜひご利用ください。

【2022年3月12日 追記】
Pineスクリプトのバージョン5(v5)に対応したサンプルコードも追加しました。
目次

本インジケーターの概要

一般的なRSIと同じく、RSIラインと「買われすぎ」「売られすぎ」ラインをそれぞれ表示します。

初期設定

RSI14日(14本)で計算緑色
買われすぎライン70白色
売られすぎライン30白色
買われすぎ/売られすぎの間薄い青色で塗りつぶし(不透明度:5%)

設定変更可能なパラメータ

インジケーターの設定画面は、以下のような構成となっております。

パラメータ

(1) RSIの計算対象価格を変更したい時
「計算価格」を変更すると、高値や出来高などでも計算可能です。

(2) RSIを計算する長さ(足数)を変更したい
たとえば日足で5日RSIに変更したければ、「長さ」を「5」に変更してください。

(3) 「買われすぎ」「売られすぎ」のライン値を変更したい
初期では「70/30」ですが、「80/20」にしたい時は「買われすぎライン」を「80」に、「売られすぎライン」を「20」に、それぞれ変更してください。

色設定

以下の色をそれぞれ変更できます。

・RSIラインの色
・買われすぎラインの色
・売られすぎラインの色
・「買われすぎライン – 売られすぎライン」の間を塗りつぶす色

サンプルコード

以下のコードをコピペしてお使いください。

サンプルコードを元にTradingViewインジケーターを作成する手順が分からない方は、以下の記事を参考にしてください。(記事内の手順3を今回のサンプルコードに置き換えて進めてみてください)

Pine(v5)バージョン

//@version=5
indicator(title="$TTOSample_RSI_Cutler", shorttitle="RSI", precision=2)

src = input.source(close, title="計算価格")
length = input.int(14, title="長さ")
overbuy = input.int(70, title="買われすぎライン")
oversell = input.int(30, title="売られすぎライン")

rsi_sma(x, y) =>
    u = math.max(x - x[1], 0)
    d = math.max(x[1] - x, 0)
    rs = ta.sma(u, y) / ta.sma(d, y)
    res = 100 - 100 / (1 + rs)

rsi_value = rsi_sma(src, length)

plot(rsi_value, title="RSI", color=color.green)
p1 = plot(overbuy, title="買われすぎライン", color=color.white)
p2 = plot(oversell, title="売られすぎライン", color=color.white)

fill(p1, p2, color.new(color.blue, 95), title="塗りつぶし色")

Pine(v4)バージョン

//@version=4
study(title="$TTOSample_RSI_Cutler", shorttitle="RSI", precision=2)

src = input(close, type=input.source, title="計算価格")
length = input(14, title="長さ")
overbuy = input(70, title="買われすぎライン")
oversell = input(30, title="売られすぎライン")

rsi_sma(x, y) =>
    u = max(x - x[1], 0)
    d = max(x[1] - x, 0)
    rs = sma(u, y) / sma(d, y)
    res = 100 - 100 / (1 + rs)

rsi_value = rsi_sma(src, length)

plot(rsi_value, title="RSI", color=color.green)
p1 = plot(overbuy, title="買われすぎライン", color=color.white)
p2 = plot(oversell, title="売られすぎライン", color=color.white)

fill(p1, p2, color.new(color.blue, 95), title="塗りつぶし色")

おわりに

今後も「かゆいところに手が届く」「日本語表記で分かりやすい」インジケーターのサンプルコードを色々と作ってみようと思っています。

ブログの記事更新はTwitter(@eltraders)または本ページ右から登録できる「メルマガTTO通信」でお知らせしているので、ぜひフォローorご購読よろしくお願いします。

さらにTradingViewを使いこなしたい方へ

銘柄探し、チャート分析、過去データの分析、トレードシグナル通知、そしてプログラミング・・

日本株トレードに役立つTradingViewの機能を画像付きで学べる無料メール講座、はじめました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次