Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: การปิด ORDER และ EA ที่ใช้ปิด ORDER  (Read 24504 times)

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
การปิด ORDER และ EA ที่ใช้ปิด ORDER
« on: ตุลาคม 12, 2010, 05:31:57 am »
การปิด Order ใน  MT4
คำสั่งที่เราใช้ในการปิด Order ก็คือ  OrderCloseโดยมีค่าพารามิเตอร์ตามตัวอย่างด้านล่านนี้

OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)

ตัวอย่าง เช่น


OrderClose(order_id,1,Ask,3,Red);
จากคำสั่งด้านบน เราต้องทราบ order_id ถึงทำการปิด Order ได้แต่ในความเป็นจริงเราใช้ EA สั่งการเพื่อปิด order เราต้องใช้ คำสั่ง OrderSelect
ช่วย ผมจะนำข้อมูลจากหัวข้อ OrderSelect บางส่วนบางใช้นะครับใครงงให้กลับไปดูที่ Orderselect ประกอบนะครับ
จากหัวข้อ orderselect เรามี order อยู่ 3 order ถ้าต้องการปิด order ทั้งหมดเราต้องใช้ orderselect ช่วย

1 BUY  0.1 lot
2 SELL 0.1 lot
3 BUY  0.1 lot


for(int i=0;i<OrderTotal();i++)
{
   OrderSelect( i,SELECT_BY_POS,MODE_TRADE) ;
   if(OrderType()==OP_BUY) // ใช้ตรวจสอบ Order หากพบว่าเป็น BUY order ก็ใช้คำสั่งด้านล่างนี้
     {
       OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
     }

    if(OrderType()==OP_SELL)// ใช้ตรวจสอบ Order หากพบว่าเป็น SELL order ก็ใช้คำสั่งด้านล่างนี้
     {
       OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
     }



}

ของแถมครับผมเขียน EA ที่เกี่ยวกับการ close เอาไวแล้วครับโดยความสามารถมันสามารถปิดทุก order ที่เปิดอยู่ได้โดยไม่สนใจว่าเป็นคู่เงินเดียวกันหรือไม่ ผมเขียนในรูปแบบของ EA ครับหากบางท่าน
ต้องการทำเป็น script ก็แต่สร้าง script ขึ้นมาใหม่แล้วก็นำ code ที่ผมเขียนไป paste ได้เลยครับ