code is in MT4
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && Symbol()==OrderSymbol() && OrderType()!=OP_BUY && OrderType()!=OP_SELL)
{
OrderDelete(OrderTicket());
}
}
return(0);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && Symbol()==OrderSymbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage);
}
}
}
return(0);
}
and translate to java
public int DeletePendingOrders(Number Magic) throws JFException {return DeletePendingOrders(Magic.intValue());}
public int DeletePendingOrders(boolean Magic) throws JFException {
return DeletePendingOrders(toInt(Magic));}
public int DeletePendingOrders(int Magic) throws JFException {
int total = 0;
int cnt=toInt(total-1);
total = toInt(OrdersTotal());
for(cnt=(int)total-1;cnt>=0;cnt--){
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&Instrument()==OrderSymbol()&&OrderType()!=OP_BUY&&OrderType()!=OP_SELL){
OrderDelete(OrderTicket());
}
}
if(true)return toInt(0);return 0;
}
public int CloseOrders(Number Magic) throws JFException {return CloseOrders(Magic.intValue());}
public int CloseOrders(boolean Magic) throws JFException {
return CloseOrders(toInt(Magic));}
public int CloseOrders(int Magic) throws JFException {
int total = 0;
int cnt=toInt(total-1);
total = toInt(OrdersTotal());
for(cnt=(int)total-1;cnt>=0;cnt--){
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&Instrument()==OrderSymbol()){
if (OrderType()==OP_BUY){
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage);
}
if (OrderType()==OP_SELL){
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage);
}}
}