演算子
!=
等しくない。 任意のタイプの式に適用できます。
expr1 != expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
%
Modulo(整数の余り)。数式に適用できます。
expr1 % expr2
戻り
整数値または小数点値、または一連の値
*
乗算。 数式に適用できます。
expr1 * expr2
戻り
整数値または小数点値、または一連の値
+
加算または単項追加。 数値式または文字列に適用されます。
expr1 + expr2
+ expr
戻り
文字列のバイナリー `+`はexpr1とexpr2の連結を返します数値の場合、整数値または小数点値、または一連の値を返します:バイナリー `+`はexpr1とexpr2を返します。
Unary `+`はexprを返します(単項演算子の対称性のためだけには何も加えません)。
備考
演算子は数値だけでなく系列変数でも使用できます。
系列を使用する場合は演算子は要素ごとに適用されます。
–
減算または単項マイナス。 数式に適用できます。
expr1 – expr2
– expr
戻り
整数値または小数点値、または一連の値を返します:バイナリー `-`は、expr1からexpr2を引いた値を返します。
単項 `–`はexprの否定を返します。
備考
演算子は数値だけでなく系列変数でも使用できます。
系列を使用する場合は演算子は要素ごとに適用されます。
/
Division。
数値式に適用できる。
expr1 / expr2
戻り
整数値または小数点値、または一連の値
<
未満。 数式に適用できます。
expr1 < expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
<=
より小さいか等しい。
数式に適用できます。
expr1 <= expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
==
Equal to。
任意のタイプに利用できる。
expr1 == expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
>
より大きい。 数式に適用できます。
expr1 > expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
>=
より大きいもしくは等しい。 数式に適用できます。
expr1 >= expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
?:
三項条件演算子。
expr1 ? expr2 : expr3
例
// Draw circles at the bars where open crosses close
s2 = cross(open, close) ? avg(open,close) : na
plot(s2, style=plot.style_circles, linewidth=2, color=color.red)
// Combination of ?: operators for 'switch'-like logic
c = timeframe.isintraday ? color.red : timeframe.isdaily ? color.green : timeframe.isweekly ? color.blue : color.gray
plot(hl2, color=c)
戻り
もしexpr1がtrueであればexpr2、そうでなければexpr3。
ゼロ値(0またはNaN、+ Infinity、-Infinity)はfalseとみなされ、他の値はtrueです。
備考
必要がない場合は、 ‘else’分岐にnaを使用してください。
2つ以上の?:演算子を組み合わせて、「スイッチ」のようなステートメント効果を実現できます(上記の例を参照)。
演算子は数値だけでなく系列変数でも使用できます。
系列を使用する場合は演算子は要素ごとに適用されます。
[]
サブスクリプト形式。
expr1系列の以前の値へのアクセスを提供します。
expr2は過去バーの数であり、数値でなければなりません。
小数点は切り捨てられます。
expr1[expr2]
例
// [] can be used to "save" variable value between bars
a = 0.0 // declare `a`
a := a[1] // immediately set current value to the same as previous. `na` in the beginning of history
if high == low // if some condition - change `a` value to another
a := low
戻り
一連の値
and
論理AND。
ブーリアン式に適用できます。
expr1 and expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
not
論理否定(NOT)。ブーリアン式に適用できます。
not expr1
戻り
ブーリアン値、もしくはブーリアン値の系列
or
論理OR。
ブーリアン式に適用できます。
expr1 or expr2
戻り
ブーリアン値、もしくはブーリアン値の系列
var
varは、変数の1度限りの初期化や代入に用いられるキーワードです。
通常、変数の代入の構文にはキーワードvarは含まれず、データが更新されるたびに変数の値が上書きされます。
それとは反対にキーワードvarを付けて変数を代入する場合には、データが更新された時でも「状態を維持する」ことができます、if式で条件が満たされる時にだけ変更されます。
バージョン4から利用可能です。
var variable_name = expression
解説:
variable_name – Pineスクリプトで許可されるユーザー変数の名前(ローマ字の大文字、小文字、数字、アンダーバー(_)を含める事ができますが、数字で始める事はできません)
expression – 通常の変数を定義するのと同様の任意の算術式。式は計算され、変数に一度代入されます。
例
//@version=4
study("Var keyword example")
var a = close
var b = 0.0
var c = 0.0
var green_bars_count = 0
if close > open
var x = close
b := x
green_bars_count := green_bars_count + 1
if green_bars_count >= 10
var y = close
c := y
plot(a)
plot(b)
plot(c)
変数 ‘a‘ は、系列の各バー毎に最初のバーの終値を保持します。変数‘b‘は、系列の最初の緑色のバーの終値を保持します。変数‘c‘は、系列の10番目の緑色のバーの終値を保持します。