คุณAdmin ครับช่วยดู code ให้หน่อยนะครับ
จาก code ด้านล่าง คือผมต้องการปิด order ที่ profit มากกว่า 0 เมื่อ มีจำนวนการเปิด order ทั้งหมดมากกว่าหรือเท่า 10 order
โดยผมไปกำหนดที่ เงื่อนไขที่ บรรทัดที่เป็นสีแดง พอมันถึง 10 order ในครั้งแรก มันก็ปิดตามเงื่อนไขให้ครับ และจำนวน order
ก็ลดลงเหลือ 5 order แต่พอ order ไหน มี profit มากกว่า 0 มันดันปิดให้ ทั้งๆ ที่ยังไม่ถึง 10 order อ่ะครับ
ผมจึงอยากให้ Admin ช่วยแก้ไขให้มันปิด order เมื่อมีจำนวน order มากว่าหรือเท่ากับ 10 order ก่อน แล้วค่อยทำการ close อ่ะครับ
ขอบคุณมากครับ
if(OrdersTotal() >= 10)
{
close();
return(0);
}
void close()
{
while(OrdersTotal()>0)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
int type = OrderType();
bool result =false;
if(OrderProfit()>0)
{
switch(type)
{
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
break;
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
break;
case OP_BUYLIMIT : result = OrderDelete(OrderTicket());
break;
case OP_SELLLIMIT : result = OrderDelete(OrderTicket());
break;
case OP_BUYSTOP : result = OrderDelete(OrderTicket());
break;
case OP_SELLSTOP : result = OrderDelete(OrderTicket());
break;
}
}
}
}
return(0);
}