Nyahpepijat kod Pine Script® anda dengan Log Pine

Aug 29, 2023

Bawa proses nyahpepijatan anda lebih maju dengan fungsi log.*() baharu kami, yang memaparkan teks dalam panel baharu Log Pine semasa skrip dijalankan. Tiga fungsi log baharu adalah:

  • log.error() mencipta mesej untuk jenis “Ralat” dipaparkan dalam warna merah.
  • log.info() mencipta mesej untuk jenis “Maklumat” dipaparkan dalam warna kelabu.
  • log.warning() mencipta mesej untuk jenis “Amaran” dipaparkan dalam warna oren.

Anda boleh melihat Log Pine dengan memilih “Log Pine…” dari menu Editor “Lebih”, atau dari menu “Lebih” untuk satu skrip yang dimuatkan pada carta anda jika ia menggunakan fungsi log.*().

Log Pine berfungsi di mana-mana: pada bar sejarah, dalam masa nyata, dan dalam mod Ulang Semula. Fungsi log boleh dipanggil dari mana-mana jenis skrip (penunjuk, strategi atau perpustakaan) dan dari mana-mana dalam skrip, termasuklah blok tempatan, gelung dan dari dalam request.security() dan fungsi yang sama. Anda boleh memanggil fungsi log dalam dua cara: menggunakan hanya satu argumen untaian, atau satu untaian pemformatan dan satu senarai nilai-nilai dalam bentuk str.format() .

Skrip menggunakan log mestilah skrip peribadi; skrip yang diterbitkan secara peribadi atau umum tidak boleh menjana log, walaupun jika mereka mengandungi panggilan kepada fungsi log.*().

Contoh kod berikut menggunakan semua ketiga-tiga fungsi log:

//@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)

Contoh ini memaparkan indeks bar pada setiap bar sejarah ke seratus menggunakan satu mesej amaran oren. Dalam masa nyata, ia memaparkan satu mesej ralat dalam warna merah untuk setiap bar baharu, dan untuk setiap kemas kini masa nyata, ia mencipta satu mesej maklumat dalam warna kelabu menunjukkan bilangan dikemas kini, harga tutup, dan masa yang telah berlalu semenjak kemas kini terakhir carta.

Untuk melihat Log Pine beraksi:

  1. Simpan contoh kod di atas kepada satu skrip peribadi dan tambahkannya kepada satu carta dengan pasaran yang aktif.
  2. Buka panel “Log Pine” menggunakan menu Editor “Lebih” atau menu penunjuk “Lebih” pada carta.

Satu cop masa mendahului setiap masukan log. Ia adalah masa bukaan bar untuk bar sejarah dan masa terkini untuk mesej masa nyata. Mesej-mesej baharu muncul pada bahagian bawah panel. Hanya 10,000 mesej terakhir akan dipaparkan untuk bar sejarah; mesej masa nyata dilampirkan kepadanya.

Bahagian atas panel mengandungi ikon yang membenarkan anda untuk mulakan/hentikan log, menentukan satu tarikh permulaan, menapis log dari jenis mesej dan mencari log. Ruangan carian mengandungi satu sub menu yang membenarkan anda untuk  memadankan kes, semua huruf dan menggunakan regex.

Apabila anda menatal di atas satu mesej log, ikon terpapar yang membenarkan anda untuk melihat kod sumber yang telah menjana mesej atau melompat ke bar carta yang sepadan:

Apabila beberapa skrip pada carta anda menggunakan log, setiap satu mengekalkan set mesejnya sendiri. Anda boleh menukar antara log setiap skrip dengan menggunakan menu lungsur turun pada bahagian atas Log Pine:

Untuk kekal terkini pada ciri-ciri baharu Pine Script® , pastikan anda sentiasa memerhatikan nota Keluaran Manual Pengguna. Akaun PineCoders juga menyiarkan kemas kini dari Squawk Box nya di Telegram, akaun Twitter nya, dan dari sembang awam Pine Script® Q&A di TradingView.

Kami harap anda akan mendapati ciri yang sangat dipinta ini berguna sebagaimana kami rasai, dan sila kekal menghantarkan kepada kami maklum balas dan cadangan anda supaya kami dapat menjadikan platform ini sebaik yang mungkin. Kami membina TradingView untuk anda dan kami sentiasa berminat untuk mendengar pandangan anda.

— Pasukan TradingView

Look first Then leap

TradingView dibina untuk anda, pastikan anda memanfaatkan semua ciri-ciri hebat kami
Lancarkan Carta