【お知らせ】TradingViewのバックテストをプログラミング不要で体験できる新講座作りました。(詳細はクリック)

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の
基本操作を覚えたい方へ

約1時間でTradingViewの基本操作をマスターできるオンライン講座を用意しました。アカウント開設からチャートの使い方まで動画でサクッと学べます。

講座を受講する

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

コメント

コメントする

目次