หน้าแรก ตัวชี้วัดทางเทคนิค โพสต์

Doji Hunter - เครื่องมือวิเคราะห์แนวโน้มสำหรับ MetaTrader 4

ไฟล์แนบ
9883.zip (1.55 KB, ดาวน์โหลด 0 ครั้ง)

การใช้งาน 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 นั่นเอง

โพสต์ที่เกี่ยวข้อง

ความคิดเห็น (0)