Bagaimana cara menggunakan nilai variabel pada peringatan?

Anda dapat menggunakan placeholder khusus untuk mengakses nilai variabel dalam pesan peringatan. Misalnya, anda dapat membuat sebuah peringatan di NASDAQ: AAPL dan mengetik pesan berikut di kotak pesannya:


{{exchange}}:{{ticker}}, price = {{close}}, volume = {{volume}}

Setelah peringatannya terpicu, anda akan memperoleh nilai sebagai berikut:

Berikut adalah daftar dari placeholder yang tersedia:

1. {{ticker}} - ticker dari simbol yang digunakan di peringatan (AAPL, BTCUSD, dsb.).

2. {{exchange}} - bursa dari simbol yang digunakan pada peringatan (NASDAQ, NYSE, MOEX, dsb). Harap dicatat bahwa untuk simbol-simbol tertunda, nama bursa tersebut akan berakhiran “_DL” atau “_DLY”. Contohnya: “NYMEX_DL”.

3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - berkoresponden dengan nilai yang sesuai dari bar di mana peringatan telah terpicu. Perhatikan bahwa peringatan pada indikator, chart non-standar dan gambar-gambar akan tergantung pada resolusinya, sementara peringatan harga sederhana (cth. harga memotong nilai tertentu) selalu dihitung berdasarkan bar 1 menit. {{time}} dalam UTC, diformat sebagai yyyy-MM-ddTHH:mm:ssZ. Misalnya, 2019-08-27T09:56:00Z. Nilai lainnya adalah angka titik tetap dengan titik desimal yang memisahkan bagian integral dan fraksionalnya. Misalnya, 1245.25.

4. {{timenow}} - waktu terpicunya peringatan saat ini, diformat dengan cara yang sama seperti {{time}}. Mengembalikan waktu ke detik terdekat, terlepas dari resolusinya.

5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - berkoresponden dengan seri output yang sesuai dari indikator yang digunakan dalam peringatan. Perhatikan bahwa plot diberi nomor dari nol. ID plot tertinggi adalah 19 (Anda hanya dapat mengakses 20 seri output pertama). Seri output adalah nilai-nilai indikator yang dapat anda lihat pada chart. Misalnya, indikator volume bawaan memiliki dua seri output: Volume dan Volume MA. Anda dapat membuat peringatan di atasnya dan mengetikkan pesan seperti ini:

Volume: {{plot_0}}, Volume average: {{plot_1}}

6. {{interval}} - mengembalikan interval (i.e. timeframe/resolution) dari chart dimana peringatannya dibuat. Harap dicatat bahwa, dikarenakan alasan teknis, dalam beberapa kasus, placeholder ini akan mengembalikan “1”, bukan kerangka waktu pada chartnya. Peringatan berbasis harga reguler (dengan ketentuan seperti "AAPL Menyilang 120" atau "AMZN Lebih Besar Dari 3600") semuanya didasarkan pada nilai terakhir simbol, sehingga kerangka waktu chart  tidak relevan untuk peringatan tersebut. Karena itu, semua peringatan berbasis harga sebenarnya dihitung dalam jangka waktu 1m dan placeholder akan selalu mengembalikan "1". Selain itu, chart Rentang juga dihitung berdasarkan data 1m sehingga placeholder {{interval}} akan selalu mengembalikan "1" pada peringatanapa pun yang dibuat pada chart Rentang. Dengan peringatan yang dibuat pada gambar dan indikator, placeholder ini akan berfungsi seperti yang diharapkan.

 

7. {{syminfo.currency}} - mengembalikan kode mata uang dari simbol saat ini (“EUR”, “USD”, dll.).

8. {{syminfo.basecurrency}} - mengembalikan kode mata uang dasar dari simbol saat ini jika simbol merujuk pada pasangan mata uang. Jika tidak, ia akan mengembalikan na. Misalnya, ia mengembalikan “EUR” ketika simbolnya adalah “EURUSD”.

Placeholders dengan prefix "strategy" hanya dapat digunakan pada peringatan strategi:

  • {{strategy.position_size}} - mengembalikan nilai kata kunci yang sama di Pine, mis., ukuran posisi saat ini.
  • {{strategy.order.action}} - mengembalikan string "beli" atau "jual" untuk order yang dieksekusi.
  • {{strategy.order.contracts}} — mengembalikan jumlah kontrak dari order yang dieksekusi.
  • {{strategy.order.price}} — mengembalikan harga di mana order dieksekusi.
  • {{strategy.order.id}} — mengembalikan ID dari order yang dieksekusi (string yang digunakan sebagai parameter pertama di salah satu fungsi panggilan menghasilkan order: strategy.entry, strategy.exit atau strategy.order).
  • {{strategy.order.comment}} - mengembalikan komentar dari order yang dieksekusi (string yang digunakan dalam parameter komentar di salah satu panggilan fungsi yang menghasilkan order: strategi.entry, strategi.exit atau strategi.order). Jika tidak ada komentar yang ditentukan, maka nilai strategi.order.id yang akan digunakan.
  • {{strategy.order.alert_message}} - mengembalikan nilai parameter alert_message yang dapat digunakan dalam kode Pine strategi saat memanggil salah satu fungsi yang digunakan untuk meletakkan order: strategy.entry, strategy.exit atau strategy.order. Fitur ini hanya didukung di Pine v4 dan lebih tinggi.
  • {{strategy.market_position}} - mengembalikan posisi dari strategi saat ini dalam bentuk string: “long”, “flat”, atau “short”.
  • {{strategy.market_position_size}} - mengembalikan ukuran posisi saat ini sebagai nilai absolut, yaitu angka non-negatif.
  • {{strategy.prev_market_position}} - mengembalikan posisi strategi sebelumnya dalam bentuk string: “long”, “flat”, atau “short”.
  • {{strategy.prev_market_position_size}} - mengembalikan ukuran posisi sebelumnya sebagai nilai absolut, yaitu angka non-negatif.

Setelah peringatannya terpicu, anda akan dapat melihat nilai yang berkoresponden dengannya:


Untuk fungsi plot dari skrip yang ditulis dalam Pine Script:

  • plot;
  • plotshape;
  • plotchar;
  • plotarrow;
  • plotbar;
  • plotcandle.

selain menggunakan placeholder {{plot_0}}, {{plot_1}}, ... {{plot_19}}, Anda dapat mengenalinya berdasarkan nama. Untuk melakukannya, gunakan placeholder {{plot("Name")}}, di mana Name adalah nama seri. Misalnya, untuk fungsi plotarrow:

//@version=6
indicator('My script')
plotarrow(close, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40) , title = 'arrow')

Tambahkan {{plot("arrow")}} ke teks notifikasi

Untuk fungsi plotcandle dan plotbar, akses ke seri berdasarkan nama tidak didukung karena setiap fungsi menampilkan 4 seri (pembukaan, high, low, dan penutupan). Untuk setiap seri, Anda dapat menggunakan placeholder dengan penomoran yang sesuai.

Anda hanya dapat menggunakan placeholder dengan nama seri dalam bahasa Inggris untuk indikator bawaan. Misalnya, untuk indikator volume:

Volume: {{plot("Volume")}}, Rata-rata volume: {{plot("Volume MA")}}

Jika beberapa indikator digunakan dalam peringatan, hanya nilai dari indikator pertama yang akan diganti ke dalam placeholder {{plot}}:

Untuk contoh di atas, nilai seri dari indikator “My script1” akan diganti ke placeholder. Untuk menampilkan nilai indikator “My script2”, pilih di menu drop-down pertama.

Placeholder juga dapat ditentukan dalam argumen pesan dari fungsi alertcondition. Saat membuat peringatan, nilai argumen ini secara otomatis ditarik ke dalam kotak input teks peringatan.

//@version=6
indicator("alertcondition", overlay=true)
alertcondition(close >= open, title='Alert', message='"price {{ticker}} = {{close}}"!')

Harap perhatikan bahwa saat membuat peringatan dengan kondisi dari fungsi alertcondition, mengganti nilai akan berfungsi dalam skrip yang ditulis pada versi keempat (Pine v4) atau yang lebih tinggi.

Nilai dari peringatan yang terpicu dapat digunakan bersama dengan webhook dengan mengirimkan nilai variabel dari pesan ke alamat yang diinginkan. Atau dengan menggunakan aplikasi pihak ketiga eksternal seperti Peringatan TradingView ke MT4/MT5, yang sudah memiliki penggunaan nilai dinamis. Beberapa kasus penggunaan sintaksis dapat ditemukan dalam skrip contoh ini. Ini membuka lebih banyak kemungkinan bagi anda yang menggunakan peringatan.