iWPRSignAlert เป็นตัวชี้วัดที่ใช้งานง่าย โดยอิงจากออสซิลเลเตอร์ Williams’ Percent Range ที่ช่วยให้เราสามารถเห็นสัญญาณซื้อและขายได้ชัดเจน โดยจะส่งการแจ้งเตือนทางอีเมลและการแจ้งเตือนบนมือถือด้วย!
ในเวอร์ชันนี้ได้มีการปรับปรุงโค้ดของตัวชี้วัดเพื่อเพิ่มฟังก์ชันการแจ้งเตือน โดยมีการเปลี่ยนแปลงดังนี้:
- เพิ่มพารามิเตอร์ใหม่ในโค้ดตัวชี้วัด:
- เพิ่มฟังก์ชันใหม่ 3 ตัวที่ส่วนท้ายของโค้ดตัวชี้วัด: BuySignal(), SellSignal() และ GetStringTimeframe() เพื่อช่วยในการประมวลผลสัญญาณ:
- เพิ่มการเรียกใช้ฟังก์ชัน BuySignal() และ SellSignal() หลังจากการคำนวณในบล็อก OnCalculate():
input uint NumberofBar=1;// จำนวนบาร์สำหรับสัญญาณ input bool SoundON=true; // เปิดการแจ้งเตือนเสียง input uint NumberofAlerts=2;// จำนวนการแจ้งเตือน input bool EMailON=false; // เปิดการส่งสัญญาณทางอีเมล input bool PushON=false; // เปิดการส่งสัญญาณไปยังมือถือ
// ฟังก์ชันสัญญาณซื้อ void BuySignal(string SignalSirname, // ชื่อของตัวชี้วัดสำหรับการแจ้งเตือน double &BuyArrow[], // บัฟเฟอร์เก็บสัญญาณซื้อ const int Rates_total, // จำนวนบาร์ปัจจุบัน const int Prev_calculated, // จำนวนบาร์จากการคำนวณครั้งก่อน const double &Close[], // ราคาปิด const int &Spread[]) { // โค้ดสำหรับการซื้อ } // ฟังก์ชันสัญญาณขาย void SellSignal(string SignalSirname, // ชื่อของตัวชี้วัดสำหรับการแจ้งเตือน double &SellArrow[], // บัฟเฟอร์เก็บสัญญาณขาย const int Rates_total, // จำนวนบาร์ปัจจุบัน const int Prev_calculated, // จำนวนบาร์จากการคำนวณครั้งก่อน const double &Close[], // ราคาปิด const int &Spread[]) { // โค้ดสำหรับการขาย }
BuySignal("iWPRSign", BuyBuffer, rates_total, prev_calculated, close, spread); SellSignal("iWPRSign", SellBuffer, rates_total, prev_calculated, close, spread);
โดยที่ BuyBuffer และ SellBuffer คือชื่อของบัฟเฟอร์ที่ใช้เก็บสัญญาณซื้อและขาย ค่าที่ว่างในบัฟเฟอร์จะต้องเป็นศูนย์หรือต้องตั้งค่าเป็น EMPTY_VALUE เท่านั้น
เราคาดว่าเราจะเรียกใช้ฟังก์ชัน BuySignal() และ SellSignal() เพียงครั้งเดียวในบล็อก OnCalculate() ของโค้ดตัวชี้วัด

Fig.1. ตัวชี้วัด iWPRSignAlert บนกราฟ

Fig.2. ตัวชี้วัด iWPRSignAlert: กำลังสร้างการแจ้งเตือน