การใช้งาน Doji Hunter ในการเทรด
สำหรับมือใหม่ที่พึ่งเริ่มต้น ผมได้เพิ่มตัวแปร RangeOfBars ที่ช่วยให้คุณสามารถระบุจำนวนแท่งเทียนย้อนหลังจากแท่งปัจจุบันเพื่อค้นหา Doji ได้ ซึ่งช่วยให้ตรวจจับ Double Doji ได้เช่นกัน หากตั้งค่า RangeOfBars เป็น 2 หรือ 3 คุณจะสามารถมองหา Doji ในตำแหน่งแท่งเทียนที่ 1, 2 หรือ 3 ได้ ในความจริง คุณสามารถสร้างวิธีการ IsDoji โดยมองเพียงตำแหน่งแท่งเทียนแรก จากนั้นสร้างวิธีที่สองที่ดูทั้งตำแหน่งแรกและตำแหน่งที่สองเพื่อหาคู่ Double Doji ได้
ในส่วนของการเขียนโปรแกรม Doji Reader 2 เดิมนั้นมีการจัดการเงื่อนไข 5 หลักได้ไม่ดีนัก ขออภัยด้วยครับ แต่ที่นี่คุณจะเห็นว่ามีวิธีการเขียนที่มีประสิทธิภาพมากขึ้น ถึงแม้ว่าวิธีของผมอาจจะไม่ดีที่สุด แต่มันก็เป็นอีกก้าวหนึ่งที่ดีขึ้น
ผมได้เก็บฟีเจอร์ ShowCandleBox ไว้ เพราะมันเป็นวิธีที่ดีในการวางเครื่องมือบนกราฟ และมันทำงานได้ดีในการทดสอบ ฟีเจอร์เพิ่มเติมก็มีประโยชน์ แต่ผมต้องการให้มันเรียบง่าย ข้อความเพิ่มเติมก็ช่วยให้ผู้ใช้เข้าใจในการค้นหา Doji แต่มันก็ควรจะเรียบง่ายเช่นกัน
การเปลี่ยนแปลงที่สำคัญคือการเปลี่ยนค่า configuration เป็น doubles แทน integers การเปลี่ยนเป็น doubles ช่วยให้เราใช้ความแม่นยำ 5 หลักได้ และทำให้ Doji มีความเรียบร้อยมากขึ้น ซึ่งคุณจะเห็นเมื่อใช้มัน ควรทราบว่าเมื่อใช้เครื่องมือที่อิงจาก doubles อย่าใช้ integers เว้นแต่จะใช้ในการนับอะไรบางอย่าง
ผมยังเพิ่มการรีเซ็ตเคาน์เตอร์เพื่อไม่ให้กล่องแสดงขึ้นเรื่อย ๆ ในกระบวนการนับ ทุกครั้งที่เครื่องมือทำงาน จะมีการหมุนเวียนเคาน์เตอร์เดิมขึ้นเรื่อย ๆ โดยการเพิ่มการรีเซ็ต เราจะได้การนับที่ถูกต้อง แต่จะรีเซ็ตเมื่อเริ่มนับในแต่ละรอบการประมวลผล
ผมได้รวม buffer และกระบวนการทำความสะอาด buffer เพื่อให้คุณสามารถส่งค่า 0 เป็นค่าเริ่มต้นและ 1 หากพบไปยังโค้ดโดยใช้ buffer การรักษาช่วงข้อมูลให้น้อยจะช่วยให้เราไม่ใช้ CPU เกินความจำเป็นในการประมวลผลข้อมูลเก่าที่เราไม่สนใจ
ตัวอย่างการประกาศในโค้ดของคุณ
extern string __DOJI_HUNTER_SETTINGS = "-----"; int RangeOfBars = 3; bool ShowCandleBox=true; //false จะซ่อนกล่องแท่งเทียน extern color BoxColor=MistyRose; //เพิ่มสีที่คุณชอบ
ตัวอย่างการเรียกข้อมูล Doji
โปรดระวัง วางการเรียกนี้ในส่วนของเหตุการณ์แท่งเทียนใหม่ในโค้ดของคุณ หากวางในเหตุการณ์ tick จะทำให้เกิดปัญหา:
Doji1 = iCustom(NULL,0,"Doji_Hunter", RangeOfBars, ShowCandleBox, BoxColor, FindRegularDoji, MinLengthOfUpTail, MinLengthOfLoTail, MaxLengthOfBody, FindDragonflyDoji, MaxLengthOfUpTail1, MinLengthOfLoTail1, MaxLengthOfBody1, FindGravestoneDoji, MinLengthOfUpTail2, MaxLengthOfLoTail2, MaxLengthOfBody2, 0, 0);
โค้ดด้านบนจะได้รับค่าตำแหน่งแท่งเทียนแรกเป็น 0 หรือ 1 โดยที่ 1 คือพบ Doji นั่นเอง
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- เครื่องมือ Master Tools - อินดิเคเตอร์สำหรับ MetaTrader 4
- Condition Scanner: เครื่องมือวิเคราะห์อัตโนมัติสำหรับ MetaTrader 4
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน
- การวิเคราะห์สเปกตรัมเดี่ยว: ตัวชี้วัดแนวโน้มสำหรับ MetaTrader 5