Yapı, türler ve atamalar
Sabit, girdi, seri, skaler ve kayıt türlerini ayırt edin.
Script yapısı
Tam bir script //@selscript=1 ile başlar ve tam bir üst seviye indicator() bildirimi içerir. Yorumlar // ile başlar. Bloklar : ve boşlukla girinti kullanır; tab kabul edilmez. Bir ifadenin parantez içindeki satırlara bölünmesi mümkündür.
Değer türleri
| Tür | Örnek | Kullanım |
|---|---|---|
| number | 20, 0.5, close | Fiyat, dönem veya oran |
| bool | true, close > open | Koşul |
| string | "BUY" | Başlık/metin |
| na | na | Eksik skaler değer |
| bars | request.symbol(...) sonucu | OHLCV/time alanları |
| macd | ta.macd(...) sonucu | line/signal/histogram alanları |
| table | table.new(...) sonucu | Tablo hücre hedefi |
20 ile "20" farklıdır. if close: gibi sayıyı boolean saymak geçerli değildir; açık karşılaştırma kullanın. Bars/macd kayıtlarını doğrudan plot.line() içine vermeyin; sayısal alanı seçin.
Değerin değişim düzeyi
Sabit: Kaynak koddan belirlenir. Girdi: Kullanıcı tarafından seçilir, çalıştırma boyunca değişmez. Seri: Her mumda değişebilir. input.source seçimi sabit olsa da seçilen fiyat/hacim değeri seridir.
Fonksiyon sayfalarındaki Sabit kuralı bir fiyat serisinin kullanılamayacağı anlamına gelir. length=close TA dönemi olamaz. plot.line başlığı da mum fiyatından üretilemez.
Tanımlama ve güncelleme
//@selscript=1
indicator("Assignment", overlay=false)
value = close - open
if close < open:
value := 0
plot.histogram(value)= yeni ad tanımlar; := mevcut skaler adı günceller ve türü korur. Aynı adı yeniden tanımlayarak başka kapsamı gölgelemeyin. Güncellemeyi sürekli saklanan Pine var durumu gibi yorumlamayın; her mumda üstteki tanımlama yeniden değerlendirilir.
Yerleşim
Üst seviyede girdileri, TA hesaplarını ve veri isteklerini tanımlayın. Çizgi/histogram/yatay çizgi ifadeleri üst seviyededir. Şekil, etiket, sinyal ve tablo hücreleri koşula alınabilir. Örneğin EMA hesabını if enabled içine koymak yerine plot.line(ema, visible=enabled) kullanın.