Sınırlı döngüler ve break
Sabit aralıklarla geçmişi işleyin ve döngü sınırlarını koruyun.
for yapısı
for i = A to B: negatif olmayan, artan sabit tam sayı sınırlarıyla yazılır; sınırlar dahildir. En fazla 256 iterasyon vardır. Döngü derleme sırasında açılır; while, dinamik uzunluk ve sonsuz döngü yoktur. Döngü indeksini başka değişkenle çakıştırmayın.
//@selscript=1
indicator("Five-bar mean", overlay=true)
total = 0.0
valid = true
for i = 0 to 4:
if is_na(close[i]):
valid := false
break
total := total + close[i]
mean = valid ? total / 5 : na
plot.line(mean)İlk dört mumda beş gözlem olmadığı için sonuç na; sonra beş kapanışın ortalamasıdır. Aynı amaç için ta.sma(close, 5) daha kısa ve uygundur; örnek geçmiş erişimi ve break davranışını gösterir.
break yerleşimi
break yalnız döngü içindedir. Bulunduğu blokta son ifade olmalıdır; koşul içindeki blok da buna dahildir. Eksik gözlemde döngüyü kesmek, eksik değeri sıfır gibi toplamaktan daha anlamlıdır.
Hesaplama maliyeti
Döngü içinde 256 kez çıktı üretmek 256 ayrı tanım oluşturabilir. İç içe döngüler ve çok sayıda şekil çalışma sınırını büyütür. Girdi veya TA fonksiyonunu döngüde çoğaltmak yerine üst seviyede tanımlayın; mümkün olduğunda mevcut TA fonksiyonunu kullanın.