以前からTradingViewでテクニカル分析を有効活用するために、Pineスクリプトを使って便利なインジケーターの作成をご紹介してきました。
今回はオシレーター系の中でも人気のストキャスティクスを、基本的な説明やチャートの見方を紹介し、TradingView内蔵のインジケーターのPineスクリプトに少し手を加えてストキャスティクスをさらに使い勝手を良くしてみたいと思います。Pineスクリプトを勉強中の方もインジケーターの基本を理解をすることは重要なので最初から読み進めてみてください。

ストキャスティクスとは
ストキャスティクスは、相場の過熱感をチャート上に表示するオシレーター系のテクニカル指標です。
一般的に二つのラインを組み合わせて、その水準やクロスの方向性・価格との関係性で相場を分析します。
まず基本は%Kと%Dという二つのラインを表示します。
- %Kラインを求める計算式は
(直近の終値-過去n日間の最安値)÷(過去n日間の最高値-過去n日間の最安値)×100
0~100%で表示されたオシレーター上のライン位置で相場が今売られ過ぎなのか、買われ過ぎなのかの過熱感が判断できます。
- %Dラインを求める計算式は、m日の%Kの単純移動平均
この計算方法からもわかるように、%Kラインを移動平均化することによって、なだらかなラインになります。
したがって%Kラインを短期、%Dラインを中期の移動平均線とみることで、二つのラインのゴールデンクロス(GC)やデッドクロス(DC)が売買サインとして機能します。
各期間にはn=14、m=3が一般的です(TradingView内蔵ストキャスティクスのデフォルト値)。
この%Kと%Dラインの組み合わせは「ファストストキャスティクス」と呼ばれ、特に%Kラインは価格の値動きに敏感に反応するので短期売買に向いています。
敏感であるが故にオシレーター上での動きが激しくなり、その分ダマシも多くなりやすいです。
そこで、より価格に対して緩やかな反応を確認し、中長期的売買にも適しているのが「スローストキャスティクス」といわれるものです。こちらは%Dラインとslow%Dラインの二つを組み合わせます。
- slow%Dラインの計算式はm日の%Dの単純移動平均
で求められます。
要するに、ファストストキャスティクスにおける%Kラインを%Dライン、%Dラインをslow%Dラインに置き換えて、よりなだらかな反応から相場の過熱感を確認できるようになっています。
各ラインをなだらかにすることにより現在価格に対する反応は鈍くなりますが、ダマシが少なくなるメリットがあります。

TradingViewのストキャスティクスの見方
ストキャスティクスの見方は多くありますが、上記説明で触れたものも加えて
(1)ラインの水準
(2)ラインのクロス
(3)コンバージェンスとダイバージェンス
に注目するのが一般的です。

(1)ラインの水準
ラインがオシレーター上の20%以下に位置していれば売られ過ぎ、80%以上で買われ過ぎとされます(TradingView内蔵の標準帯設定を参照)。
(2)ラインのクロス
二つのラインがGC・DCしたのを売買サインにします。特に20%以下でのGC、80%以上でのDCは相場の過熱感と相まって、より確度の高いサインになります。
(3)ダイバージェンス
価格が高値を更新しているにもかかわらず、オシレーター上では前回の高値を越えていない場合をダイバージェンスといい、価格が反転するシグナルになります。同様に、価格が安値を更新しているにもかかわらずオシレーター上では前回の安値を下回らない場合もやはり価格の反転を示すシグナルになります。
Pineスクリプトでストキャスティクスを確認
まずは内蔵されているストキャスティクスのパラメーターをみてみましょう。 「インジケーター」→「内臓」のところから「ストキャスティクス」を選びます。
Kの値が14、Dについては3となっています。
さらに「Smooth」という項目が3となっています。
これは%Kラインの計算式を3の期間で移動平均化していることを意味しています。
よって、標準値のストキャスティクスでは%Kラインの計算式に期間3の移動平均化がなされていることになります。これは以前紹介した「スローストキャスティクス」にあたります(このときの%Dラインはslow%Dラインになる)。
よってSmoothの値を1にすることで、本来の%Kラインを表示し「ファストストキャスティクス」に切り替えることができます。
Pineスクリプトで三つのラインを表示するストキャスティクスを作成しよう
今回はこのストキャスティクスのパラメーターを切り替えるのではなく、%K、%D、slow%Dの3本のラインを同時に表示させてみたいと思います。
まず、「Pineエディタ」から、「新規作成」を選び、stochastic(ストキャスティクス)を選択します。
すると内臓ストキャスティクスに該当するインジケーターのPineスクリプトが表示されます。
「stoch」がストキャスティクス%Kラインの計算してくれる関数になります。
K=「sma」でこの%Kラインの「stoch」が移動平均化されていることが分かります。
ではここから少し書き換えをしてみたいと思います。
まず、6行目の「K=~」をコピーして、改行し空いた7行目に貼りつけます。
6行目のコードからsma関数の部分を取り除き、単純な%Kラインの計算式のみを残します。
次に、もともとのスクリプトがスローストキャスティクスを構成するコードなので対象をずらす形で
・7行目の「k」を「d」、
・8行目の「d」を「Sd」に、sma関数内の「k」を「d」にします。
最後に%SDラインを描画させるためにplot関数を使い
と書き込みます。色はここではグリーンにしていますが、自由に設定してみてください。
あとは「チャートに追加」を押して、実際にチャート上で機能するかを確認してから、名前をつけて保存で完了です。
設定のスタイルで後から各ラインの色を変更することもできます。
終わりに
いかがでしたでしょうか。ストキャスティクスはレンジ相場での価格変動やトレンド転換を察知する際にとても便利です。
今回、一般的に二つのラインが表示されているストキャスティクスを%K、%D、slow%Dの三つ全てを同時に表示させ、短期・中長期どちらでも使い分けられるようにPineスクリプトを使っていきました。これで、3ラインのストキャスティクスでは設定から数値変更をすることなく%K、%D、%slowDラインを同時に確認することができるようになりました。使わない場合には設定からチェックボックスを外すだけなので使い勝手も良いはずです。
前半で紹介したストキャスティクスの使い方を参考に、「ファスト」と「スロー」のストキャスティクスを使い分けてみてはいかがでしょうか?
