Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 548

 
evillive:

Auch
Ziffern sollten möglichst aus dem entsprechenden Symbol "herausgezogen" werden ;)
Und das ist noch nicht alles. Um den Preis eines anderen Tools zu normalisieren, sollten Sie auch Ziffern aus einem anderen Tool übernehmen, und auch für die Ausgabe in Kommentaren sollten Sie keine reelle Zahl normalisieren, sondern DoubleToString() verwenden;
 
evillive:

Auch die
Ziffern sollten möglichst aus dem entsprechenden Symbol "gezogen" werden ;)

Danke, es funktioniert.
 
artmedia70:
Und das ist noch nicht alles. Um den Preis eines anderen Symbols zu normalisieren, sollte man auch die Ziffern eines anderen Symbols nehmen. Außerdem sollte ich die reale Zahl nicht normalisieren, sondern DoubleToString();

verwenden, um sie in Kommentaren auszugeben.

Ich kümmere mich nicht um Kommentare, das Wichtigste für mich ist, Aufträge zu öffnen, aber das Terminal erzeugt immer noch einen Fehler, sogar mit DoubleTtoStr(), es schreibt falsche Preise.

 
Example2:

Ich kümmere mich nicht um die Kommentare, das Wichtigste ist, dass die Aufträge geöffnet werden, aber das Terminal generiert immer noch einen Fehler, sogar mit DoubleTtoStr(), es schreibt die falschen Preise.

Die Bemerkungen sind richtig. Die Normalisierung schlägt manchmal fehl, aber das ist nicht gut. Sie sollten den Entwicklern im MetaTrader 4 Client Terminal build 610 zur Überprüfung schreiben. Aber es ist mir nur zweimal gelungen, eine falsche Normalisierung zu reproduzieren

DoubleTtoStr() schneidet zwar, aber die Zahl selbst ändert sich dadurch nicht, was zu Fehlern beim Vergleich von Variablen, bei Bestellungen usw. führen kann. Ich kann jetzt nicht sagen, wie wichtig es ist, im 16. Bit eine 1 zu setzen, aber der Zahlenvergleich ist definitiv falsch.

 
GSB:

Die von Ihnen gemachten Bemerkungen sind richtig, aber die Tatsache, dass die Normalisierung manchmal fehlschlägt, ist nicht gut. Sie sollten den MetaTrader 4 Client Terminal build 610 an die Entwickler zur Überprüfung schreiben. Aber es ist mir nur zwei Mal gelungen, eine falsche Normalisierung zu reproduzieren

DoubleTtoStr() schneidet zwar, aber die Zahl selbst ändert sich dadurch nicht, was zu Fehlern beim Vergleich von Variablen, bei Bestellungen usw. führen kann. Ich kann jetzt nicht sagen, wie wichtig es ist, im 16. Bit eine 1 zu setzen, aber der Zahlenvergleich ist definitiv falsch.

Der Expert Advisor eröffnet Aufträge nur einmal, muss er also für jedes Paar einzeln geschrieben werden?
 
Example2:
Der Expert Advisor öffnet Aufträge jedes zweite Mal, müssen Sie ihn also für jedes Paar separat schreiben?
Nein, das tut sie nicht. Es ist unwahrscheinlich, dass Bestellungen aus diesem Grund "intermittierend" geöffnet werden. Schauen Sie sich das Protokoll an, und bevor Sie eine Bestellung aufgeben, stellen Sie sicher, dass Sie ResetLastError(); und dann if(GetLastError()>1) Print(GetLastError() ); und stellen Sie sicher, dass Sie den Fehler mit Digits korrigieren
 
GSB:
Nein, das müssen Sie nicht. Es ist unwahrscheinlich, dass Bestellungen aus diesem Grund "intermittierend" geöffnet werden. Sehen Sie sich das Protokoll an, und bevor Sie eine Bestellung aufgeben, stellen Sie sicher, dass Sie ResetLastError(); und dann if(GetLastError()>1) Print(GetLastError() ); Und stellen Sie sicher, dass Sie den Fehler Digits

korrigieren.

GetLastError() sagt "falsche Preise". Ich habe die Ziffern bereits separat für jedes Währungspaar genommen.
 
Example2:

GetLastError() sagt "falsche Preise". Die Ziffern habe ich bereits für jedes Währungspaar getrennt genommen.

Haben Sie das Stop-Level berücksichtigt? Prüfen Sie mit dem Skript, was es ist
 
GSB:

Wurde die Haltestellenhöhe berücksichtigt? Was das bedeutet, können Sie im Skript nachlesen


Ich habe Börsenaufträge.

 

129 Fehler auftritt, wenn der Preis Zeit hat, sich zu ändern, bevor das DC Ihren Auftrag ausführt, verwenden Sie einen größeren Slippage.

Grund der Beschwerde: