So, ich schiebe den Code mal nach:
Code:
//bei den globalen Variablen deklarieren
datetime LastCloseTime;
void CheckHistoryOrders() {
datetime lct = 0;
int i, count = 0;
for (i = OrdersHistoryTotal() - 1; i >= 0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (i == OrdersHistoryTotal() - 1) {
if (OrderCloseTime() == LastCloseTime) break;
lct = OrderCloseTime();
}
if (OrderCloseTime() > LastCloseTime) count++;
}
}
}
if (lct > LastCloseTime) LastCloseTime = lct;
if (count > 0) {
int cnt = 0;
ArrayCopy(Array_B, Array_A, count, count, ArraySize(Array_A)-count);
for (i = OrdersHistoryTotal() - 1; i >= 0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
//hier in das Array_B schreiben
//Array_B[cnt] = .....
cnt++;
if (cnt == count) break;
}
}
}
ArrayCopy(Array_A, Array_B, 0, 0, WHOLE_ARRAY);
}
}
Nicht getestet!
traderdoc