könnte wohl so funktionieren, Du mußt da natürlich noch Bedingungen einbauen, z.B. was geschehen soll damit die orders geschlossen werden, so wie es jetzt ist würde es laufend Positionen öffnen und schließen:
Code:
void TestFunction() {
for (int cnt=OrdersTotal()-1; cnt>=0; cnt--) {
if (!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) continue;
{
bool result=false;
if (OrderType()==OP_BUY) {
result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),99999,CLR_NONE);
if (result) result = OrderSend(OrderSymbol(),OP_SELL,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5000,0,0,"",12345,0,CLR_NONE);
}
if (OrderType()==OP_SELL) {
result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),99999,CLR_NONE);
if (result) result = OrderSend(OrderSymbol(),OP_BUY,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5000,0,0,"",12345,0,CLR_NONE);
}
}
}
}