จะตรวจสอบว่า 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 เพื่ออะไรครับ
ตอบลบ