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

1. Die Arrays sollten nicht in der Funktion OnTick() deklariert werden, sondern in OnInit() oder sogar vorher in den globalen Variablen.
2. Wenn für die Arrays vor dem Aufrufen keine Dimension festgelegt wird, wird das Zugreifen auf das Array ins Leere laufen und diesen Fehler produzieren.
D.h. entweder bei der Deklaration die Dimension festlegen, also z.B. Array[10] oder im Verlauf des Befüllens des Arrays die Dimension dynamisch der Anzahl der Arrayfelder anpassen.
Das geht mittels:
int size = ArraySize(Array);
size++;
ArrayResize(Array, size);
Array[size-1] = Wert; //size-1, weil die Felder von Index 0 bis sie-1 laufen, die Dimension size beträgt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.