TradingView Pineスクリプト講座(4)

それでは今回は実際にスクリプトを作成しながら、内容を解説していきたいと思います。

準備作業

銘柄や時間足は何でも構いませんが統一した方がわかりやすいかと思いますので、まずはユーロドルのチャートを開いてみましょう。時間足は1時間足を選択してみます。

こういった感じのチャートが開きます。次にチャート下の「Pineエディタ」をクリックしてPineエディタを開きます。

3行だけ書かれたコードが開いたはずです。2行目でstudy関数を使っているのでこれはインジケーターですね。この辺がわからない場合は過去記事を見てみて下さい。

またもし3行以外のコードが開いた場合は、Pineエディタの「新規作成」メニューから「空のインジケーターのスクリプト」を選びます。

3行コードをそのままチャートに適用してみる

初期の3行のコードは、インジケーター名は「マイスクリプト」で「サブウインドウに終値のラインを描画する」という内容のコードです。

//@version=3
study("マイスクリプト")
plot(close)

まずこれをこのままチャートに適用してみます。Pineエディタの「チャートへ追加」をクリックします。

するとサブウインドウにマイスクリプトのインジケーターが適用され、ラインが描画されることがわかります。

この線は各ローソク足の終値を繋いだ線です。つまりこれが plot(close) の部分です。

plot() → 描画する
close → 終値

という事です。

少し変えて終値の単純移動平均線を描画してみる

ではこの3行をベースに少しずつコードを追加/変更していきます。初期の3行のコードはただ終値を描画しましたが、これを終値の移動平均線を描画するように変更してみます。

移動平均線にはいくつかありますが、今回はシンプルに単純移動平均線(SMA = Simple Moving Avarage)を利用します。

Pineスクリプトの良いところは、移動平均線の様な一般的なインジケーターの値を算出する為の関数があらかじめ用意されていることです。単純移動平均線を算出するには、あらかじめ用意されているsma関数を使います。

sma関数の構文
sma(データ値, 期間)

sma関数にデータと期間を渡せば、単純移動平均線の値が返されます。例えば終値の20期間の単純移動平均線を求めるにはこう書きます。

sma(close,20)

これだけで求める事ができます。実際に初期コードを変更してみましょう。

//@version=3
study(title="マイスクリプト")
plot(sma(close, 20))

3行目が、plot(close) から plot(sma(close, 20)) に変更されました。これをチャートに適用すれば終値の20期間単純移動平均線が描かれます。

移動平均線と期間について少し補足

解説では「終値の20期間単純移動平均線」と長ったらしい言い方となりましたが、これは正確に書いたもので、一般的には「20日移動平均線」と呼ばれるものです。

1.移動平均線は通常終値で計算されます
特に断りがなければ終値基準ですので、通常呼ぶ時は、「終値の」という部分は省かれます。

2. 単純移動平均線
大抵のケースで移動平均線と呼ぶ場合は、単純移動平均線(SMA)を指します。他の移動平均線と区別する場合は、SMA、EMA、DEMAなどと明示します。

3.期間はチャートの時間足に依存します
20期間の移動平均線を、日足のチャートに適用すれば、20日間移動平均線となります。ただこれは日足だから20日であり、例えば1時間足に適用すれば20日ではなく、20時間移動平均線となります。その為、一般的には20日移動平均線と呼ぶことも多いですが、書籍等ではより正確に20期間移動平均線と書かれている事が多いです。

作成した20期間移動平均線が正しいか確認してみる1(準備)

さきほど20期間の移動平均線を作成しましたが、これが正しいかどうか検証してみます。

チャートに内蔵の20日移動平均線を表示させます。インジケーター検索から「移動平均線」を検索し、クリックしてチャートに表示させます。

移動平均線(MA = Moving Average)の設定を開きます。

期間を20に変更します。ソースは終値、オフセットは0のままでいじらないで下さい。20に変更したら「OK」を押します。

チャートに20期間移動平均線(MA20)が表示されます。チャート左上の設定値からもMAの期間が20期間であり、データには終値を利用している事がわかります。

これで準備ができました。ソースコードから作成した移動平均線と同じか見比べてみます。

作成した20期間移動平均線が正しいか確認してみる2

Pineエディタを開き、比較のためソースコードを一部変更します。2行目のstudy関数に、overlay=trueの引数を追加します。

overlay = true
(ローソク足などの)メインウインドウにインジケーターを表示する
overlay = false
サブウインドウにインジケーターを表示する。

デフォルト値は false で、このパラメーターを省略した場合、falseを指定した事となります。
//@version=3
study(title="マイスクリプト", overlay=true)
plot(sma(close, 20))

実際の画面ではこういった感じです。

「チャートへ追加」を押してチャートに追加してみましょう。overlay=true を追加したので、今度はサブウインドウではなく、ローソク足の表示されているメインウインドウにインジケーターが追加されます。

インジケーターは2つ適用されますが、表示されている線が1本に見えます。これは実際には2本の線が描かれていますが、それらは完全に重なる(同一)である為、1本の線に見えています。

この事で内蔵の「移動平均線」インジケーターと今回作成した「単純移動平均線」のインジケータが同じで正しい事がわかります。

またこのチャートから、内蔵のMAを削除すると、作成した「マイスクリプト」のインジケーターが残り、描かれた線はそのままである事が確認できます。

また次回はこの続きから解説していきます!

この記事が気に入ったらサポートをしてみませんか?