Pine sekarang menyokong isian di antara garisan lukisan-lukisan

Jan 11, 2022

Pengaturcara Pine suka mempunyai pilihan-pilihan berbeza apabila mempamerkan pengiraan penunjuk di atas carta dan ianya datang dengan sebab yang bagus. Bagaimana kita membentangkan informasi, adalah sama penting dengan informasi itu sendiri kerana visual yang direka dengan baik menjadikan penunjuk-penunjuk lebih senang digunakan.

Tambahan baru kami kepada kotak alat Pine, membenarkan anda untuk mengisi ruang kosong di antara dua garisan lukisan menggunakan jenis lukisan “linefill” yang baru dan fungsi-fungsi yang ada bersamanya.

Asasnya adalah mudah: untuk mengisi ruang kosong di antara dua garisan lukisan, panggil fungsi linefill.new() dengan ID mereka dan satu warna. Mana-mana pasangan dua garisan hanya boleh mempunyai satu linefill di antara mereka, jadi panggilan berturut-turut kepada linefill.new() pada pasangan garisan yang sama akan menggantikan isian sebelum ini dengan yang baru.

Kelakuan linefill adalah bergantung kepada garisan-garisan yang disambung kepada mereka. Jika kedua-dua garisan memanjang pada arah yang sama, linefill akan mengikuti kepanjangan mereka, seperti yang boleh dilihat pada paparan skrip selepas ini.

IDi dalam contoh di bawah, penunjuk kami melukis dua garisan menyambungkan dua tinggi dan rendah pangsi terakhir pada carta. Kami memanjangkan garisan ke kanan untuk menayangkan pergerakan jangka pendek pada carta dan mengisikan ruang kosong di antara mereka untuk mempertingkatkan kebolehlihatan saluran yang garisan-garisan ini cipta:

//@version=5
indicator("Channel", overlay = true)

LEN_LEFT = 15
LEN_RIGHT = 5
pH = ta.pivothigh(LEN_LEFT, LEN_RIGHT)
pL = ta.pivotlow(LEN_LEFT, LEN_RIGHT)

// Bar indices of pivot points
pH_x1 = ta.valuewhen(pH, bar_index, 1) - LEN_RIGHT
pH_x2 = ta.valuewhen(pH, bar_index, 0) - LEN_RIGHT
pL_x1 = ta.valuewhen(pL, bar_index, 1) - LEN_RIGHT
pL_x2 = ta.valuewhen(pL, bar_index, 0) - LEN_RIGHT
// Price values of pivot points
pH_y1 = ta.valuewhen(pH, pH, 1)
pH_y2 = ta.valuewhen(pH, pH, 0)
pL_y1 = ta.valuewhen(pL, pL, 1)
pL_y2 = ta.valuewhen(pL, pL, 0)

if barstate.islastconfirmedhistory
    // Lines
    lH = line.new(pH_x1, pH_y1, pH_x2, pH_y2, extend = extend.right)
    lL = line.new(pL_x1, pL_y1, pL_x2, pL_y2, extend = extend.right)
    // Fill
    fillColor = switch
        pH_y2 > pH_y1 and pL_y2 > pL_y1 => color.green
        pH_y2 < pH_y1 and pL_y2 < pL_y1 => color.red
        => color.silver
    linefill.new(lH, lL, color.new(fillColor, 90))

Anda boleh belajar lebih lanjut mengenai kegunaan linefill ini di dalam Manual Rujukan kami: Cuma taip “linefill” di dalam kawasan carian untuk memanggil semua fungsi-fungsi yang berkaitan. Atau, jika anda lebih suka belajar dari orang-orang yang hebat, contoh-contoh berikut menunjukkan bagaimana beberapa PineCoders kami menggunakan linefill:

Gann Fan oleh LonesomeThe Blue

Average Lines oleh fikira

Auto Fib Time Zones dan Trend-Based Fib Time oleh DGT (…by dgtrd)

Untuk berada dalam keadaan sentiasa termaklum dengan ciri-ciri Pine baru, sentiasa rujuk kepada nota Keluaran Manual Pengguna kami. PineCoders kami juga menyiarkan kemas kini dari saluran Telegram Squawk Box, Twitter, dan dari ruang sembang awam Skrip Pine di TradingView

Kami harap anda akan mendapati ciri-ciri yang tinggi permintaan ini berguna. Semoga anda akan sentiasa memberikan kami maklumbalas dan cadangan untuk penambahbaikan. Kami membina TradingView untuk anda dan kami sentiasa berminat untuk mendengar dari anda.

Look first Then leap

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