จะตรวจสอบว่า Order ล่าสุดที่ปิดไปเป็น Order ชนิดไหนก็จะเปิดตามเดิมหาก Profit ของ Order ที่ถูกปิดล่าสุดเป็นบวก แต่หาก Profit ของ Order ที่ถูกปิดไปล่าสุดเป็นลบจะเปิด Order ใหม่ตรงกันข้ามกับ order เดิมและขนาด Lot จะคูณ 2 เท่าของ Order แรก
int start() { OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY); int Type=OrderType(); double Lot=OrderLots(); double Profit=OrderProfit(); if(OrdersTotal()==0) { if(Type==OP_BUY) { if(Profit > 0 ) { OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"EX8",0,0,Green); } if(Profit < 0) { OrderSend(Symbol(),OP_SELL,Lot*2,Bid,3,0,0,"EX8",0,0,Red); } } if(Type==OP_SELL) { if(Profit > 0 ) { OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"EX8",0,0,Red); } if(Profit < 0) { OrderSend(Symbol(),OP_BUY,Lot*2,Ask,3,0,0,"EX8",0,0,Green); } } } return(0); }
วิธีตรวจสอบ Order ที่ถูกปิดไปล่าสุดว่าถูกปิดโดย SL , TP หรือไม่
ตอบลบint start()
{
int a=OrdersHistoryTotal()-1;
OrderSelect(a,SELECT_BY_POS,MODE_HISTORY); //Point1
if(OrderClosePrice()==OrderStopLoss()) //Point2
{
Print("The Last Order Close By SL ");
return (0);
}
if(OrderClosePrice()==OrderTakeProfit()) //Point3
{
Print("The Last Order Close By TP ");
return (0);
}
Print("The Last Order Close By Other Way "); //Point4
return(0);
}
แล้วถ้าเราอยากจะหาผลรวมของออเดอร์ที่ปิดไปแล้ว วันนี้ เขียนยังไงครับ
ตอบลบOrderSelect(OrdersHistoryTotal()-1 เพื่ออะไรครับ
ตอบลบ