目次

,

【Pine 基礎】スクリプト構造

構造

Pine スクリプトの一般的な構造は下記の通り。
おおきく 3 つに区分できる。

<バージョン>
<宣言文>
<コード>

バージョン

下のコードは、スクリプトが Pine スクリプトのどのバージョンで書かれているかをコンパイラに伝える。(コンパイラアノテーション

//@version=5

宣言文

スクリプトは必ず一つの宣言文を含まなければならない。宣言文は 3 種類ある。

indicator() を宣言した例

//@version=5
indicator("My Script")
plot(close)

宣言文の役割:

各スクリプトには、それぞれ異なる要件がある。

コード

スクリプトのアルゴリズムを書くところ

コメント

ダブルスラッシュ(//)はコメント。
コメントは行のどこから始めても構わない。

//@version=5
indicator("")
// これはコメントです。
a = close // これもコメントです。
plot(a)

なお、Pine エディタは ctrl + / でコメントアウト、コメントアウト解除ができる。

コード中の改行

長い行は折り返しできる。折り返しは 4 の倍数以外の数のスペースを挿入して行う。
(4 の倍数のスペースはローカルスコープのインデントとして認識される)

a = open + high + low + close

折り返して記述

a = open +
     high +
         low +
             close

長い関数呼び出しは以下のようにできる。

plot(ta.correlation(src, ovr, length),
   color = color.new(color.purple, 40),
   style = plot.style_area,
   trackprice = true)

ユーザー定義関数宣言内のステートメントも折り返しできる。

updown(s) =>
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0
    ud := isEqual ?
         0 :
         isGrowing ?
             (nz(ud[1]) <= 0 ?
                   1 :
                 nz(ud[1])+1) :
             (nz(ud[1]) >= 0 ?
                     -1 :
                     nz(ud[1])-1)

コンパイラアノテーション

コンパイラアノテーションは、スクリプトに特別な指示を出すコメント。

参考