การปรับปรุงเทมเพลต EA
ในบทความนี้เราจะพูดถึง MetaEditor: Templates as a Spot to Stand On ที่มาพร้อมกับการปรับปรุงเทมเพลต EA ซึ่งมีวัตถุประสงค์หลักเพื่อหลีกเลี่ยงการกำหนดขนาดที่ซ้ำซ้อนของอาร์เรย์บริการและการเปลี่ยนแปลงขนาดของอาร์เรย์เหล่านี้แบบไดนามิก อาร์เรย์บริการจะถูกจัดสรรขนาดทันทีสูงสุดถึง 100 คำสั่ง โดยจะมีตัวนับที่ระบุขนาดของอาร์เรย์เพิ่มเติมอยู่ด้วย
int OurTicketsCounter; // ตัวนับคำสั่ง "ที่เป็นมิตร" ระบุขีดจำกัดสำหรับอาร์เรย์ Tickets[100][9], CommentsTicket[100][2] int SL_TP_Counter; // ตัวนับคำสั่งที่จะถูกปรับเปลี่ยน: สำหรับอาร์เรย์ newSL_and_TP[100][5] int OrdersToCloseCounter;// ตัวนับคำสั่งที่จะปิด: สำหรับอาร์เรย์ ticketsToClose[100][2] และ lotsToClose[100] int OrdersToDeleteCounter;// ตัวนับคำสั่งที่จะถูกลบ: สำหรับอาร์เรย์ ticketsToDelete[100]
การเริ่มต้นตัวนับเหล่านี้จะถูกตั้งค่าเป็นศูนย์ในทุกครั้งที่ฟังก์ชัน start() เรียกใช้งานในฟังก์ชันพิเศษ InitCounters():
//+------------------------------------------------------------------+ //| รีเซ็ตตัวนับทั้งหมดของอาร์เรย์บริการ | //+------------------------------------------------------------------+ void InitCounters() { //---- OurTicketsCounter = 0; SL_TP_Counter = 0; OrdersToCloseCounter = 0; OrdersToDeleteCounter = 0; //---- return; }
การปรับปรุงนี้ทำให้ EA ที่สร้างจากเทมเพลตนี้สามารถแข่งขันได้ดี แม้จะมีการออกแบบ EA แบบพิเศษที่เขียนด้วยมือเต็มที่ ซึ่งผลลัพธ์นี้ถือว่ามากกว่าที่คาดหวังไว้
อย่าลืมเก็บไว้ในโฟลเดอร์ 'experts/templates' นะครับ
โพสต์ที่เกี่ยวข้อง
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- สร้าง Expert Advisor ด้วย MQL5 Wizard สำหรับสัญญาณการเทรด Bullish Harami/Bearish Harami และ RSI
- สร้างสัญญาณการซื้อขายด้วย MQL5 Wizard: เทคนิค Hammer/Hanging Man และ CCI
- สร้าง Expert Advisor ด้วย MQL5 Wizard สำหรับสัญญาณการเทรดด้วย Bullish/Bearish Meeting Lines + Stochastic