Fehler, Irrtümer, Fragen - Seite 2479

 
Bei der Zusammenstellung dieses Sprints
void Func() { return(true); }

void OnStart()
{
  if (Func())
    ;
}


dieses Protokoll.

'if' - expression of 'void' type is illegal     Test8.mq5       5       3
empty controlled statement found        Test8.mq5       6       5
'return' - 'void' function returns a value      Test8.mq5       1       15
2 error(s), 1 warning(s)                3       2


Zwei Fehler wurden hervorgehoben. Ist es normal, dass sie in der Quelle nicht von oben nach unten gehen?

 
fxsaber:
Bei der Zusammenstellung dieses Sprints.


dieses Protokoll.


Zwei Fehler wurden hervorgehoben. Ist es normal, dass sie im Quellcode nicht von oben nach unten gehen?

Kann eine ungültige Funktion einen Wert zurückgeben?

void Func() { return(true); }
 
Alexey Viktorov:

Kann eine ungültige Funktion einen Wert zurückgeben?

Der Fehler wurde speziell für dieses Beispiel gemacht. Ich habe nach etwas anderem gefragt.

 
fxsaber:

Zwei Fehler wurden hervorgehoben. Ist es normal, dass sie nicht von oben nach unten durch den Quellcode gehen?

Nun, Sie können jede Funktion sowohl am Anfang als auch am Ende des MQL-Codes beschreiben. Die Kompilierung wird trotzdem nach der Logik des Compilerherstellers aufgebaut und nur der Entwickler weiß, was er dort in welcher Reihenfolge aufbaut.

Das Internet ist voll von Artikeln über Compiler, wie sie Verknüpfungstabellen aufbauen und wie sie verknüpfen...

Es handelt sich um einen Compiler, nicht um einen Interpreter, richtig? - Beim Interpreter ist es wie eine Top-Down-Ausführung von Befehlen oder das Lesen des Quellcodes durch eine Maschine


PS: Sie können überprüfen, ob der Compiler nicht alles in den Byte-Code einbezieht, schreiben Sie einen Testcode, kompilieren Sie ihn, sehen Sie sich die Größe von .ex5 an und fügen Sie dann an einer beliebigen Stelle (oben oder unten) eine Menge verschiedener Funktionen ein und rufen Sie sie nicht auf - die Größe von ex5 sollte sich nicht ändern, da sie nicht in ex5 enthalten waren

 
Igor Makanu:

Nun, man kann jede Funktion sowohl am Anfang als auch am Ende von MQL-Code beschreiben. Die Kompilierung wird trotzdem nach der Logik des Compilers aufgebaut, und nur der Entwickler weiß, was er dort in welcher Reihenfolge aufbaut.

Das Internet ist voll von Artikeln über Compiler, wie sie Verknüpfungstabellen aufbauen und wie sie verknüpfen...

Es handelt sich um einen Compiler, nicht um einen Interpreter, richtig? - Beim Interpreter ist es wie eine Top-Down-Ausführung von Befehlen oder das Lesen des Quellcodes durch eine Maschine


PS: Sie können überprüfen, ob der Compiler nicht alles in den Byte-Code einbezieht, schreiben Sie einen Testcode, kompilieren Sie ihn, sehen Sie sich die Größe von .ex5 an und fügen Sie dann an beliebiger Stelle (oben oder unten) eine Menge verschiedener Funktionen ein und rufen Sie sie nicht auf - die Größe von ex5 darf sich nicht ändern, sie wurden nicht in ex5 einbezogen

Bei jedem Fehler gibt es einen Eintrag über die Zeilen- und Spaltennummer. Es spielt keine Rolle, in welcher Form alles im Compiler vorliegt. Es scheint, dass die Fehler immer nach der angegebenen Zeilennummer sortiert wurden.

 
fxsaber:

Es scheint die Fehler immer nach Zeilennummer sortiert zu haben.

Ich habe nie darauf geachtet, ich habe immer dort geklickt, wo der Fehler war, es schien keine Rolle zu spielen.

 
Warum geht die Verbindung mit MQ-Demo verloren, während MQ eine neue Beta-Version herausbringt?
 
fxsaber:
Warum geht die Verbindung zu MQ-Demo verloren, während MQ eine neue Beta-Version herausbringt?
Es ist jedoch möglich, den Verlust der Verbindung zum Server zu testen. Es ist auch sehr gut, dass der Handel - seine serverseitige Auflösung - häufig aus- und eingeschaltet wird. Auch für Tests geeignet. Ich möchte auch, dass einige Kontoparameter hin und her geändert werden können - das wäre toll für Tests. Zum Beispiel Leverage, Margin Call und Stop Out Levels, etc.
 
Artyom Trishkin:
Sie können jedoch den Verlust der Verbindung zum Server testen. Es ist auch sehr gut, dass der Handel - seine serverseitige Auflösung - oft aus- und eingeschaltet wird. Auch für Tests geeignet. Ich möchte auch, dass einige Kontoparameter hin und her geändert werden können - das wäre toll für Tests. Zum Beispiel Hebelwirkung, Margin-Call- und Stop-Out-Niveau usw.

Können Sie sich vorstellen, wie viel Rotz es von denjenigen geben würde, die es nicht zu testen brauchen? Sie werden es nicht verstehen.

 
Artyom Trishkin:
Sie können jedoch testen, ob die Kommunikation mit dem Server unterbrochen ist. Es ist auch sehr gut, dass der Handel - seine serverseitige Auflösung - oft aus/ein ist. Auch für Tests geeignet. Ich möchte auch, dass einige Kontoparameter hin und her geändert werden können - das wäre toll für Tests. Zum Beispiel Leverage, Margin Call und Stop Out Levels, etc.

Dies alles kann über den benutzerdefinierten Tester erfolgen.