見出し画像

Pine Script™ (v5) の覚書 - コラム :改行をしたらエラーが・・・

画像1 スクリプトエラー

スクリプトを書く上で、スペースとタブは重要です。筆者もよく間違えるのですが、間違ったスペースとタブをスクリプト内に入れてしまうとスクリプトのコンパイルエラーが発生します。

スペースについて

スクリプトが長くなった時にスクリプトを読みやすくする為に途中で折り返すことができます。

// 1行に
weekCandle=request.security(syminfo.tickerid,"D",candle.new(time,time_close,open,close,high,low))

スペースの数には決まりがあり、4の倍数にすることが出来ません。4の倍数でない限りスペースの数は何個でも良いのですが、読みやすいようにスペースの個数を決めたほうが良いでしょう。

// スペースの個数は自由(ただし、4の倍数以外)
// スペースの個数がバラバラで読みにくい
weekCandle=request.security(
     syminfo.tickerid,
      "W",
                         candle.new(time,time_close,open,close,high,low)
     )

// 読みやすいスペースの個数に揃える
weekCandle=request.security(
     syminfo.tickerid,
     "W",
     candle.new(time,time_close,open,close,high,low)
     )

pineエディタでスペース4個毎にガイド線(グレーの縦棒)が表示されるので、その直後には文字をいれないようにスペースを修正します。
スペースを修正すると、エラーがなくなりコンパイルが可能になります。

画像2 エラーがなくなった状態

タブ(インデント)について

ifなどの制御構造、プライベート関数やmethodなどのローカルブロックはタブ(インデント)が必要です。タブ(インデント)はtab 1個かスペース4個分で、同じローカルブロック内のタブ(インデント)は同じ個数にします。

price = if open < close
    close
else
    open

prot(price)



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