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:

Aturan yang sama berlaku untuk skrip yang ditulis dalam Pine. Suatu seri dihitung berdasarkan urutan panggilan mereka dalam kode. Lihat daftar fungsi di bawah ini. Seri-Seri tersebut dapat digunakan dalam pesan notifikasi:

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

Jika argumen seri fungsi tersebut mengandung nilai Boolean, 0 atau 1 akan diganti dalam pesan notifikasi. Ingatlah bahwa fungsi-fungsi tertentu - plotcandle dan plotbar - masing-masingnya menampilkan 4 seri, dan masing-masingnya akan diperhitungkan dalam logika penomorannya.

 

Namun, metode mengakses plot ini tidak selalu mudah. Untuk mempermudah, kami menambahkan dukungan untuk memanggil plot dengan menggunakan namanya. Untuk melakukan ini, gunakan placeholder {{plot ("Name")}}, di mana Name adalah nama dari serinya.

 

Untuk indikator bawaan, satu-satunya nama yang didukung adalah yang digunakan dalam versi bahasa Inggris. Dalam contoh dengan indikator Volume dibawah ini, untuk mengakses seri menggunakan namanya, anda perlu memasukkan pesan berikut ini:

Volume: {{plot("Volume")}}, Volume average: {{plot("Volume MA")}}

Demikian pula, agar Skrip Pine dapat mengakses serinya, anda harus menentukan nama dari argumen judul dari fungsi yang sesuai (mendukung semua fungsi plot kecuali plotcandle dan plotbar), dan anda dapat menggunakan bahasa apapun. Jika anda tidak memiliki akses ke kodenya maka namanya dapat dilihat pada pengaturan motifnya.

 

Sebagai contoh, untuk mengakses nilai skrip ini:

//@version=4
study("My script")
plot(close, title="series")

Termasuk {{plot("series")}} pada pesan peringatannya.

Nama yang sama ditampilkan pada pengaturan skripnya:

Saat menggunakan beberapa indikator didalam satu peringatan, anda dapat mengacu ke nilai dari yang pertama - yang diindikasikan pada daftar drop-down yang pertama. Lihat contoh dibawah ini.

Saat peringatan menyertakan pengaturan ini, anda hanya dapat merujuk ke nilai MA. Untuk mengakses nilai skrip “Script saya”, anda harus memilihnya di daftar drop-down pertama.

 

Anda juga bisa menentukan placeholder baru dalam argumen pesan dari fungsi kondisi peringatan. Sebagai contoh:

//@version=4
study("My script")
alertcondition(close>open, message="price {{ticker}} = {{close}}")

Pesan dari argumen secara otomatis ditarik ke jendela pesan dalam dialog pembuatan peringatan.

 

Harap dicatat bahwa ketika membuat peringatan dengan kondisi dari fungsi alertcondition, substitusi nilai hanya akan berfungsi untuk skrip v4 atau lebih tinggi.

 

Nilai dari peringatan yang dipicu dapat digunakan bersama-sama dengan webhooks 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 memanfaatkan penggunaan nilai dinamis. Beberapa kasus penggunaan sintaks dapat ditemukan dalam contoh skrip berikut ini. Ini akan membuka lebih banyak kemungkinan bagi anda yang menggunakan peringatan.