Debug your Pine Script® code with Pine Logs

Aug 29, 2023

Kod yürütülürken yeni Pine Günlükleri bölmesinde metin görüntüleyen yeni log.*() işlevlerimizle Pine Script® hata ayıklamanızı başka bir seviyeye taşıyın. Üç yeni günlük (log) fonksiyonu şunlardır:

  • log.error() kırmızı renkte görüntülenen “Hata” türünde mesajlar oluşturur.
  • log.info() gri renkte görüntülenen “Bilgi” türünde mesajlar oluşturur.
  • log.warning() turuncu renkte görüntülenen “Uyarı” türünde mesajlar oluşturur.

Pine Günlüklerini, Editörün “Diğer” menüsünden “Pine Günlükleri…” öğesini seçerek veya log.*()işlevlerini kullanıyorsa grafiğinize yüklenen bir kodun “Diğer” menüsünden görüntüleyebilirsiniz.

Pine Logs her yerde çalışır: geçmiş çubuklarda, gerçek zamanlı olarak ve Replay modunda. Günlük işlevleri, her tür komut dosyasından (gösterge, strateji veya kitaplık) ve yerel bloklar, döngüler ve request.security() ve benzeri işlevlerin içinden dahil olmak üzere komut dosyasının herhangi bir yerinden çağrılabilir. Günlük işlevlerini iki şekilde çağırabilirsiniz: yalnızca bir dize bağımsız değişkeni kullanarak veya bir biçimlendirme dizesi ve str.format() biçiminde bir değer listesi kullanarak.

Günlükleri kullanan komut dosyaları kişisel komut dosyaları olmalıdır; özel veya kamuya açık olarak yayınlanan komut dosyaları, log.*() işlevlerine çağrılar içerse bile günlük oluşturamaz.

Aşağıdaki kod örneğinde her üç günlük kaydı işlevi de kullanılmaktadır:

//@version=5
indicator("Pine Logs")
if barstate.ishistory
    if bar_index % 100 == 0
        log.warning("\nBar index: {0,number,#}", bar_index)
else
    // Realtime bar processing.
    varip lastTime = timenow
    varip updateNo = 0
    if barstate.isnew
        updateNo := 0
        log.error("\nNew bar")
    else
        log.info("\nUpdate no: {0}\nclose: {1}\nSeconds elapsed: {2}", updateNo, close, (timenow - lastTime) / 1000)
        updateNo += 1
    lastTime := timenow
plot(timenow)

Örnek, turuncu bir uyarı mesajı kullanarak her yüzüncü tarihsel çubukta çubuk endeksini görüntüler. Gerçek zamanlı olarak, her yeni çubuk için kırmızı renkte bir hata mesajı görüntüler ve her gerçek zamanlı güncelleme için güncelleme numarasını, kapanış fiyatını ve son grafik güncellemesinden bu yana geçen süreyi gösteren gri renkte bir bilgi mesajı oluşturur.

Pine günlüklerini iş başında görmek için:

    1. Yukarıdaki kod örneğini kişisel bir komut dosyasına kaydedin ve aktif bir piyasa olan bir grafiğe ekleyin.
    2. Editörün “Daha Fazla” menüsünü veya grafikteki göstergenin “Daha Fazla” menüsünü kullanarak “Çam Tomrukları” bölmesini açın.

      Her günlük girişinin önüne bir zaman damgası eklenir. Bu, geçmiş çubuklar için çubuğun açılış zamanı, gerçek zamanlı mesajlar için ise geçerli zamandır. Daha yeni mesajlar bölmenin alt kısmında görünür. Tarihsel çubuklar için yalnızca son 10.000 mesaj görüntülenir; gerçek zamanlı mesajlar bunlara eklenir.Bölmenin üst kısmında günlüğü başlatmanızı/durdurmanızı, bir başlangıç tarihi belirlemenizi, günlükleri mesaj türüne göre filtrelemenizi ve günlüklerde arama yapmanızı sağlayan simgeler bulunur. Arama alanı, büyük/küçük harfleri, tüm kelimeleri eşleştirmenize ve regex kullanmanıza olanak tanıyan bir alt menü içerir.Bir günlük mesajının üzerine geldiğinizde, mesajı oluşturan kaynak kodu görüntülemenize veya ilgili grafik çubuğuna atlamanıza olanak tanıyan simgeler görünür:

      Grafiğinizdeki birden fazla komut dosyası günlükleri kullandığında, her biri kendi mesaj kümesini tutar. Pine Günlükleri bölmesinin üst kısmındaki açılır menüyü kullanarak her bir komut dosyasının günlükleri arasında geçiş yapabilirsiniz:

Yeni Pine Script® özelliklerinden haberdar olmak için Kullanım Kılavuzunun Sürüm notlarına göz atın. PineCoders hesabı ayrıca Telegram’daki Squawk Box‘ından, Twitter hesabından ve TradingView’deki Pine Script® Q&A genel sohbetinden güncellemeler yayınlar. 

Bu çok talep edilen özelliği düşündüğümüz kadar yararlı bulacağınızı umuyoruz ve platformu olabildiğince iyi hale getirebilmemiz için lütfen bize geri bildirim ve önerilerinizi göndermeye devam edin. TradingView’i sizin için oluşturduk ve düşüncelerinizi her zaman duymak istiyoruz.

 

— TradingView Ekibi

 

Look first Then leap

TradingView sizin için tasarlandı, bu nedenle muhteşem özelliklerimizden en iyi şekilde yararlandığınızdan emin olun
Grafiği Açın