ผู้เขียน:
maj1es2tic (Tim Welch)
ตัวชี้วัดนี้จะวัดความกว้างของ Bollinger Bands ในปัจจุบันและเปรียบเทียบกับความกว้างสูงสุดและต่ำสุดในช่วงเวลา N (WidthCalcPeriod).
ถ้าค่าที่คำนวณได้มีค่าน้อยกว่าหรือเท่ากับ MinRangePercent ฮิสโตแกรมจะแสดงเป็นสีเขียว ถ้าค่าที่คำนวณได้เป็น 2 เท่าของ MinRangePercent ฮิสโตแกรมจะแสดงเป็นสีเหลือง หากค่าไม่ตรงกับเงื่อนไขเหล่านี้ ฮิสโตแกรมจะแสดงเป็นสีแดง
ฟังก์ชั่นนี้ช่วยให้เราสามารถดูได้อย่างรวดเร็วว่าคู่เงินนั้นกำลังอยู่ในช่วงการเคลื่อนไหวที่คงที่ หรือกำลังจะออกจากช่วงนั้น หากตั้งค่า ShowWidthLine เป็น true มันจะแสดงเส้นที่บอกความกว้างของ Bollinger Bands ใน PIPS ซึ่งเหมาะสำหรับโบรกเกอร์ทั้ง 4 และ 5 หลักและใช้งานได้กับทุกคู่เงิน.
การใช้ iCustom เพื่อดึงค่าต่างๆ สำหรับ Expert Advisor หรือ Indicator ที่กำหนดเอง:
คุณสามารถดึงค่าต่างๆ ได้จากภายนอกโดยใช้โค้ดต่อไปนี้:
int period=0; // ต้องการย้อนกลับไปกี่แท่ง? 0 == แท่งปัจจุบัน 1 == แท่งก่อนหน้า, เป็นต้น // ในช่วงเวลาหนึ่ง มีค่าเพียงหนึ่งในสามนี้เท่านั้นที่จะมีค่ามากกว่า 0 ค่าแรกคือ 300. double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period); double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period); double WelchBBWidth_Red = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 2, period); // นี่คือความกว้างจริงใน PIPs ของ Bollinger Bands double WelchBBWidth = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 3, period); // จะให้ค่าของเส้น Bollinger Band ที่แท้จริง // ค่านี้จะถูกวาดบนกราฟหลัก ดังนั้นจึงอิงจากราคาในกราฟ double WelchBBWidth_MiddleLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 4, period); double WelchBBWidth_UpperLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 5, period); double WelchBBWidth_LoweLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 6, period);
คุณสามารถใส่โค้ดนี้ใน Expert Advisor ของคุณ:
/* * int areWeRanging(int period=0) * * คืนค่า 1 เมื่อเป็น GREEN (อยู่ในช่วง) * คืนค่า -1 เมื่อเป็น YELLOW (จุดเริ่มต้น/สิ้นสุดของช่วง) * คืนค่า 0 ในกรณีอื่น (ไม่มีช่วง) */ int areWeRanging(int period=0) { double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period); double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period); if ( WelchBBWidth_Green > 0 ) { return (1); } else if ( WelchBBWidth_Yellow > 0) { return (-1); } return (0); } // ตรวจสอบว่าเรากำลังออกจากช่วงหรือไม่ // นี่บอกเราว่าแท่งสุดท้ายยังอยู่ในช่วง, // แต่แท่งปัจจุบันกำลังหลุดออกจากช่วง. if ( areWeRanging(1)==1 && (areWeRanging(0)==-1 || areWeRanging(0)==0) ) { Print("เรากำลังอยู่ในช่วง แต่ตอนนี้หลุดออกจากช่วงแล้ว! ให้ทำการเทรดถ้าตัวชี้วัดอื่นยืนยันการหลุดออก!"); }
** ใช้โค้ดนี้ตามความเหมาะสม และทำการเทรดเมื่อมีการยืนยันจากตัวชี้วัดอื่น ๆ เท่านั้น. **
ภาพ:

*หมายเหตุ: เส้นแนวดำและลูกศรแดงถูกเพิ่มเข้ามาเพื่อแสดงความสัมพันธ์ของตัวชี้วัดกับ Bollinger Bands บนกราฟ และจะไม่ปรากฏบนกราฟของคุณ.
ขอให้คุณสนุกกับการเทรด!
-Tim
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- Condition Scanner: เครื่องมือวิเคราะห์อัตโนมัติสำหรับ MetaTrader 4
- เครื่องมือ Master Tools - อินดิเคเตอร์สำหรับ MetaTrader 4
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน