逆引き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対象文字列をすべて大文字に変換

日付型(datetime)

year現在足の「年」を取得
month現在足の「月」を取得
dayofmonth現在足の「日」を取得
dayofweek現在足の「曜日」を取得
weekofyear現在足の「週番号」を取得
hour現在足の「時」を取得
minute現在足の「分」を取得
second現在足の「秒」を取得

テクニカル指標

移動平均線

ta.sma「SMA(単純移動平均線)」を計算
ta.ema「EMA(指数平滑移動平均線)」を計算
ta.vwap「VWAP(出来高加重平均価格)」を計算
ta.wma「WMA(加重移動平均線)」を計算
ta.vwma「VWMA(出来高加重移動平均線)」を計算
ta.rma「RMA(修正移動平均線)」を計算
ta.hma「HMA(ハル移動平均線)」を計算
ta.swma直近4足の「SWMA(対称加重移動平均線)」を計算
ta.alma「ALMA(アルノー・ルグー移動平均線)」を計算
ta.dev「移動平均線乖離率(SMAからの乖離)」を計算

バンド

ta.bb「ボリンジャーバンド」を計算
ta.bbw「ボリンジャーバンド幅」を計算
ta.kc「ケルトナーチャンネル」を計算
ta.kcw「ケルトナーチャンネル幅」を計算

オシレーター

ta.rsi「RSI」を計算
ta.macd「MACD」を計算
ta.stoch「ストキャスティクス」を計算
ta.tr「TR(真の値幅)」を計算
ta.atr「ATR(アベレージ・トゥルー・レンジ)」を計算
ta.dmi「DMI(方向性指数)」を計算
ta.correlation2つの時系列値の「相関」を計算

計算

ta.change現在足とn本前の足の価格差を計算
ta.roc現在足とn足前の変化率を計算
ta.mom現在足とn本前の足のモメンタム(価格差)を取得
ta.range指定値の指定期間における最大値と最小値の差を計算
ta.median指定値の指定期間の中央値(メジアン)を計算
ta.mode指定期間で最も出現頻度の多い値を取得
ta.cum指定した値の累計を計算

最大/最小

ta.highest指定値の指定期間における最高値を取得
ta.highestbars指定値の指定期間における最高値を付けた足のオフセット値を取得
ta.lowest指定値の指定期間における最安値を取得
ta.lowestbars指定値の指定期間における最安値を付けた足のオフセット値を取得
ta.max指定値の全期間における最大値を取得
ta.min指定値の全期間における最小値を取得

ピボット

ta.pivothigh指定値の指定期間内でピボットハイ(山の部分)となった価格を取得
ta.pivotlow指定値の指定期間内でピボットロー(谷の部分)となった価格を取得
ta.pivot_point_levelsピボットポイントのレベルを計算

条件判定

ta.cross値Aが値Bをクロス(上抜けまたは下抜け)したかどうか判定
ta.crossover値Aが値Bを上抜けたかどうか判定
ta.crossunder値Aが値Bを下抜けたかどうか判定
ta.valuewhen現在足から遡ってn番目に指定条件を満たした足から情報を取得
ta.barssince指定条件が最後にtrueだった足からの経過足数を計算
ta.rising指定値が指定期間のどの値よりも大きいかどうか判定
ta.falling指定値が指定期間のどの値よりも小さいかどうか判定

統計

ta.stdev指定期間における値の「標準偏差」を計算
ta.variance指定期間における値の「分散」を計算
ta.linreg線形回帰曲線を計算

パーセンタイル

ta.percentrank指定期間における指定値のパーセントランクを取得
ta.percentile_nearest_rankパーセンタイルを計算(ランク版)
ta.percentile_linear_interpolationパーセンタイルを計算(線形補間版)

その他

ta.sar「パラボリックSAR (パラボリック・ストップ&リバース)」を計算
ta.supertrend「スーパートレンドインジケーター」を計算
ta.tsi「トゥルー・ストレングス・インデックス」を計算
ta.iii「イントラデイ・インテンシティ・インデックス」を計算
ta.accdist「アキュムレーション/ディストリビューションインデックス」を計算
ta.wpr「ウィリアムズ%R」を計算
ta.cmo「シャンデ・モメンタム・オシレーター」を計算
ta.cog「重心オシレーター」を計算
ta.mfi「MFI(マネーフローインデックス)」を計算
ta.cci「CCI (商品チャネル指数) 」を計算します。
ta.obv「オン・バランス・ボリューム」を計算
ta.pvi「ポジティブ・ボリューム・インデックス」を計算
ta.nvi「ネガティブ・ボリューム・インデックス」を計算
ta.pvt「プライス・ボリューム・トレンド」を計算
ta.wad「ウィリアムズ・アキュムレーション/ディストリビューション」を計算
ta.wvad「ウィリアムズ・可変アキュムレーション/ディストリビューション」を計算