Einzelnen Beitrag anzeigen
  #9 (permalink)  
Alt 12.11.15
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.