Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 563

 
Roman Sharanov:

und die Daten von den Indikatoren, dem Diagramm?

Alles ist möglich. Dazu müssen Sie aber mindestens beide Sprachen beherrschen.

 
Artyom Trishkin:

Alles ist möglich. Dazu müssen Sie aber mindestens beide Sprachen beherrschen.

Ich besitze

 
Roman Sharanov:

Ich besitze

Nun, dann sollten Sie keine Probleme haben, plattformübergreifenden Code zu schreiben.

 

Lustige Situation

Eine Code-Zeile verursacht manchmal den folgenden Fehler.

Unter welchen Bedingungen kann dieser Fehler auftreten?


   ChartTimePriceToXY(0,0,Time[0],price,x1,y_cord);


2018.06.08 13:41:39.021    program name XAUUSDcheck,H1: array out of range in 'DrawInterfaceLib.mqh' (47,31)


 
Sergey Likho:

Lustige Situation

Eine Code-Zeile verursacht manchmal den folgenden Fehler.

Unter welchen Bedingungen kann dieser Fehler auftreten?


Außerhalb des Bereichs eines Arrays. Der dem Array übergebene Index ist entweder größer als die maximale Größe des Arrays (wenn das Array 10 ist, dann ist der maximale Index eines solchen Arrays = 9, da sein erstes Element den Index 0 hat) oder kleiner als Null. Entweder hat das Array eine Größe von Null.

 
Artyom Trishkin:

Außerhalb der Reichweite des Arrays. Der dem Array übergebene Index ist entweder größer als die maximale Größe des Arrays (wenn das Array die Größe 10 hat, ist der maximale Index eines solchen Arrays = 9, da sein erstes Element den Index 0 hat) oder kleiner als Null. Entweder hat das Array eine Größe von Null.

Danke, natürlich, das weiß ich.

Unter welchen Bedingungen könnte dieser Fehler beim Zugriff auf das ArrayTime[0] auftreten?

Die Anordnung ist also null? Und wie kann das bei Zeitreihen der Fall sein?

 
Sergey Likho:

Lustige Situation

Eine Code-Zeile verursacht manchmal den folgenden Fehler.

Unter welchen Bedingungen kann dieser Fehler auftreten?

Alter MT4-Fehler (Zeit-Array scheint die Größe Null zu haben). Vor etwa zwei Jahren tauchte es ständig bei einem meiner Kunden auf. Aber es schien unrealistisch zu sein, diesen Fehler zu reproduzieren. Der Service Desk erkennt das Problem an, kann es aber nicht beheben. Seitdem verwende ich nie mehr den direkten Zugriff auf Zeitreihen, sondern nur noch über iTime, iOpen usw.

 
Ihor Herasko:

Alter MT4-Fehler (Zeit-Array scheint eine Nullgröße zu haben). Vor etwa zwei Jahren tauchte es immer wieder bei einem meiner Kunden auf. Es erwies sich jedoch als unrealistisch, diesen Fehler zu reproduzieren. Der Service Desk erkennt das Problem an, kann es aber nicht beheben. Seitdem verwende ich niemals direkten Zugriff auf Zeitreihen, sondern nur über Wrapper: iTime, iOpen usw.

Ja, das habe ich schließlich getan und durch iTime ersetzt. Danke!

 

Hallo. Außerhalb der Grenzen, wie kann man das beheben?

 if(TimeFrame>Period()) 
     {
      ArrayCopySeries(santa1,5,Symbol(),TimeFrame);
      summ=CountBars+TimeFrame/Period();
      shift=0;
      for(int iy=0; shift<summ; shift++) 
        {
         if(Time[shift]<santa1[iy]) iy++;//вот эта строка "array out of range" 
         list[shift]=bufbuy[iy];
        }
     }
 
PolarSeaman:

Hallo. Außerhalb der Grenzen, wie kann man das beheben?

Die Werte der Variablen shift und iy im obigen Code werden nicht daraufhin überprüft, ob sie außerhalb der Arrays Time und santa1 liegen. Deshalb ist es sinnvoll. Überprüfen Sie die Werte, bevor Sie sie verwenden, und der Fehler wird verschwinden.

Um genauer zu sein, müssen Sie wissen, wie die Variablen CountBars und TimeFrame generiert werden.

Grund der Beschwerde: