Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 547

 
Boris:
Es gibt eine Menge Beispiele in der Codebasis! Und zuallererst müssen Sie Ihre Logik in allem, was Sie tun, anpassen! Warum, zum Beispiel, um Magik in Externen zu vertreten, werden Sie den Wert von Magik optimieren, um die Rentabilität zu erhöhen? ;)

Von welchem Magik reden wir?

Und im Code, nehme ich an, sind es die Zahlen mit einem Minus, die den Fehler verursachen?

 
edutak:

Und im Code, nehme ich an, sind es die Zahlen mit einem Minus, die den Fehler verursachen?

Ja.

Sie können es so schreiben: a_200 = b; Aber a-200 = b; - Sie werden einen Fehler erhalten.

 
Alexey Kozitsyn:

Ja.

Sie können schreiben: a_200 = b; Aber a-200 = b; - Sie erhalten einen Fehler.

Ich danke Ihnen.
 
edutak:

Von welcher Magie ist die Rede?

Ihr!
 
Alexey Kozitsyn:

Ja.

Sie können schreiben: a_200 = b; Aber a-200 = b; - Sie erhalten einen Fehler.

Aber: b = a-200; wird keinen Fehler ergeben.
 
Boris:
Aber: b = a-200; wird keinen Fehler ergeben.
Hier müssen Sie nur verstehen, dass das Gleichheitszeichen kein "Gleich" wie in der Mathematik ist, sondern eine Zuweisungsoperation. Das heißt, der linke Teil (Variable) wird dem Wert des rechten Teils (Ausdruck oder Variable) zugewiesen.
 
Bitte sagen Sie es mir.

Wenn der Compiler keine Fehler meldet, aber die Aufträge nicht korrekt geöffnet werden, alle auf einmal. Es könnte an einer fehlerhaften Logik des Algorithmus liegen.

Genauer gesagt, wenn wir den Orderschließungsblock deaktivieren, werden die Aufträge korrekt geöffnet; wenn wir den Orderschließungsblock aktivieren, werden die Aufträge bei jedem Tick sofort geöffnet.

 
edutak:
Bitte sagen Sie es mir.

Wenn der Compiler keine Fehler meldet, aber die Aufträge nicht korrekt geöffnet werden, alle auf einmal. Es könnte an einer fehlerhaften Logik des Algorithmus liegen.

Genauer gesagt: Wenn Sie die Orderschließungssperre deaktivieren, werden die Aufträge korrekt geöffnet; wenn Sie die Orderschließungssperre aktivieren, werden die Aufträge bei jedem Tick sofort geöffnet.

Ohne den Code kann Ihnen nicht geholfen werden.
 
edutak:
Bitte sagen Sie es mir.

Wenn der Compiler keine Fehler meldet, aber die Aufträge nicht korrekt geöffnet werden, alle auf einmal. Es könnte an einer fehlerhaften Logik des Algorithmus liegen.

Genauer gesagt: Wenn Sie die Orderschließungssperre deaktivieren, werden die Aufträge korrekt geöffnet; wenn Sie die Orderschließungssperre aktivieren, werden die Aufträge bei jedem Tick sofort geöffnet.

Es gibt drei Arten von Fehlern.

Syntaxfehler - sie werden in der Kompilierungsphase erkannt.

Logisch - sie werden bei der Fehlersuche und beim Testen entdeckt.

Laufzeit - Laufzeitfehler werden in der Regel durch falsche Daten verursacht, z. B.Division durch Null oder Array-Überlauf.

 
Vladislav Andruschenko:
Ohne den Code erhalten Sie keine Hilfe.

Ich würde den Code nur ungern zeigen, denn die erste Version erwies sich als sehr überlebensfähig. Es hat 10 Jahre lang ohne Optimierung überlebt. Jetzt möchte ich es etwas komplexer und rentabler machen.

Der Code ist sehr einfach.

Dennoch können aufgrund von Fehlern in der Logik bei jedem Tick Aufträge eröffnet werden.

Grund der Beschwerde: