[2023.11.20] TradingViewのバックテストをプログラミング不要で体験できる新講座作りました。(詳細はクリック)

逆引きPineScript(v5)辞典

TradingViewで利用できるプログラミング言語「PineScript(v5)」の命令や関数をまとめました。

基本

スクリプトの宣言

indicatorインジケーターの宣言

価格と出来高

open現在足の始値を取得
high現在足の高値を取得
low現在足の安値を取得
close現在足の終値を取得
volume現在足の出来高を取得
hl2( 高値 + 安値 ) ÷ 2 を取得
hlc3( 高値 + 安値 + 終値 ) ÷ 3 を取得
hlcc4( 高値 + 安値 + 終値 + 終値 ) ÷ 4 を取得
ohlc4( 始値 + 高値 + 安値 + 終値 ) ÷ 4 を取得

算術演算子

+(+=)値と値の足し算(または文字列)
-(-=)値と値の引き算
*(*=)値と値の掛け算
/(/=)値と値の割り算
%(%=)値と値の割り算の余り

変数と型

int整数型の宣言/整数型への変換
float浮動小数点型の宣言/浮動小数点型への変換
string文字列型の宣言/文字列型への変換
boolブール(真偽値)型の宣言/ブール(真偽値)型への変換
colorColor(色)型の宣言/Color(色)型への変換
na値無しを表す定数 / 値無しかどうかを判定する
nz時系列データ内のnaを0に置き換え
fixnan時系列データ内のnaを直近の値に置き換え

入力パラメータ

input.intスクリプトの「パラメータ」に整数型の項目を追加(入力 or セレクトボックス)
input.floatスクリプトの「パラメータ」に浮動小数点型の項目を追加(入力 or セレクトボックス)
input.boolスクリプトの「パラメータ」にチェックボックスの項目を追加
input.stringスクリプトの「パラメータ」に文字型の項目を追加(入力 or セレクトボックス)
input.text_areaスクリプトの「パラメータ」に複数行選択の項目を追加
input.sourceスクリプトの「パラメータ」に価格や出来高選択の項目を追加
input.priceスクリプトの「パラメータ」に価格選択の項目を追加
input.symbolスクリプトの「パラメータ」に銘柄選択の項目を追加
input.timeframeスクリプトの「パラメータ」に足種選択の項目を追加
input.sessionスクリプトの「パラメータ」にセッション選択の項目を追加
input.timeスクリプトの「パラメータ」に日時選択の項目を追加
input.colorスクリプトの「パラメータ」に色選択の項目を追加

分岐と繰り返し

分岐構文

if
else if
else
条件に応じて処理を分岐する構文
?:三項演算子
switch条件に応じて複数の処理を分岐する構文

比較演算子

true「正しい(真)」を表すブール(bool)値
false「正しくない(偽)」を表すブール(bool)値
==等しい
!=等しくない
<より小さい
<=以下
>より大きい
>=以上

論理演算子

and「どちらも正しい」を表す複合条件用の演算子
or「いずれかが正しい」を表す複合条件用の演算子
not「正しくない」を表す複合条件用の演算子

繰り返し構文

for指定回数だけ処理を繰り返す構文
for…in配列内の各要素に対して処理を繰り返す構文
while条件式が正しい間ずっと処理を繰り返す構文

型別の関数

文字列型(string)

str.length対象文字列の長さを取得
str.startswith対象文字列が指定した文字列から始まるかどうか判定
str.endswith対象文字列が指定した文字列で終わるかどうか判定
str.contains対象文字列に指定した文字列が含まれるかどうか判定
str.match対象文字列が指定した正規表現とマッチするかどうか判定
str.pos対象文字列内で指定した文字列が出現する位置を取得
str.substring対象文字列の指定範囲を取得
str.split対象文字列を指定した文字で分割し配列に格納
str.replace対象文字列内にある文字列Aを文字列Bに変換(N回目の文字列のみ)
str.replace_all対象文字列内にある文字列Aを文字列Bに変換(すべて)
str.formatフォーマット文字列に任意の変数を埋め込んだ文字列を作成
str.format_timeタイムスタンプを指定したフォーマットで文字列に変換
str.tostring整数型や浮動小数点型を文字列型に変換
str.tonumber文字列型を浮動小数点型に変換
str.lower対象文字列をすべて小文字に変換
str.upper対象文字列をすべて大文字に変換