Das geht ganz einfach über wenige Zeilen:
Code:
int CheckOrder() {
for (int i = OrdersHistoryTotal()-1; i >= 0; i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){
if (OrderType() == 0 || OrderType() == 1) return(OrderType());
}
}
return(-1);
}
Wird 0 zurückgegeben, dann war die letzte geschlossene MarketOrder eine BuyOrder, bei 1 eine SellOrder. Sollte keine Buy- oder SellOrder gefunden worden sein, dann wird -1 zurückgegeben.
Wenn keine MagicNumber vergeben wird, dann einfach die letzte Abfrage in Zeile 4 löschen.
traderdoc