forループ
for
Forステートメントは、複数の命令を繰り返し実行することを可能にします。forステートメントにアクセスして使用するには、コードの最初の行にPine Script言語のバージョン2以上を指定する必要があります。
例:
//@version=4
var_declarationX = for counter = from_num to to_num [by step_num]
var_decl0
var_decl1
…
continue
…
break
…
var_declN
return_expression
解説:
counter – 変数、ループカウンター。
from_num – カウンターの開始値
to_num – カウンターの終了値。カウンターがto_numより大きくなった(またはfrom_num > to_numの場合で、to_numより小さくなった)場合は、ループは打ち切られています。
step_num – ループステップ。省略可能です(ループステップ= 1の場合)。from_numがto_numより大きい場合、ループステップは自動的に方向を変更します。負の数を指定する必要はありません。
var_decl0, … var_declN, return_expression – ループの本体。4スペースまたは1タブだけシフトする必要があります。
return_expression – 値を返します。ループが終了または中断された場合、戻り値はvar_declarationXに渡されます。
continue – キーワード。ループ内でのみ使用できます。ループを次の反復に切り替えます。
break – キーワード。ループ内でのみ使用できます。ループが打ち切られます。例
//@version=4
study("My sma")
my_sma(price, length) =>
sum = price
for i = 1 to length-1
sum := sum + price[i]
sum / length
plot(my_sma(close,14))
備考 変数 ‘sum’は可変変数であり、ループ本体中の演算子「=」によって新しい値が与えられます。また、より高速に計算されるため、移動平均の組み込み関数smaを使用することをお勧めします。
注意 どこまでがforループの範囲かはインデントで決まります。インデントはTabストップで入れるべきです。適切なインデントが入っていない場合は構文エラーとなります。