การจัดการความเสี่ยงเป็นเรื่องสำคัญสำหรับเทรดเดอร์ทุกคน และในบทความนี้เราจะมาพูดถึงกลยุทธ์การจัดการที่เรียกว่า Dynamic Trailing Stop Loss ซึ่งเหมาะสำหรับ Expert Advisor (EA) บนแพลตฟอร์ม MetaTrader 5 ครับ
กลยุทธ์นี้มุ่งเน้นไปที่การปิดคำสั่งเมื่อถึงจุดกำไรหรือขาดทุน และใช้ trailing stop loss เพื่อล็อคกำไรเมื่อการซื้อขายเป็นไปในทิศทางที่เราต้องการ
การอธิบายโค้ดเบื้องต้น
- รวมไฟล์หัวข้อที่จำเป็นสำหรับคลาสข้อมูลการซื้อขายและสัญลักษณ์
- กำหนดพารามิเตอร์นำเข้าสำหรับเปอร์เซ็นต์ความเสี่ยง เปอร์เซ็นต์กำไร และจุด stop loss แบบ trailing
- ประกาศตัวแปรทั่วไประดับโลกสำหรับวัตถุข้อมูลการซื้อขายและสัญลักษณ์
- ฟังก์ชัน OnInit จะทำการตั้งค่าข้อมูลสัญลักษณ์และตรวจสอบข้อผิดพลาด
- ฟังก์ชัน OnDeinit จะไม่ทำอะไรในกรณีนี้
- ฟังก์ชัน OnTick จะถูกเรียกทุกครั้งที่มี tick ใหม่เข้ามา และจะเรียกฟังก์ชัน CheckTrades
- ฟังก์ชัน CheckTrades จะวนรอบตรวจสอบตำแหน่งที่เปิดอยู่ทั้งหมด และตรวจสอบว่าตำแหน่งนั้นเป็นของสัญลักษณ์ปัจจุบันหรือไม่ หากใช่ จะคำนวณกำไรปัจจุบันและตรวจสอบว่าถึงจุดกำไรหรือขาดทุนหรือยัง หากถึงแล้วจะปิดตำแหน่ง
- หากยังไม่ถึงจุดใดจุดหนึ่ง จะตรวจสอบว่าประเภทของคำสั่งเป็น buy หรือ sell และอัปเดตระดับ stop loss ด้วย trailing stop loss หากระดับ stop loss ใหม่ดีกว่าระดับเดิม ตำแหน่งจะถูกปรับเปลี่ยนด้วยระดับ stop loss ใหม่
โค้ดนี้ให้กลยุทธ์การจัดการความเสี่ยงที่ง่ายในการจัดการคำสั่งที่เปิดอยู่ โดยการปรับระดับ stop loss แบบไดนามิกตาม trailing stop loss และปิดคำสั่งเมื่อถึงจุดกำไรหรือขาดทุน
โพสต์ที่เกี่ยวข้อง
- Dematus: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- JS-Chaos: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- สร้าง EA บน MQL5 Wizard ด้วยสัญญาณการซื้อขายจากแท่งเทียน 3 Black Crows/3 White Soldiers + Stochastic