Hata kodları ve sorun giderme
Derleme, veri, boş çizgi, tablo ve yayın hatalarının çözümleri.
Hata mesajını okuyun
Mesajdaki kod, satır/sütun ve hata/uyarı düzeyini birlikte değerlendirin. İlk hatayı düzeltip yeniden deneyin; sonraki hatalar onun sonucu olabilir. Uyarı, her zaman scriptin tamamının durduğu anlamına gelmez.
Kod kataloğu
| Kod | Anlam | Çözüm |
|---|---|---|
LANGUAGE_VERSION | İlk satır veya dil sürümü yanlış | İlk satıra tam //@selscript=1 yazın; öncesine boş satır koymayın. |
TAB / INDENT / PARSE / LEX | Girinti veya sözdizimi | Tabı boşluğa çevirin; : ve parantez/tırnak kapanışını kontrol edin. |
FUNCTION | Kayıtlı olmayan fonksiyon | Referanstaki adı kullanın; Pine işlevlerinin tümü mevcut değildir. |
NAME / MEMBER | Bilinmeyen değişken veya alan | Tanımı kullanımdan önce yapın; MACD için .line, bars için .close gibi geçerli alanı seçin. |
TYPE | Türler uyuşmuyor | Sayı, boolean ve metni örtük dönüştürmeyin; if close > 0 gibi açık koşul kullanın. |
PLACEMENT | Çağrı yanlış yerde | Girdi/TA/isteği koşulsuz üst seviyeye; sayısal plot ifadesini üst seviyeye taşıyın. |
ARGUMENT / CONSTANT | Argüman adı, sayısı veya sabitlik kuralı | Fonksiyon imzasını kontrol edin; security üç konumsal argüman ister. |
PERIOD / INPUT_RANGE / INPUT_SOURCE | Dönem veya kullanıcı girdisi | TA dönemi 1–5000; varsayılan min/max içinde olmalı, source aktif OHLCV olmalı. |
HISTORY_INDEX / HISTORY_TYPE | Geçmiş indeksi veya seri türü | 0–5000 sabit indeks ve sayısal/boolean seri kullanın. |
OCCURRENCE | Olay sırası geçersiz | valuewhen occurrence için 0–4999 sabit tam sayı kullanın. |
PRECISION | Ondalık basamak sayısı | math.round/str.tostring için 0–12 sabit tam sayı kullanın. |
COLOR / LOCATION / SHAPE / WIDTH | Görsel parametre | Hex RGB/RGBA, desteklenen şekil/konum ve 1–4 çizgi kalınlığı kullanın. |
SECURITY_SYMBOL / SECURITY_TIMEFRAME / SECURITY_CONTEXT / SECURITY_TYPE | Yüksek-aralık isteği | Doğrudan sembol ve aralık metni, skaler ifade, aynı/yüksek aralık kullanın. |
FINANCIAL_METRIC / FINANCIAL_PERIOD / FINANCIAL_OFFSET | Finansal alan veya dönem | Katalogdaki metrik, FQ/FY ve 0–39 offset kullanın. |
TABLE / TABLE_LIMIT / TABLE_RANGE | Tablo kimliği veya boyutu | Tanımlı tablo, geçerli koordinat, en fazla dört tablo/256 hücre kullanın. |
TABLE_CELL / TABLE_MERGE / TABLE_STYLE | Hücre, birleşim veya stil | Her hücreyi bir kez tanımlayın; çakışan birleşimi kaldırın; katalogdaki hizalamayı seçin. |
LOOP_RANGE / BREAK | Döngü sınırı veya break | Negatif olmayan, artan sabit sınırlar ve en fazla 256 iterasyon; break blok sonunda olmalı. |
DATASET_LIMIT / OUTPUT_LIMIT | Veri/çıktı tanımı sınırı | Dört harici bağlam, 32 çizim tanımı ve sekiz sinyal sınırını kontrol edin. |
SOURCE_LIMIT / COMPLEXITY / DEPTH / OPERATION_LIMIT / STRING_LIMIT | Kaynak veya hesap bütçesi | Kodu, döngüleri, metinleri ve gereksiz çıktıları azaltın. |
NUMERIC | Geçersiz sayısal sonuç | Sıfır payda, negatif karekök veya taşmayı kontrol edin; na değerini koruyun. |
Hatalı ve düzeltilmiş örnek
Aşağıdaki kod bilerek hatalıdır; PLACEMENT üretir:
//@selscript=1
indicator("Invalid EMA", overlay=true)
if close > open:
ema = ta.ema(close, 20)Hesabı üst seviyeye taşıyın:
//@selscript=1
indicator("Correct EMA", overlay=true)
ema = ta.ema(close, 20)
plot.line(close > open ? ema : na)Veri erişimi hataları
Sembol çözülememesi, desteklenmeyen zaman aralığı veya geçici veri erişim hatası derleme hatası değildir. Tam borsa kimliğini, ürün türünü ve destek matrisini kontrol edin. FX: grafiğinin çalışması harici FX isteğinin çalışacağını göstermez. Veri hatasını sembolü sessizce değiştirerek gizlemeyin.
Çizgi yok, yalnız fiyat etiketi var
- Doğru sürümün uygulandığını kontrol edin; Kaydet tek başına güncellemez.
- Stil’de çıktı açık, opaklık sıfırdan büyük ve doğru zaman grubu seçili olsun.
- Hesabın başlangıcına yetecek veri yükleyin; tek geçerli nokta sürekli çizgi oluşturmaz.
naveya yanlış panel/fiyat ölçeği olup olmadığını kontrol edin.- Yalnız kütüphane sürümünde oluyorsa yayın sürümünü ve girdilerini özel sürümle karşılaştırın.
Tablo görünmüyor
Son mumun bulunduğunu, hücre koşulunun true olduğunu ve tablonun Stil’de açık olduğunu kontrol edin. Konumu değiştirin; başka panelin altında veya fiyat ölçeği üzerinde kalmış olabilir. Eksik sayıyı "—" ile gösterin.
Sürekli hesaplama ve bekleme
Açık mum güncellemeleri yeniden hesaplama üretebilir. Aynı değişmeyen bağlamda sürekli hata/istek döngüsü varsa bunun normal olduğunu varsaymayın. Hata mesajı, sembol, aralık, yayın/sürüm ve tekrar adımlarıyla destek isteyin; özel kodu paylaşmak zorunda değilsiniz.
Diğer doğrulanmış hatalı örnekler
Bu kodlar bilerek hatalıdır; başlıktaki hata kodunu üretmeleri beklenir. Çözüm yukarıdaki kod kataloğundadır.
FUNCTION
//@selscript=1
indicator("Invalid", overlay=true)
plot(close)INPUT_RANGE
//@selscript=1
indicator("Invalid", overlay=true)
length = input.int("Length", 20, min=1, max=10)COLOR
//@selscript=1
indicator("Invalid", overlay=true)
plot.line(close, color="red")HISTORY_INDEX
//@selscript=1
indicator("Invalid", overlay=true)
plot.line(close[-1])FINANCIAL_PERIOD
//@selscript=1
indicator("Invalid", overlay=true)
value = request.financial(market.symbol, "TOTAL_REVENUE", "TTM")TABLE_CELL
//@selscript=1
indicator("Invalid", overlay=true)
t = table.new("top_left", 1, 1)
table.cell(t, 0, 0, "A")
table.cell(t, 0, 0, "B")