Hello,
I've written a little method to mass close all filled positions:
public void closeAllPositions(){
try{
List<IOrder> orders = engine.getOrders();
List<IOrder> QFXOrders = new ArrayList<IOrder>();
//Filter all QFX orders
for(IOrder o : orders){
String orderLabelHeader = (o.getLabel()).substring(0,3);
if(orderLabelHeader.equals("QFX")){
if(o.getState() == IOrder.State.FILLED){
QFXOrders.add(o);
}
}
}
//Close QFX orders
if(QFXOrders.isEmpty() == false){
engine.closeOrders(QFXOrders.toArray(new IOrder[QFXOrders.size()]));
}
} catch (JFException e){
consolePrint("Error closing order: "+e);
}
}
This code will only close one position, since I get the following error message(this is no exception I think):
15:10:06 Mass close failed, wrong order for mass close, positionId: 35672820
What is meant with "wrong order"?
Thanks for help,
Juergen