逆引きPine言語辞典

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

構文

スクリプト宣言

studyインジケーターの宣言と設定
strategyストラテジーの宣言と設定

分岐構文

if
else if
else
条件に応じて処理を分岐する構文
? :三項演算子
iff三項演算子(関数版)

繰り返し構文

for指定回数だけ処理を繰り返す構文

変数用構文

var
:=
値を保持する変数の宣言
[]過去足情報の取得

足情報

価格と出来高

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

日付と時刻

year現在足または任意のUNIX時間の「年」を取得
month現在足または任意のUNIX時間の「月」を取得
dayofmonth現在足または任意のUNIX時間の「日」を取得
weekofyear現在足または任意のUNIX時間の「週番号」を取得
dayofweek現在足または任意のUNIX時間の「曜日」を取得
hour現在足または任意のUNIX時間の「時」を取得
second現在足または任意のUNIX時間の「秒」を取得
minute現在足または任意のUNIX時間の「分」を取得
time現在足のUNIX時間を取得
time_close現在足がクローズしたUNIX時間を取得
timenow今現在のUNIX時間を取得
timestamp引数で指定された日時のUNIX時間を取得

足番号

bar_index現在足の番号(最初の足からのカウント)
max_bars_back指定された命令や変数の過去データ参照に必要な足の最大数を設定

足の状態

barstate.isfirst現在の足がチャート全体の最初の足かどうか判定
barstate.islast現在の足がチャート全体の最後の足かどうか判定
barstate.ishistory現在の足がヒストリカルデータかどうか判定
barstate.isrealtime現在の足がリアルタイムデータかどうか判定
barstate.isnew現在のスクリプトが足の最初で実行されたかどうか判定
barstate.isconfirmed現在のスクリプトが足の最後で実行されたかどうか判定

演算子

算術演算子

+値と値の足し算(または文字列同士の連結)
値と値の引き算
値と値の割り算
*値と値の掛け算
%値と値の割り算の余り

比較演算子

>AがBより大きいかどうか比較
<AがBより小さいかどうか比較
==AがBと等しいかどうか比較
>=AがB以上かどうか比較
<=AがB以下かどうか比較
!=AがBと等しくないかどうか比較

論理演算子

orA または B
notA が正しくない
andA かつ B

算術計算

符号と桁合わせ

abs絶対値を取得
sign符号を取得
floor整数への切り下げ
ceil整数への切り上げ
round整数への四捨五入

三角関数

sin三角関数「サイン」の計算
cos三角関数「コサイン」の計算
tan三角関数「タンジェント」の計算
asin三角関数「アークサイン」の計算
acos三角関数「アークコサイン」の計算
atan三角関数「アークタンジェント」の計算

指数/対数

sqrt平方根を計算
powべき乗を計算
exp指数関数を計算
log自然対数を計算
log10底と10とした対数を計算

最大/最小

max引数の中で最大の数値を取得
min引数の中で最小の数値を取得

シリーズ計算

合計

sum直近N日の価格合計を計算
cum指定価格シリーズの累計を計算

平均

avg全引数の平均を計算

最高値/最安値

highest直近N日における最高値を取得
highestbars直近N日における最高値を取得
lowest直近N日における最安値を取得
lowestbars直近N日における最安値を取得

変化率

change指定した値について現在とN日前の差を計算
roc指定した値について現在とN日前の変化率(%)を計算

ピボットハイ/ロー

pivotlow直近のピボットロー価格を計算
pivothigh直近のピボットハイ価格を計算

標準偏差と分散

stdev直近N日の標準偏差を計算
variance直近N日の分散を計算

パーセンタイル

percentrank指定した範囲の値において、現在の値が何%の位置にあるかを計算
percentile_linear_interpolation指定した範囲の値におけるNパーセンタイルを計算(最も近いランク間の線形補間)
percentile_nearest_rank指定した範囲の値におけるNパーセンタイルを計算(最も近いランク)

テクニカル指標

移動平均

sma単純移動平均線を計算
ema指数加重移動平均を計算
wma加重移動平均を計算
vwma出来高加重移動平均を計算
swma対称加重移動平均を計算
rma修正移動平均を計算
hmaハル移動平均を計算
vwapVWAPを計算
dev単純移動平均からの偏差を計算

チャネル系

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

オシレーター系

momモメンタムを計算
macdMACDを計算
rsiRSIを計算
stochストキャスティクス%Kを計算
trトゥルー・レンジを計算
atrアベレージ・トゥルー・レンジを計算

サイン表示系

sarパラボリックSARを計算

プロット

基本的なプロット

plotチャートへグラフやサインを描画
hline水平ラインを描画

図形や文字のプロット

plotcharチャート上にUnicode文字を描画
plotshapeチャートに図形(マーク)を描画
plotarrowチャートへ上下の矢印を描画

プロット関連の色設定

barcolorチャート足の色を設定(ボディ部のみ)
bgcolorチャート足の背景色を設定
fillプロットしたライン間を指定色で塗りつぶし

描画オブジェクト

ライン

line.newチャート上にラインを描画
line.delete描画済みラインの削除
line.get_x1ラインの始点におけるx座標を取得
line.get_y1ラインの始点におけるy座標(価格)を取得
line.get_x2ラインの終点におけるx座標を取得
line.get_y2ラインの終点におけるy座標(価格)を取得
line.set_x1ラインの始点におけるx座標を設定
line.set_xy1ラインの始点におけるxy座標を設定
line.set_xy2ラインの終点におけるxy座標を設定
line.set_y1ラインの始点におけるy座標(価格)を設定
line.set_x2ラインの終点におけるx座標を設定
line.set_y2ラインの終点におけるy座標(価格)を設定
line.set_xlocラインのx座標を指定する方法を設定
line.set_styleラインスタイルを設定
line.set_colorラインの色を設定
line.set_widthライン幅を設定
line.set_extendラインの延長方法を設定

ラベル

label.newチャート上にラベルを描画
label.delete描画済みラベルの削除
label.get_xラベル表示位置のx座標を取得
label.get_yラベル表示位置のy座標を取得
label.get_textラベルのテキストを取得
label.set_xラベル表示位置のx座標を設定
label.set_yラインの始点におけるy座標(価格)を設定
label.set_xyラベル表示位置のx座標/y座標を設定
label.set_xlocラベル表示位置のx座標を指定する方法を設定
label.set_ylocラベル表示位置のy座標を指定する方法を設定
label.set_styleラベルのスタイルを設定
label.set_colorラベルの色を設定
label.set_sizeラベルのサイズを設定
label.set_textラベルのテキストを設定
label.set_textcolorラベルの文字色を設定
label.set_textalignラベルのテキストの文字寄せ方法を設定
label.set_tooltipラベルのツールチップテキストを設定

チャート情報

銘柄情報

syminfo系チャートに表示中のシンボルに関する情報を取得

足種情報

timeframe.ismonthly現在のチャート足種が月足かどうか判定
timeframe.isweekly現在のチャート足種が週足かどうか判定
timeframe.isdaily現在のチャート足種が日足かどうか判定
timeframe.isminutes現在のチャート足種が分足かどうか判定
timeframe.isseconds現在のチャート足種が秒足かどうか判定
timeframe.isdwm現在のチャート足種が日足以上(日足/週足/月足)かどうか判定
timeframe.isintraday現在のチャート足種が日中足(分足/秒足などかどうか判定
timeframe.period現在のチャート足種を英数字で表記した文字列を取得
timeframe.multiplier現在のチャート足種における数値部分のみを取得