Cara menggunakan nilai pembolehubah dalam pemberitahuan

Anda boleh menggunakan ruang letak khas untuk mengakses nilai pembolehubah dalam mesej pemberitahuan. Contohnya, anda boleh membuat pemberitahuan di NASDAQ: AAPL dan taipkan kotak mesej:

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

Setelah pemberithahuan tercetus, anda akan mendapat nilai yang sepadan:

:Berikut adalah senarai ruang letak yang tersedia:

1. {{ticker}} - simbol ticker yang digunakan dalam pemberitahuan(AAPL, BTCUSD, dll.).

2. {{exchange}} - simbol pertukaran yang digunakan dalam pemberitahyan (NASDAQ, NYSE, MOEX, dll). Harus diberi perhatian bahawa untuk simbol yang tertunda, pertukaran akan berakhir dengan "_DL" atau "_DLY." Contohnya, "NYMEX_DL."

3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - nilai sepadan dari bar di mana makluman telah tercetus . Perlu diperhatikan bahawa pemberitahuan pada penunjuk, carta dan gambar tidak standard bergantung pada resolusi, sementara pemberitahuan harga mudah (cth, harga melintasi sesuatu nilai) sentiasa dikira pada bar 1 minit. {{time}} dalam UTC, dalam format yyyy-MM-ddTHH: mm: ssZ. Contohnya, 2019-08-27T09: 56: 00Z. Nilai lain adalah nombor titik-tetap dengan titik perpuluhan yang memisahkan bahagian integral dan pecahan. Contohnya, 1245.25.

4. {{timenow}} -  waktu pemberitahuan dicetuskan, diformat dengan cara yang sama seperti {{time}}. Mengembalikan masa ke detik terdekat, tanpa mengira resolusi.

5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - siri output penunjuk sepadan yang digunakan dalam pemberitahuan. Perlu diperhatikan bahawa plot diberi nombor dari sifar. ID plot tertinggi ialah 19 (anda boleh mengakses hanya 20 siri output pertama). Siri output adalah nilai penunjuk yang dapat anda lihat pada carta. Sebagai contoh, penunjuk volume terbina mempunyai dua siri output: Volume dan Volume MA. Anda boleh membuat pemberithahuan di atasnya dan memasukkan kotak mesej seperti ini:

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

6. {{interval}} - mengembalikan selang masa (cth: rangka masa / resolusi) carta di mana pemberitahuan dibuat. Perlu diperhatikan bahawa, atas sebab teknikal, dalam beberapa kes, ruang letak 'placeholder' ini akan mengembalikan "1" dan bukannya rangka masa pada carta. Pemberitahuan yang berdasarkan harga (dengan bersyarat seperti "AAPL Melepasi 120" atau "AMZN Lebih Besar Dari 3600") semuanya adalah berdasarkan nilai terakhir simbol, jadi rangka waktu carta tidak relevan untuk pemberitahuan tersebut. Oleh sebab itu, semua pemberitahuan yang berdasarkan harga sebenarnya dikira pada rangka masa 1m dan ruang letak akan sentiasa mengembalikan "1". Selain itu, carta Julat juga dikira berdasarkan data 1m, oleh yang demikian ruang letak {{interval}} akan sentiasa mengembalikan “1” pada setiap pemberitahuan yang dibuat pada chart Julat. Dengan pemberitahuan yang dibuat pada lukisan dan penunjuk, ruang letak akan berfungsi seperti yang biasa.

7. {{syminfo.currency}} - memulangkan kod mata wang untuk simbol semasa (“EUR”, “USD”, dll.). 

8. {{syminfo.basecurrency}} - memulangkan kod matawang asas untuk simbol semasa jika simbol itu merujuk kepada satu pasangan mata wang. Sekiranya tidak, ia memulangkan na. Sebagai contoh, ia memulangkan “EUR” apabila simbol adalah“EURUSD”. 

Ruang letak(placeholder) dengan awalan "strategi" hanya dapat digunakan dalam pemberitahuan strategi:

  • {{strategy.position_size}} - mengembalikan nilai kata kunci yang sama di Pine, cth., ukuran kedudukan semasa.
  • {{strategy.order.action}} - mengembalikan rentetan "beli" atau "jual" untuk pesanan yang dilaksanakan.
  • {{strategy.order.contracts}} - mengembalikan bilangan kontrak pesanan yang dilaksanakan.
  • {{strategy.order.price}} - mengembalikan harga di mana pesanan itu dilaksanakan.
  • {{strategy.order.id}} - mengembalikan ID pesanan yang dilaksanakan (rentetan yang digunakan sebagai parameter pertama dalam salah satu panggilan fungsi menghasilkan pesanan: strategi.entri, strategi.exit atau strategi.order).
  • {{strategy.order.comment}} - mengembalikan komen pesanan yang dilaksanakan (rentetan yang digunakan dalam parameter komen dalam salah satu panggilan fungsi yang menghasilkan pesanan: strategi.entri, strategi.exit atau strategi.order). Sekiranya tidak ada komen yang ditentukan, maka nilai strategi.order.id akan digunakan.
  • {{strategy.order.alert_message}} - mengembalikan nilai parameter alert_message yang dapat digunakan dalam kod Pine strategi ketika memanggil salah satu fungsi yang digunakan untuk membuat pesanan: strategi.entry, strategi.exit atau strategi.order. Ciri ini hanya disokong di Pine v4 atau versi lebih tinggi.
  • {{strategy.market_position}} - mengembalikan kedudukan strategi saat ini dalam bentuk rentetan: "panjang", "rata", atau "pendek".
  • {{strategy.market_position_size}} - mengembalikan ukuran kedudukan semasa sebagai nilai mutlak, cth., nombor bukan negatif.
  • {{strategy.prev_market_position}} - mengembalikan kedudukan strategi sebelumnya dalam bentuk rentetan: "panjang", "rata", atau "pendek".
  • {{strategy.prev_market_position_size}} - mengembalikan ukuran kedudukan sebelumnya sebagai nilai mutlak, cth., nombor bukan negatif.

Selepas pemberitahuan tercetus,, anda akan melihat nilai sepadan:

Peraturan yang sama berlaku untuk skrip yang ditulis dalam Pine. Siri dihitung berdasarkan turutan panggilan dalam kod. Lihat senarai fungsi di bawah. Siri ini dapat digunakan dalam mesej pemberitahuan:

  • Plot;
  • Plotshape;
  • Plotchar;
  • Plotarrow;
  • Plotbar;
  • plotcandle.

Sekiranya argumen siri fungsi tersebut mengandungi nilai Boolean, 0 atau 1 akan diganti dalam mesej pemberitahuan. Perlu diingat bahawa fungsi tertentu - plotcandle dan plotbar - memaparkan 4 siri masing-masing, dan setiap satu daripadanya akan diambil kira dalam logik penomboran.

Walau bagaimanapun, kaedah mengakses plot ini tidak selaluya memudahkan. Untuk mempermudahkan, kami menambahkan sokongan untuk memanggil plot menggunakan namanya. Untuk melakukan ini, gunakan ruang letak {{plot ("Name")}}, di mana Name adalah nama siri.

Untuk penunjuk terbina dalaman, satu-satunya nama yang disokong adalah yang digunakan dalam versi Bahasa Inggeris. Dalam contoh dengan penunjuk Volume digunakan untuk mengakses siri menggunakan namanya, anda akan memasukkan perkara berikut dalam mesej:

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

Begitu juga sama, untuk Skrip Pine untuk mengakses siri ini, anda harus menentukan nama dari argumen tajuk fungsi yang sepada, (disokong untuk semua fungsi plot kecuali plotcandle dan plotbar), dan bahasa tidak lagi penting. Sekiranya anda tidak mempunyai akses ke kod, namanya dapat dilihat dalam tetapan gaya.

Sebagai contohnya, untuk mengakses nilai skrip ini:

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

Sertakan {{plot ("siri")}} dalam mesej pemberitahuan.

Nama yang sama ditunjukkan dalam tetapan skrip:

Apabila menggunakan beberapa penunjuk dalam satu pemberitahuan, anda boleh merujuk pada nilai yang pertama - yang ditunjukkan dalam senarai menu ke-bawah pertama. Lihat contoh di bawah.

Apabila pemberitahuan merangkumi tetapan ini, anda hanya dapat merujuk pada nilai MA. Untuk mengakses nilai skrip "Skrip saya", anda harus memilihnya dalam senarai menu lungsurbawah pertama.

Anda juga boleh menentukan ruang letak baru dalam argumen mesej fungsi alertcondition. Sebagai contoh:

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

Mesej dari argumen adalah secara automatiknya ditarik ke tetingkap mesej dalam dialog pembuatan pemberitahuan.

Perlu diingatkan bahawa semasa membuat makluman dengan syarat dari fungsi alertcondition, penggantian nilai hanya berfungsi untuk skrip v4 atau lebih tinggi.

Nilai dari pemberitahuan yang tercetus dapat digunakan bersama dengan webhooks dengan mengirim nilai berubah dari mesej ke alamat yang diinginkan. Atau dengan menggunakan aplikasi luar pihak ketiga seperti TradingView Alerts to MT4 / MT5, yang mana telah menggunakan penggunaan nilai dinamik. Beberapa kes penggunaan sintaks dapat dijumpai dalam contoh skrip ini. Ini membuka lebih banyak kemungkinan kegunaan bagi anda yang menggunakan pemberitahuan.