トレーディングビュー(TradingView)Pineスクリプト入門#12|RSI、ストキャスティクスなどのオシレーター系インジケーター関数を紹介

Pineスクリプト入門#12RSI、ストキャスティクスなどのオシレーター系インジケーター関数

前回の記事に続いて、Pineスクリプトのインジケーター関数をご紹介します。今回はRSIやストキャスティクスなどのオシレーター系インジケーターです。

相対強度指数「rsi()」

RSIは一般的に相場の買われすぎ、売られすぎを判断するのに使われるオシレーター系のインジケーターです。計算方法を見てわかるように、期間Nにおける値上がりが値動き全体の何%になるかを表します。

一般的には70%以上が買われすぎ、30%以下が売られすぎと認識されていますが、それだけに着目してトレードすることは危険です。値は値動きの比率で算出されているため、0に近づくほど売り圧力が強い、100に近づくほど買い圧力が強いという見方もできます。

RSIの計算方法

A = 期間Nの平均値上がり幅

B = 期間Nの平均値下がり幅

RSI = A ÷(A + B)* 100

Pineスクリプトではコードを以下のように書きます。

rsi(series, length)
  • source:始値(open)、終値(close)、高値(high)、安値(low)などから使用する値を選択
  • length:RSI計算に使用する期間(ロウソク足の数)を入力。一般的には14を使う。

例えば、終値を使って期間14のRSIは以下のように記述します。

rsi(close, 14)

アベレージトゥルーレンジ「atr()」

ATRは銘柄の値動き幅を平均化した値を示します。ATRが上昇していると値動き幅も大きくなっているため、ボラティリティも上昇(トレンドが発生)していることを表します。反対にATRが減少しているときはトレンドが終了、ATRが一定の場合はレンジであることも意味しています。

また、ATRで一日の値動き幅を把握し、リスク管理や資金管理にも利用できます。

ATRの計算方法

・当日高値-当日安値

・当日高値-前日終値

・当日安値-前日終値

上記3つのうち最も大きい値をTR(トゥルーレンジ)と呼びます。

TRの移動平均化した値がATRです。

PineスクリプトではATRを以下のコードで書きます。

atr(length)
  • length:ATR計算に使用する期間(ロウソク足の数)を入力

ATRの計算に単純移動平均以外を使う方法

Pineスクリプトのatr()を使うと単純移動平均で計算した値が表示されます。

単純移動平均以外でATRを算出したい場合は、以下のようにコードを書きます。以下のコードではEMAでATRを計算しています。

ema(tr, length)
  • tr:トゥルーレンジを算出する関数
  • length:計算に使用する期間(ロウソク足の数)を入力

ema()の関数を他の移動平均関数に変更することも可能です。

ストキャスティクス「stoch()」

ストキャスティクスは、期間Nの価格から現在の価格が下から何%の高さかを表す「%K」と呼ばれるライン、%Kの期間Mを平均化した%Dと呼ばれるラインから構成されるインジケーターです。相場の方向性を確認するのに使います。

ストキャスティクスの計算方法

%K=(現在値-期間Nの最安値)÷(期間Nの最高値-期間Nの最安値)

%D = %Kの期間M平均

ストキャスティクスのコードは以下のように書きます。

stoch(source1, source2, source3, length)
  • source1:終値(close)
  • source2:高値(high)
  • source3:安値(low)
  • length:計算に使用する期間(ロウソク足の数)を入力

*source1~3は変更することもできますが、ストキャスティクスの計算式上は上記で固定です。

例えば、%Kの期間を14、%Dの期間を3とする場合は以下のようになります。

%K = stoch(close, high, low, 14)
%D = sma(%K, 3)

コードを見てわかる通り、stoch()は%Kの算出しかできません。%Dは算出した%Kとsma()を使って別に算出する必要があります。

スローストキャスティクス

ストキャスティクスといえば、%Dと%Dをさらに一定期間平均化した値を用いるスローストキャスティクスの方が一般的です。

トレーディングビューに内蔵されているインジケーターもストキャスティクスではなく、スローストキャスティクスの方です。

スローストキャスティクスのコードは以下のように書きます。%Kの期間を14、%Dの期間を3、スロー%Dの期間を3とする場合です。

%K = stoch(close, high, low, 14)
%D = sma(%K, 3)
slow%D = sma(%D, 3)
スポンサーリンク

トゥルー・ストレングス・インデックス「tsi()」

True Strength Index(TSI)はRSIと同様にトレンドの売られすぎ、買われすぎや相場の方向性を表すインジケーターです。インデックスラインとシグナルラインと呼ばれる指数平滑移動平均の2つのラインで構成されています。

TSIの計算方法

A = EMA(終値, 期間N)*期間NはMよりも長い期間を用いる。一般的には25

B = EMA(終値の絶対値, 期間N)

A’ = EMA(A, 期間M)*期間MはNよりも短い期間を用いる。一般的には13

B’ = EMA(B,期間M) 

TSI = A’ ÷ B’ × 100

PineスクリプトではTSIを以下のように買います。

tsi(source, short_length, long_length)
  • source:終値(close)を使用
  • short_length:計算に使用する短期の期間(ロウソク足の数)を入力
  • long_length:計算に使用する長期の期間(ロウソク足の数)を入力

スポンサーリンク

今回はPineスクリプトのオシレーター系インジケーター関数をご紹介しました。

Trading ViewのPineスクリプトはチャート分析に特化したプログラミング言語なので、他にも様々なインジケーター関数があります。オリジナルのインジケーターやストラテジーを作るときも非常に便利ですね!

他にも移動平均線、MACDなどのインジケーター関数OBV、MFIなどのインジケーター関数も紹介していますので参考にしてみてください。

トレーディングビューのアカウントを作成する

Trading View

本記事で使用しているトレーディングビューはPineスクリプトでバックテストを行う以外にも、自分のオリジナルインジケーターを作成したり、世界中のトレーダーが作成したオリジナルのインジケーターを使うことも可能です。

FX、株、ETF、コモディティなど国内外問わず様々な銘柄に対応しています。アカウントをお持ちでない方は以下リンクから作成できます。

コメント

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