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

 
MakarFX #:
Was ist mit diesem hier nicht in Ordnung?

ja an alle, es passt nicht in das Frage-Antwort-Format und es ist dumm formatiert, man kann keine Code-Zeile in den Text einfügen, ohne sie in die nächste Zeile zu übernehmen, man kann ein Stück Code nicht richtig zitieren: die ganze Nachricht wird aus der Tasche heraus eingefügt.

 
Nerd Trader #:

Von eins an wird OrdersTotal null zurückgeben, wenn keine Bestellungen vorliegen. Aber aus irgendeinem Grund.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

ergibt eine Endlosschleife, also >= nicht.

Gibt es eine andere, bequemere Plattform, um über mql zu kommunizieren?

Dies ist die Website der Entwickler der Plattform und der MQL-Sprache.

Wo sonst würden Sie die genauesten Antworten erhalten?

Und Ihre Frage stammt aus dem Bereich des Missverständnisses, wie man mit Arrays arbeitet.

 
Aleksei Stepanenko #:

die Schleife ist nicht richtig eingestellt:

sollte es so sein:

Und warum? Jeder schreibt mit Gleichen, aber ist das richtig? Warum brauchen wir eine Iteration der Schleife, wenn die Positionen 0 sind?
 
Nerd Trader #:

Von eins an wird OrdersTotal Null zurückgeben, wenn keine Bestellungen vorliegen. Aber aus irgendeinem Grund.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

ergibt eine Endlosschleife und somit >= nicht.

s gibt eine andere, bequemere Plattform für die Kommunikation über mql?
Warum gibt es eine Endlosschleife? bei mir nicht, ich habe nur mql5
 
Nein, das ist in Ordnung. Wenn es keine Positionen gibt, ist i=OrdersTotal()-1 gleich -1. Und die Schleifenbedingung i>=0 wird nicht sofort ausgeführt. Und das Programm wird nicht in die Schleife eintreten.
 
ist größer oder gleich, da das erste Element des Arrays ebenfalls gezählt werden muss und sein Index im Array Null ist.
 
Aleksei Stepanenko #:
ist größer oder gleich, da das erste Element des Arrays ebenfalls berücksichtigt werden muss und sein Index im Array Null ist.
Oh, richtig, danke. Aber es ist natürlich eine Krücke. Das gilt natürlich auch für die gesamte mql.
 

Hallo!

Variablen werden wie folgt deklariert

input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

Im mql4-Code sieht die Zeile wie folgt aus

startTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ",startHour));
endTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ", endHour));

Der mql5-Compiler gibt den Fehler'(TimeToString' - Variable erwartet),warning(implizite Umwandlung von 'Zahl' in 'String')

Können Sie mir bitte sagen, wie ich das korrigieren kann?

 
grimc124 #:

...

Können Sie mir bitte sagen, wie ich das Problem beheben kann?

Keinen doppelten Code verwenden (Prinzip DRY = Don't Repeat Yourself) Funktionen verwenden. Zum Beispiel:

datetime SetTime(datetime dtime, string stime) {
    return StringToTime(TimeToString(dtime, TIME_DATE) + " " + stime);
}

Jede ungültige Zeichenkette wird in Nullzeit umgewandelt

 
Artyom Trishkin #:

Dies ist die Website der Entwickler der Plattform und der MQL-Sprache.

Wo sonst würden Sie die genauesten Antworten erhalten?

Ihre Frage zeigt, dass Sie nicht verstehen, wie man mit Arrays arbeitet.

OrdersTotal, bei 1 Auftrag wird 1 und nicht 0 zurückgegeben. Bei 0 Aufträgen wird 0 zurückgegeben.

"Dies ist eine Website der Entwickler der Plattform und der MQL-Sprache. Wo sonst würden Sie die genauesten Antworten erhalten? "

- Nur weil es sich um eine Ressource für Entwickler handelt, heißt das nicht, dass dies der richtige Ort dafür ist, denn es gibt Ressourcen, die speziell für das Frage-Antwort-Format entwickelt wurden.

Grund der Beschwerde: