EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: halaminlo on มีนาคม 14, 2013, 03:30:00 am
-
ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว
ง่ายๆคือ ถ้าไม่มี ออเดอร์ใดเลยที่กำลังเทรดอยู่ ให้ลบ pending buy stop sell syop ที่ตั้งไว้
ทำอย่างไรครับ
ขอตัวอย่างโค้ด ด้วยครับ
แล้วโค้ดล่างล่างนี้ คืออะไรใช้อย่างไรครับ
http://codebase.mql4.com/source/4002
ขอบคุณครับ
-
อันนั้นเป็นสคริปปิดออเดอร์ ให้ก๊อปโค้ดมาแล้วกด compile จะได้เป็น ex4 เอาไปไว้ที่โฟลเดอร์ experts\scripts\
วิธีใช้ก็ ดับเบิลคลิกสคริปใน navigator แล้วตั้งค่า
extern bool CloseOpenOrdersAndCancelPending = false;
extern bool CloseOpenOrders = false;
extern bool DeleteAllPendingOrders = false;
extern int DeletePendingWithMagicNumber = 0;
extern string DeletePendingMatchingComment = "";
extern int CloseOrdersMatchingMagicNumber = 0;
extern string CloseOrdersMatchingComment = "";
extern bool CloseOrdersWithPlusProfit = false;
extern bool CloseOrdersWithMinusProfit = false;
extern bool CloseOrdersOpenedBeforeToday = false;
เลือกอย่างใดอย่างหนึ่งให้เป็น true มันก็จะทำงานตามความหมายที่เขียนไว้ เช่น CloseOrdersWithMinusProfit ปิดทุกออเดอร์ที่ติดลบ CloseOpenOrdersAndCancelPending ปิดทุกออเดอร์หมดพอร์ตรวมทั้ง pending
ถือเป็นสคริปที่ดีมากครับ อันเดียวปิดได้หลายแบบ ไม่ต้องทำสคริปหลายอัน
ส่วนวิธีลบ pending ใช้ orderselect นับจำนวนก่อน ถ้านับได้ 0 ก็ค่อยลบเพนดิ้ง ลอกจากโค้ดที่ว่านี้ได้เลยครับ
-
:o
ก๊อปส่วนไหนของโค้ดครับ
ผมไปไม่ถูกเลยย
พึ่งหัดเขียน EA แค่ 3 สัปดาห์ เอง
:-\