voidOnStart()
{
ulong i=0;
while(true)
{
if(i<ULONG_MAX) {i++;} //тут в условии так и остаётся тип ulong, преобразования к long не происходитelse {break;}
}
}
Zu TF: D1 und M4 lehnt der Debugger die Zeile min=Low[i] ab; das Terminal "hängt" sich auf. Bei anderen TF gibt es dieses Problem nicht. Das Ersetzen durch min=iLow(); bringt nichts. Bitte beraten Sie mich, wo das "Loch" ist: in der Historie, im neuen MT4-Editor oder in meinem Kopf?
Zu TF: D1 und M4 lehnt der Debugger die Zeile min=Low[i]; ab, das Terminal "hängt" sich auf. Bei anderen TF gibt es dieses Problem nicht. Die Ersetzung von min=iLow(); bringt mir nichts. Bitte beraten Sie mich, wo das "Loch" ist: in der Geschichte, im neuen MT4-Editor oder in meinem Kopf?
Bittebenutzen Sie den "SRC"-Button beim Erstellen eines Forumsbeitrags, um den Code einzufügen
Bei "normalen" Vergleichen wird sie dem vorzeichenlosen Typ zugeordnet:
Wie erklären Sie das dann?
Im getesteten Ausdruck der ersten Schleife wird eine Variable vom Typ int mit einer Integer-Konstante vom Typ uint verglichen:
keine implizite Typumwandlung stattfindet, wird ein bitweiser Vergleich durchgeführt. Der Ausdruck ist immer wahr.
In dem zu prüfenden Ausdruck der zweiten Schleife wird eine Variable vom Typ int mit einer Variablen vom Typ uint verglichen:
wird eine implizite Umwandlung der Variablen i in den Typ uint durchgeführt. Und nach dem Überlauf der Variablen i: uint(-1)= 4294967295
wird der Ausdruck falsch sein.
Das Ende einer Ära(UNIX?)wird um 8 Stunden verzögert:
Ganze Typen
Typ
Größe in Bytes
Minimaler Wert
Maximaler Wert
Analog in C++
datetime
8
0 (1970.01.01 0:00:00)
32 535 244 799 (3000.12.31 23:59:59)
__time64_t
Die Entwickler,
Geben Sie ihm eine formale Beschreibung der MQL-Grammatik und lassen Sie ihn nach Popeln suchen :-)))
Einfache Sache:
double min,max;
i=Bars-1-period1;
while(max-min==0)
{
min=Low[i];
max=High[i];
i++;
}
Zu TF: D1 und M4 lehnt der Debugger die Zeile min=Low[i] ab; das Terminal "hängt" sich auf. Bei anderen TF gibt es dieses Problem nicht. Das Ersetzen durch min=iLow(); bringt nichts. Bitte beraten Sie mich, wo das "Loch" ist: in der Historie, im neuen MT4-Editor oder in meinem Kopf?
Einfaches Zeug:
Zu TF: D1 und M4 lehnt der Debugger die Zeile min=Low[i]; ab, das Terminal "hängt" sich auf. Bei anderen TF gibt es dieses Problem nicht. Die Ersetzung von min=iLow(); bringt mir nichts. Bitte beraten Sie mich, wo das "Loch" ist: in der Geschichte, im neuen MT4-Editor oder in meinem Kopf?
Bittebenutzen Sie den "SRC"-Button beim Erstellen eines Forumsbeitrags, um den Code einzufügen
Das erleichtert das Lesen Ihrer Nachrichten.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wie man diesen Code auf MT5 kompiliert
barabashkakvn, 2014.04.09 11:09
Hier ist ein guter Artikel:Migration von MQL4 zu MQL5
Das Ende einer Ära(UNIX?)wird um 8 Stunden verzögert:
Oder wir wissen etwas nicht, ich glaube, hier hat sogar jemand von Hand nachgezählt https://www.mql5.com/en/forum/16036
Offenbar gibt es einen Fehler in der Hilfe max=32'535'215'999
Es ist nur so, dass der Grenzwert für den Typ datetime nicht korrekt definiert ist:
Der Grenzwert für den Typ datetime ist einfach nicht korrekt definiert: