EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: halaminlo on มีนาคม 14, 2013, 03:30:00 am

Title: ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว
Post by: halaminlo on มีนาคม 14, 2013, 03:30:00 am
ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว

ง่ายๆคือ ถ้าไม่มี ออเดอร์ใดเลยที่กำลังเทรดอยู่ ให้ลบ pending buy stop sell syop ที่ตั้งไว้

ทำอย่างไรครับ

ขอตัวอย่างโค้ด  ด้วยครับ

แล้วโค้ดล่างล่างนี้ คืออะไรใช้อย่างไรครับ  

http://codebase.mql4.com/source/4002

ขอบคุณครับ
Title: Re: ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว
Post by: D_Diamond on มีนาคม 14, 2013, 09:27:23 am
อันนั้นเป็นสคริปปิดออเดอร์  ให้ก๊อปโค้ดมาแล้วกด 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 ก็ค่อยลบเพนดิ้ง  ลอกจากโค้ดที่ว่านี้ได้เลยครับ
Title: Re: ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว
Post by: halaminlo on มีนาคม 14, 2013, 10:05:12 am
 :o

ก๊อปส่วนไหนของโค้ดครับ

ผมไปไม่ถูกเลยย

พึ่งหัดเขียน EA แค่ 3 สัปดาห์ เอง
 :-\