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

日米首脳会談も概ね無事に通過し、引き続き株高のリスクオン傾向が継続となりそうです。資源高の状況でもあるので、AUDJPYに注目しています。

Pineスクリプトの構造

まずPineスクリプトの構造を見てみます。Pineスクリプトには決まった構造があり、それらは通常最初の2行で定義します。1行目にバージョン情報、2行目でインジケーターかストラテジーかの定義、3行目以降に本体を書いてきます。

上はインジケーターの場合です。2行目のstudy関数で「マイスクリプト」という名前のインジケーターを定義しています。本体は3行目で、単純に終値(close)を描画(plot)するインジケーターです。

こちらはストラテジーの例です。2行目のstrategy関数で「マイ投資戦略」という名前のストラテジーを定義しています。本体は3行目以降で定義しています。もう少し詳しく見ていきます。

1行目でPineスクリプトのバージョンを指定

Pineスクリプトの1行目はバージョンを指定します。何のバージョンかというと、利用するPineスクリプトのバージョンです。

Pineスクリプトには、現在(2018.10現在)Version1から3まであります。バージョンによって、使える機能や動作が異なります。例えば内蔵のこの関数はPine2以降では使えるけれど、Pine1では実装されておらず使えないといった具合です。バージョンの差異はまた後ほど触れます。

具体的には、1行目ではこの様にPineスクリプトのバージョンを指定します。この例では、バージョン3を利用するという意味です。

//@Version=3

大きく機能が強化されたのは、バージョン2からなので、Ver1を利用することはほぼ無いと思いますが、Ver2 と Ver3 は好みがわかれる部分がありそうです。バージョン2を利用する場合は、3の部分を2に変更します。

//@Version=2

補足・バージョンによる差異

Pineスクリプトはバージョン2から大きく機能が強化されているので、現在の所、基本的に選択はバージョン2か3の2択となります。

バージョン3では、主にストラテジー関係の機能が強化されているので、インジケーターではなく、ストラテジーを作ろうとする場合は、バージョン3を利用したほうがベターです。

一方バージョン2では、変数宣言と初期化が不要だったり、自己参照の変数が使えたりします。例えばこういった記述はVer2ではOKですが、Ver3ではエラーになります。

s = s + close

変数絡みの無用なエラーを避けるにはVer2の利用がベターです。スクリプトやプログラム初心者はVer2を使ったほうが理解できないエラーで困る事が少ないかも知れません。

2行目でインジケーター/ストラテジーの定義

通常2行目では、study関数、またはstrategy関数を使って、作成するPineスクリプトがインジケーターであるかストラテジーであるかの定義を行います。インジケーターの場合はstudy関数で、ストラテジー関数でstrategy関数で定義します。

具体的にはインジケーターの場合は、study関数でこの様に定義します。

study("My Script")

ストラテジーの場合は、strategy関数で定義します。

strategy("My Strategy")

ただ注意が必要なのは、これらの例は基本的に名前だけを定義した単純な例であることです。

実際は、study関数やstrategy関数には多数の引数があり、通常はそれらも一緒に利用する事が多いです。

study(shorttitle="BB", title="Bollinger Bands", overlay=true)

次回は実際にスクリプトを作成しながら詳細に解説していきます。

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