ผู้เขียน: Dmitriy.
วันนี้เราจะมาทำความรู้จักกับ UltraMFI ซึ่งเป็นอินดิเคเตอร์สำหรับ MetaTrader 5 ที่ใช้พื้นฐานจาก MFI (ดัชนีการไหลของเงิน) และการวิเคราะห์สัญญาณหลายเส้นที่เกิดขึ้นจากมัน
อินดิเคเตอร์นี้มีการคำนวณสัญญาณโดยใช้พารามิเตอร์ที่กำหนดไว้ดังนี้:
- StartLength - ค่าตั้งต้นของเส้นสัญญาณแรก;
- Step - ขั้นตอนการเปลี่ยนแปลงช่วงเวลา;
- StepsTotal - จำนวนการเปลี่ยนแปลงช่วงเวลา.
ทุกค่าช่วงเวลาที่เราคำนวณจะใช้สูตรการจัดอันดับเลข:
SignalPeriod(Number) = StartLength + Number * Step,
โดยที่ค่าของตัวแปร Number จะอยู่ในช่วงตั้งแต่ศูนย์ถึง StepsTotal. ค่าที่ได้จะถูกเก็บในอาร์เรย์และใช้ในแต่ละการเคลื่อนไหวของอินดิเคเตอร์ เพื่อสร้างอาร์เรย์ของค่าอินดิเคเตอร์ Larry Williams' Percent Range ที่ถูกทำให้เรียบง่าย
ทิศทางของแนวโน้มปัจจุบันสำหรับการเรียบง่ายแต่ละตัวจะถูกคำนวณ และจำนวนแนวโน้มบวกและลบสำหรับอาร์เรย์ทั้งหมดจะถูกกำหนด
จำนวนแนวโน้มบวกและลบสุดท้ายจะถูกทำให้เรียบง่ายอีกครั้ง และใช้เป็นเส้นอินดิเคเตอร์ที่สร้างเมฆสี ซึ่งแสดงด้วยคลาสสไตล์ DRAW_FILLING.
ทิศทางของแนวโน้มในอินดิเคเตอร์นี้จะถูกกำหนดโดยสีของเมฆ ในขณะที่ความแรงจะถูกกำหนดโดยความกว้างของเมฆ โดยคุณสามารถใช้ระดับที่ซื้อมากเกินไป (UpLevel) และขายมากเกินไป (DnLevel) ที่ตั้งค่าในเปอร์เซ็นต์จากช่วงสูงสุดของอินดิเคเตอร์
นอกจากนี้ยังสามารถเลือกอัลกอริธึมการทำให้เรียบง่ายจากสิบเวอร์ชันที่แตกต่างกัน:
- SMA - ค่าเฉลี่ยเคลื่อนที่แบบธรรมดา;
- EMA - ค่าเฉลี่ยเคลื่อนที่เชิงลึก;
- SMMA - ค่าเฉลี่ยเคลื่อนที่ที่ถูกทำให้เรียบง่าย;
- LWMA - ค่าเฉลี่ยเคลื่อนที่เชิงเส้นที่มีน้ำหนัก;
- JJMA - ค่าเฉลี่ยแบบปรับตัว JMA;
- JJurX - การเฉลี่ยเชิงเส้นอัลตร้า;
- ParMA - การเฉลี่ยแบบพาราโบลิก;
- T3 - การทำให้เรียบง่ายแบบหลายครั้งของ Tillson;
- VIDYA - การทำให้เรียบง่ายด้วยอัลกอริธึมของ Tushar Chande;
- AMA - การทำให้เรียบง่ายด้วยอัลกอริธึมของ Perry Kaufman.
ควรสังเกตว่าพารามิเตอร์ Phase1 และ Phase2 มีความหมายที่แตกต่างกันสำหรับอัลกอริธึมการทำให้เรียบง่ายที่แตกต่างกัน สำหรับ JMA มันคือค่าตัวแปร Phase ที่เปลี่ยนจาก -100 ถึง +100 สำหรับ T3 มันคืออัตราส่วนการทำให้เรียบง่ายที่ถูกคูณด้วย 100 เพื่อการมองเห็นที่ดีขึ้น สำหรับ VIDYA มันคือช่วงเวลา CMO และสำหรับ AMA มันคือช่วงเวลาของ EMA ช้า ในอัลกอริธึมอื่น ๆ พารามิเตอร์เหล่านี้ไม่มีผลต่อการเฉลี่ย
และสำหรับ AMA ช่วงเวลา EMA ที่เร็วจะถูกกำหนดเป็นค่าคงที่และเท่ากับ 2 โดยค่าเริ่มต้น
ในอินดิเคเตอร์นี้จะใช้คลาสจาก SmoothAlgorithms.mqh (ให้คัดลอกไปที่
//+----------------------------------------------+ //| พารามิเตอร์เข้าสำหรับอินดิเคเตอร์ | //+----------------------------------------------+ input int MFI_Period=13; // ช่วงเวลาอินดิเคเตอร์ MFI input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // ปริมาณของอินดิเคเตอร์ MFI //---- input Smooth_Method W_Method=MODE_JJMA; // วิธีการทำให้เรียบง่าย input int StartLength=3; // ช่วงเวลาเริ่มต้นสำหรับการเฉลี่ย input int WPhase=100; // พารามิเตอร์การทำให้เรียบง่าย // สำหรับ JJMA จะมีการเปลี่ยนแปลงในช่วง -100 ... +100 และมีผลต่อคุณภาพของช่วงเปลี่ยนผ่าน; // สำหรับ VIDIA มันคือช่วงเวลา CMO, สำหรับ AMA มันคือช่วงเวลาของ EMA ช้า //---- input uint Step=5; // ขั้นตอนการเปลี่ยนแปลงช่วงเวลา input uint StepsTotal=10; // จำนวนการเปลี่ยนแปลงช่วงเวลา //---- input Smooth_Method SmoothMethod=MODE_JJMA; // วิธีการทำให้เรียบง่าย input int SmoothLength=3; // ความลึกของการทำให้เรียบง่าย input int SmoothPhase=100; // พารามิเตอร์การทำให้เรียบง่าย // สำหรับ JJMA จะมีการเปลี่ยนแปลงในช่วง -100 ... +100 และมีผลต่อคุณภาพของช่วงเปลี่ยนผ่าน; //---- input uint UpLevel=80; // ระดับซื้อมากเกินไปใน %% input uint DnLevel=20; // ระดับขายมากเกินไปใน %% input color UpLevelsColor=Blue; // สีของระดับซื้อมากเกินไป input color DnLevelsColor=Blue; // สีของระดับขายมากเกินไป input STYLE Levelstyle=DASH_; // สไตล์ของระดับ input WIDTH LevelsWidth=Width_1; // ความกว้างของระดับ //+----------------------------------------------+

Fig. 1. อินดิเคเตอร์ UltraMFI
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- การใช้ Cycle Period ใน MetaTrader 5 สำหรับนักเทรด
- Unity Pro: อินดิเคเตอร์ใหม่สำหรับ MetaTrader 5 ที่นักเทรดห้ามพลาด
- Volume Profile + Range v6.0: อินดิเคเตอร์สำหรับ MetaTrader 5 เพื่อการเทรดที่แม่นยำ
- StepXCCX_HTF_Signal: เครื่องมือช่วยวิเคราะห์แนวโน้มใน MetaTrader 5