void CloseBy2()
{
int slippage=10;
double minimum_profit=100.00;
int x;
double trades[][2];
int total=OrdersTotal();
if(total>1)
{
ArrayResize(trades,total);
for(x=total-1;x>=0;x--)
{
if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES))
{
trades[x][0]=OrderTicket();
trades[x][1]=OrderProfit()+OrderCommission()+OrderSwap();
}
}
ArraySort(trades,WHOLE_ARRAY,0,MODE_ASCEND);
x=0;
while(x<total-1)
{
double profit=trades[x][1]+trades[x+1][1];
if(profit>=minimum_profit)
{
if(OrderSelect((int)trades[x][0],SELECT_BY_TICKET))
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,clrNONE))
Print("Error closing #",IntegerToString(OrderTicket())," Error code ",GetLastError());
if(OrderSelect((int)trades[x+1][0],SELECT_BY_TICKET))
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,clrNONE))
Print("Error closing #",IntegerToString(OrderTicket())," Error code ",GetLastError());
}
x+=2;
}
}
}
// Thank you!You can not treat orders in mt5 the same way as in mt4
That is one of the main reasons why mt5 is slow to be accepted
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
void CloseBy2()
{
int slippage=10;
double minimum_profit=100.00;
int x;
double trades[][2];
int total=OrdersTotal();
if(total>1)
{
ArrayResize(trades,total);
for(x=total-1;x>=0;x--)
{
if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES))
{
trades[x][0]=OrderTicket();
trades[x][1]=OrderProfit()+OrderCommission()+OrderSwap();
}
}
ArraySort(trades,WHOLE_ARRAY,0,MODE_ASCEND);
x=0;
while(x<total-1)
{
double profit=trades[x][1]+trades[x+1][1];
if(profit>=minimum_profit)
{
if(OrderSelect((int)trades[x][0],SELECT_BY_TICKET))
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,clrNONE))
Print("Error closing #",IntegerToString(OrderTicket())," Error code ",GetLastError());
if(OrderSelect((int)trades[x+1][0],SELECT_BY_TICKET))
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,clrNONE))
Print("Error closing #",IntegerToString(OrderTicket())," Error code ",GetLastError());
}
x+=2;
}
}
}
// Thank you!