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

 
MosheDayan:
etwa 25 Personen. Zum Beispiel: 14.02.2017 EURUSD 1,0630

Leider sehe ich auch keine Lösung für dieses Problem allein mit mql.

Erstellen Sie nur eine Briefvorlage mit den Namen aller Freunde und schicken Sie diese per Post.

 
MosheDayan:
etwa 25 Personen. Zum Beispiel: 14.02.2017 EURUSD 1,0630
Müssen Sie die Levels genau übertragen? Wäre es nicht besser, ein Signal zu erzeugen und es zu senden?
 

Hallo.

Ich habe den ganzen Abend getötet, konnte aber den Grund nicht verstehen, bitte helfen Sie. Der Indikator sollte Daten auf dem Bildschirm als Textmarkierung anzeigen, aber wenn ich das Terminal starte, passiert das nicht, die Markierung erscheint nur, wenn ich den Zeitrahmen ändere, dann funktioniert es gut auf Ticks.

Das Beispiel ist so weit wie möglich vereinfacht, aber das Wesentliche bleibt erhalten:

int a=AccountInfoInteger(ACCOUNT_LEVERAGE);

intb=1000/a; // dann wird b auf dem Bildschirm ausgegeben

Mit Hilfe der Eliminationsmethode bin ich zu dem Schluss gekommen, dass dies nur funktioniert, wenn ich die Division durch eine andere Operation ersetze oder der Variablen "a" eine Konstante zuweise.

Ich habe es mit ChartRedraw() versucht, mit Integer- und Double-Typen gespielt, MathRound() ausprobiert und vieles mehr, nichts hat funktioniert.

Es ist alles seltsam.

 
Fam:

Hallo.

Ich habe den ganzen Abend getötet, konnte aber den Grund nicht verstehen, bitte helfen Sie. Der Indikator sollte Daten auf dem Bildschirm als Textmarkierung anzeigen, aber wenn ich das Terminal starte, passiert das nicht, die Markierung erscheint nur, wenn ich den Zeitrahmen ändere, dann funktioniert es gut auf Ticks.

Das Beispiel ist so weit wie möglich vereinfacht, aber das Wesentliche bleibt erhalten:

int a=AccountInfoInteger(ACCOUNT_LEVERAGE);

intb=1000/a; // dann wird b auf dem Bildschirm ausgegeben

Mit Hilfe der Eliminationsmethode bin ich zu dem Schluss gekommen, dass dies nur funktioniert, wenn ich die Division durch eine andere Operation ersetze oder der Variablen "a" eine Konstante zuweise.

Ich habe es mit ChartRedraw() versucht, mit Integer- und Double-Typen gespielt, MathRound() ausprobiert und vieles mehr, nichts hat funktioniert.

Es ist alles seltsam.

Was ist also das Problem mit der Multiplikation statt der Division?

intb=a*0,001;

Und es ist auch wichtig, wo genau im Code die Berechnungen durchgeführt werden sollen. Ich hoffe, es ist nicht in der inite oder global? Du könntest auch durch Null teilen ;)

 
Fam:

Hallo.

Ich habe den ganzen Abend getötet, konnte aber den Grund nicht verstehen. Der Indikator sollte Daten auf dem Bildschirm als Textmarkierung anzeigen, aber wenn ich das Terminal starte, passiert das nicht, die Markierung erscheint nur, wenn ich den Zeitrahmen ändere, dann funktioniert es gut auf Ticks.

Das Beispiel ist so weit wie möglich vereinfacht, aber das Wesentliche bleibt erhalten:

int a=AccountInfoInteger(ACCOUNT_LEVERAGE);

intb=1000/a; // dann wird b auf dem Bildschirm ausgegeben

Mit Hilfe der Eliminationsmethode bin ich zu dem Schluss gekommen, dass dies nur funktioniert, wenn ich die Division durch eine andere Operation ersetze oder der Variablen "a" eine Konstante zuweise.

Ich habe es mit ChartRedraw() versucht, mit Integer- und Double-Typen gespielt, MathRound() ausprobiert und vieles mehr, nichts hat funktioniert.

Es ist alles seltsam.

Und wenn Sie das Journal durchsehen, werden Sie dort den kritischen Fehler "Division durch 0" finden
 
Vitalie Postolache:

Was ist also das Problem, wenn man die Multiplikation statt der Division wiederholt?

intb=a*0,001;

Und es ist auch wichtig, wo genau im Code die Berechnungen durchgeführt werden. Ich hoffe, es ist nicht in der inite oder global? Du könntest auch durch Null teilen ;)

Das wird nicht funktionieren, denn es handelt sich um eine Variable anstelle von 1000. Die Berechnung erfolgt inOnCalculate.
 
Vitalie Postolache:
Müssen die Werte genau übertragen werden? Wäre es nicht besser, ein Signal zu erzeugen und es zu senden?
Ich schicke sie auch per Whatsapp an die Gruppe. Ich wollte ihnen nur das Leben leichter machen... das Diagramm öffnen und mein Level ist schon da. Können Sie mir mehr über das Signal sagen, läuft es über MT oder eine dritte Partei?
 
Alexey Viktorov:
Und wenn Sie in das Protokoll schauen, können Sie dort einen kritischen Fehler "Division durch 0" finden

Im Logbuch steht tatsächlich: Zero Divide. Ich werde es jetzt überprüfen.

Ich verstehe nicht, woher die 0 kommt? Keine Daten vonAccountInfoInteger(ACCOUNT_LEVERAGE) während der Initialisierung? Und warum erscheint die Markierung nicht bei den nächsten Ticks?

 
MosheDayan:
Ich schicke sie auch per Whatsapp an die Gruppe. Ich wollte ihnen nur das Leben leichter machen... das Diagramm öffnen und mein Level ist schon da. Können Sie mir mehr über das Signal sagen, ist es von MT oder von einem Dritten?
Sie ist öffentlich:)
 
Fam:

Im Logbuch heißt es tatsächlich: Nullteilung. Ich werde es jetzt überprüfen.

Ich verstehe nicht, woher die 0 kommt? Keine Daten ausAccountInfoInteger(ACCOUNT_LEVERAGE) während der Initialisierung? Und warum erscheint die Markierung nicht bei den nächsten Ticks?

Weil das Programm einen kritischen Fehler erhalten hat und nicht weiter ausgeführt wird.

Vielleicht geben einige Maklerunternehmen die Hebelwirkung nicht weiter? Obwohl ich es nicht in Forex gesehen habe...

Grund der Beschwerde: