Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 03.05.22
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard Hilfsindikator braucht selber Hilfe

Ich versuche mir einen Hilfsindikator zu schreiben, der mir die Barnummern für sowohl Serial- als auch NonSerial Zählung angibt (im Anhang).

Das Problem, das ich nicht verstehe wieso es überhaupt auftauchen kann, ist folgendes:
Wenn ich den Indikator auf den Chart schmeiße, kriege ich eine Meldung
"EURUSD,M1: array out of range in 'BiSi-BAR-BarNos3.mq4' (158,17)".
Wenn ich dann aber die Indikator-Eigenschaften aufrufe - ich muß da noch nicht mal was ändern, sondern einfach nur OK drücken - dann wird alles angezeigt.

Besagte Meckerzeile ist hier:
Code:
void CalcSeries(int rat_tot=-1)
{
   int limit=rat_tot;                     //CalledFromOnCalculate
   if(rat_tot==-1) limit=Bars;            //CalledFromAllOthers:MaxIs1LessThanAvailable
   if(LOOKBACKBARS>0) limit=LOOKBACKBARS; //ObeyUserInput
   if(limit>Bars) limit=Bars;             //IfLessThanAvailableBars
   
   for(int i=0; i<limit; i++) 
   {
      //if(i==0 || i==limit) Print(__FUNCTION__," i=",(int)i);
      SeriesBuff[i]=i;
   }
}
Wir haben definitiv die Anzahl von "Bars" zur Verfügung, und da ich die "pur" (also keine Berechnungen mit i-1 mache), kann doch gar nichts außerhalb des Arrays sein. Und eine Bar, die vorhanden ist, hat auch automatisch alle dazugehörigen Werte (wie high/low/open/close usw.).

Wie kann es sein, daß das Ding erst nach dem Aufrufen der Indikatoreinstellungen funktioniert? Ich bin komplett ratlos. Wäre super, wenn jemand eine Idee hat.
AVT
Angehängte Dateien
Dateityp: mq4 BiSi-BAR-BarNos3.mq4 (22,8 KB, 3x aufgerufen)