Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว  (Read 10623 times)

halaminlo

  • Newbie
  • *
  • Posts: 10
ลบ pending ออกอย่างไร ถ้า หลังจาก ออเดอร์ ใดสักออเดอร์ หรืออเดอร์ทั้งหมด SL หรือ TP ไปแล้ว

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

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

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

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

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

ขอบคุณครับ
« Last Edit: มีนาคม 14, 2013, 04:59:00 am by halaminlo »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
อันนั้นเป็นสคริปปิดออเดอร์  ให้ก๊อปโค้ดมาแล้วกด 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 ก็ค่อยลบเพนดิ้ง  ลอกจากโค้ดที่ว่านี้ได้เลยครับ

halaminlo

  • Newbie
  • *
  • Posts: 10
 :o

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

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

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