จะใช้ค่าตัวแปรในการแจ้งเตือนได้อย่างไร?

คุณสามารถใช้ ตัวรับข้อมูลพิเศษ เพื่อเข้าถึงค่าของตัวแปรในข้อความแจ้งเตือน ตัวอย่างเช่น คุณสามารถสร้างการแจ้งเตือนสำหรับ NASDAQ:AAPL และพิมพ์ข้อความดังนี้ในกล่องข้อความ:

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

หลังจากการแจ้งเตือนได้ทำงานแล้ว คุณจะได้รับค่าที่เกี่ยวข้อง:

นี่เป็นรายการของตัวรับข้อมูลที่สามารถใช้งานได้:

1. {{ticker}} - สัญลักษณ์ของสัญลักษณ์ที่ใช้ในการเตือน (AAPL, BTCUSD ฯลฯ )

2. {{exchange}} - การแลกเปลี่ยนสัญลักษณ์ที่ใช้ในการแจ้งเตือน (NASDAQ, NYSE, MOEX, ฯลฯ ) โปรดทราบว่าสำหรับสัญลักษณ์ที่ล่าช้าการแลกเปลี่ยนจะลงท้ายด้วย“ _DL” หรือ“ _DLY” ตัวอย่างเช่น“ NYMEX_DL”

3. {{close}}, {{open}}, {{high}}, {{low}}, {{time}}, {{volume}} - ค่าที่สอดคล้องกันของแถบที่มีการเรียกใช้การแจ้งเตือน . โปรดทราบว่าการแจ้งเตือนเกี่ยวกับตัวบ่งชี้แผนภูมิและภาพวาดที่ไม่ได้มาตรฐานนั้นขึ้นอยู่กับความละเอียดขณะที่การแจ้งเตือนราคาอย่างง่าย (เช่นราคาที่ข้ามค่าบางค่า) จะถูกคำนวณในแถบเวลา 1 นาทีเสมอ {{time}} อยู่ใน UTC ซึ่งจัดรูปแบบเป็น yyyy-MM-ddTHH: mm: ssZ ตัวอย่างเช่น 2019-08-27T09: 56: 00Z ค่าอื่น ๆ คือตัวเลขจุดคงที่พร้อมจุดทศนิยมแยกส่วนที่เป็นส่วนและเศษส่วน ตัวอย่างเช่น 1245.25

4. {{timenow}} - เวลาการแจ้งเตือนปัจจุบันซึ่งจัดรูปแบบในลักษณะเดียวกับ {{เวลา}} ส่งคืนเวลาเป็นวินาทีที่ใกล้ที่สุดโดยไม่คำนึงถึงความละเอียด

5. {{plot_0}}, {{plot_1}}, ... {{plot_19}} - ชุดเอาต์พุตที่สอดคล้องกันของตัวบ่งชี้ที่ใช้ในการแจ้งเตือน โปรดทราบว่าแปลงจะถูกกำหนดหมายเลขจากศูนย์ รหัสพล็อตสูงสุดคือ 19 (คุณสามารถเข้าถึงซีรี่ส์เอาต์พุตได้เพียง 20 ชุดแรก) ซีรี่ส์เอาต์พุตคือค่าของตัวบ่งชี้ที่คุณสามารถเห็นบนแผนภูมิ ตัวอย่างเช่นตัวบ่งชี้ระดับเสียงในตัวมีชุดเอาต์พุตสองชุด: Volume และ Volume MA คุณสามารถสร้างการแจ้งเตือนและพิมพ์ข้อความลงในกล่องข้อความดังนี้:

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

6. {{interval}} - ส่งคืนช่วงเวลา (เช่น กรอบเวลา/ความละเอียด) ของแผนภูมิที่สร้างการแจ้งเตือน โปรดทราบว่าด้วยเหตุผลทางเทคนิคในบางกรณีตัวยึดตำแหน่งนี้จะส่งคืน "1" แทนกรอบเวลาบนแผนภูมิ การแจ้งเตือนตามราคาปกติ (ที่มีเงื่อนไขเช่น “AAPL Crossing 120” หรือ “AMZN มากกว่า 3600”) ทั้งหมดขึ้นอยู่กับค่าสุดท้ายของสัญลักษณ์ดังนั้นกรอบเวลาของแผนภูมิจึงไม่เกี่ยวข้องกับการแจ้งเตือน ด้วยเหตุนี้การแจ้งเตือนตามราคาทั้งหมดจึงถูกคำนวณตามกรอบเวลา 1m และตัวยึดตำแหน่งจะส่งคืน “1” ตามนั้นเสมอ นอกจากนี้แผนภูมิช่วงยังคำนวณจากข้อมูล 1m ดังนั้นตัวยึดตำแหน่ง {{interval}} จะส่งคืน “1” ในการแจ้งเตือนที่สร้างบนแผนภูมิช่วงเสมอ ด้วยการแจ้งเตือนที่สร้างขึ้นบนภาพวาดและตัวบ่งชี้ตัวยึดตำแหน่งนี้จะทำงานตามที่คาดไว้

ตัวรับข้อมูลที่ใช้เริ่มต้นด้วยคำนำหน้า "strategy" จะสามารถถูกเรียกใช้ได้ใน การแจ้งเตือนของกลยุทธ์ เท่านั้น

  • {{strategy.position_size}} - คืนค่าของคีย์เวิร์ดเดียวกันในไพน์ ต.ย. ขนาดของโพสิชั่นปัจจุบัน
  • {{strategy.order.action}} - คือค่า ตัวอักษร “buy” หรือ “sell” ของออเดอร์ที่ถูกเปิด
  • {{strategy.order.contracts}} - คืนค่าเป็นจำนวนของสัญญาของออเดอร์ที่ถูกเปิด
  • {{strategy.order.price}} - คืนค่าเป็นราคาที่ออเดอร์นั้นถูกเปิด
  • {{strategy.order.id}} - คืนค่าเป็น ID ของออเดอร์ที่ถูกเปิด (ชุดของตัวอักษรที่ถูกใช้ใน พารามิเตอร์แรก ในการเรียกใช้ฟังก์ชัน สร้างออเดอร์: strategy.entry, strategy.exit or strategy.order)
  • {{strategy.order.comment}} - คืนค่าเป็นคอมเม้นท์ของออเดอร์ที่ถูกเปิด (ชุดของตัวอักษรที่ถูกใช้ใน พารามิเตอร์คอมเมนท์ ในการเรียกใช้ฟังก์ชัน สร้างออเดอร์: strategy.entry, strategy.exit or strategy.order) ถ้าไม่มีการระบุคอมเม้นท์ไว้ ค่าของ strategy.order.id จะถูกใช้สำหรับคืนค่า
  • {{strategy.order.alert_message}} - คืนค่าเป็นค่าของ พารามิเตอร์ข้อความการแจ้งเตือนที่ถูกใช้ในโค้ดไพน์สคริปต์ของกลยุทธ์ เมื่อมีการเรียกใช้ฟังก์ชันใดฟังก์ชันหนึ่งในการ สร้างออเดอร์: strategy.entry, strategy.exit or strategy.order ฟีเจอร์นี้รองรับการทำงานใช้ไพน์เวอร์ชั่น Pine v4 เท่านั้น
  • {{strategy.market_position}} - คืนค่าเป็นสถานะปัจจุบันขอกลยุทธ์ในรูปแบบของ ชุดตัวอักษร: “long”, “flat”, หรือ “short”
  • {{strategy.market_position_size}} - คืนค่าเป็นขนาดของสถานะปัจจุบันเป็นตัวเลขสัมบูรณ์ ต.ย. ตัวเลขที่ไม่มีค่าเป็นลบ
  • {{strategy.prev_market_position}} - คืนค่าของสถานะก่อนหน้าของกลุยทธ์ในรูปแบบของ ชุดตัวอักษร: “long”, “flat”, หรือ “short”{{strategy.prev_market_position_size}} - คืนค่าเป็นขนาดของสถานะก่อนหน้าเป็นตัวเลขสัมบูรณ์ ต.ย. ตัวเลขที่ไม่มีค่าเป็นลบ

หลังจากเปิดการแจ้งเตือนคุณจะเห็นค่าที่เกี่ยวข้อง:

กฎเดียวกันนี้ใช้กับสคริปต์ที่เขียนด้วย Pine ซีรี่ย์จะนับตามลำดับการโทรในรหัส ดูรายการฟังก์ชั่นด้านล่าง ชุดของพวกเขาสามารถใช้ในข้อความแจ้งเตือน:

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

หากอาร์กิวเมนต์ชุดของฟังก์ชั่นดังกล่าวมีค่าบูลีน 0 หรือ 1 จะถูกแทนที่ในข้อความแจ้งเตือน โปรดทราบว่าฟังก์ชั่นบางอย่าง - พล็อตเทียนและพล็อตบาร์ - แสดง 4 ซีรี่ย์และแต่ละอันจะถูกนำมาพิจารณาในลอจิกการนับ

อย่างไรก็ตามวิธีการเข้าถึงแปลงนี้ไม่สะดวกเสมอไป เพื่อให้ง่ายขึ้นเราได้เพิ่มการสนับสนุนสำหรับการโทรแปลงโดยใช้ชื่อของพวกเขา หากต้องการทำสิ่งนี้ให้ใช้ตัวยึดตำแหน่ง {{plot ("Name")}} โดยที่ Name คือชื่อของซีรี่ส์

สำหรับตัวบ่งชี้ในตัวเฉพาะชื่อที่ได้รับการสนับสนุนคือชื่อที่ใช้ในเวอร์ชันภาษาอังกฤษ ในตัวอย่างที่มีตัวบ่งชี้ระดับเสียงสำหรับการเข้าถึงซีรีส์โดยใช้ชื่อของพวกเขาคุณจะต้องรวมสิ่งต่อไปนี้ในข้อความ:

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

ในทำนองเดียวกันสำหรับ Pine Script ในการเข้าถึงซีรี่ส์คุณควรระบุชื่อจากอาร์กิวเมนต์หัวเรื่องของฟังก์ชั่นที่เกี่ยวข้อง (รองรับฟังก์ชั่นการพล็อตทั้งหมดยกเว้น plotcandle และ plotbar) และภาษาจะไม่สำคัญอีกต่อไป หากคุณไม่มีสิทธิ์เข้าถึงรหัสคุณสามารถเห็นชื่อได้ในการตั้งค่าสไตล์

ตัวอย่างเช่น การเข้าถึงค่าของสคริปต์นี้:

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

รวม {{plot ("series")}} ในข้อความแจ้งเตือน

ชื่อเดียวกันนี้จะแสดงในการตั้งค่าสคริปต์:

เมื่อใช้ตัวบ่งชี้หลายตัวในการแจ้งเตือนเดียวคุณสามารถดูค่าของตัวแรก - ตัวบ่งชี้ที่อยู่ในรายการดรอปดาวน์แรก ดูตัวอย่างด้านล่าง

เมื่อการแจ้งเตือนรวมถึงการตั้งค่าเหล่านี้คุณสามารถอ้างถึงค่า MA เท่านั้น ในการเข้าถึงค่าของสคริปต์“ สคริปต์ของฉัน” คุณต้องเลือกมันในรายการดรอปดาวน์แรก

คุณยังสามารถระบุตัวยึดตำแหน่งใหม่ในอาร์กิวเมนต์ข้อความของฟังก์ชั่น alertcondition ตัวอย่างเช่น:

//@version=4study("My script")alertcondition(close>open, message="price {{ticker}} = {{close}}")
GenericGenericข้อความจากอาร์กิวเมนต์จะถูกดึงเข้าสู่หน้าต่างข้อความโดยอัตโนมัติในกล่องโต้ตอบการสร้างการแจ้งเตือน

โปรดทราบว่าเมื่อสร้างการแจ้งเตือนด้วยเงื่อนไขจากฟังก์ชั่น alertcondition การทดแทนค่าจะทำงานกับสคริปต์ v4 หรือสูงกว่าเท่านั้น

ค่าจากการแจ้งเตือนที่ถูกเรียกสามารถใช้งานร่วมกับ webhooks ได้โดยส่งค่าตัวแปรจากข้อความไปยังที่อยู่ที่ต้องการ หรือโดยการใช้แอพภายนอก (3rd party) เช่น การแจ้งเตือน TradingView ไปยัง MT4/MT5 ซึ่งใช้การใช้ค่าแบบไดนามิกอยู่แล้ว บางกรณีใช้ไวยากรณ์พบได้ใน สคริปต์ตัวอย่างนี้ สิ่งนี้จะเปิดโอกาสให้ผู้ที่ใช้การแจ้งเตือนมากยิ่งขึ้น


https://www.tradingview.com/chart/?solution=43000481368