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

 
Nikolai Semko:

Nach MT5 ist das Gefühl von MT4 einfach furchtbar.

Nikolay, es gibt eine Frage zum OnCalculate-Betrieb im MT5.

Wenn Sie den Indikator starten, wird OnCalculate einmal nach OnInit aufgerufen? Oder wartet der Indikator auf den Tick?

 
MakarFX:

Können Sie bitte in einfacher Sprache erklären, worin der Unterschied zwischen diesen Funktionen besteht?

Optisch scheint es keinen Unterschied zu geben. Bis auf das Unverständliche: || Order_Type ==-1
 
MakarFX:

Könnten Sie bitte im Klartext erklären, worin der Unterschied zwischen diesen Funktionen besteht?

Wenn wir die erste Funktion mit dem Parameter -1 aufrufen, gibt sie die Anzahl aller Aufträge im Terminal durch das aktuelle Symbol zurück (unabhängig von ihrem Typ).

Die zweite Funktion gibt nur die Anzahl der Aufträge zurück, deren Typ ihr als Parameter übergeben wird.

 
MakarFX:

Bitte erklären Sie mir im Klartext, worin der Unterschied zwischen diesen Funktionen besteht?

Nichts, aber ich würde die zweite verwenden, aber mit Einfügung:||Order_Type==-1

Aleksei Stepanenko:
Optisch scheint es keinen Unterschied zu geben. Außer bei unverständlich: || Order_Type ==-1.

Wenn wir den Parameter auf -1 setzen, werden Kauf und Verkauf berücksichtigt, was logisch ist, da die Funktion universell ist

 
Vitaly Muzichenko:

Wenn wir den Parameter auf -1 setzen, berücksichtigen wir Kaufen und Verkaufen, was für die Vielseitigkeit der Funktion recht logisch ist

Ahhhh, ich verstehe, danke.

 
Vitaly Muzichenko:

Keine, aber ich würde die zweite verwenden, aber mit Einfügung:||Order_Type==-1

Wenn wir den Parameter auf -1 setzen, werden Kauf und Verkauf berücksichtigt, was für die Vielseitigkeit der Funktion sinnvoll ist

Danke, ich habe es verstanden!

 
Aleksei Stepanenko:

Nikolay, es gibt eine Frage zu OnCalculate in MT5.

Wenn der Indikator startet, wird OnCalculate einmal nach OnInit aufgerufen? Oder wartet der Indikator auf den Tick?

Nachdem OnInit einmal aufgerufen wurde, wird auf das Ticken gewartet. Andernfalls würde der erste Hauptzyklus der Indikatorerzeugung am Ausgang nicht stattfinden, wenn prevCalculated=0 ist.
Sie können die Reihenfolge der Aufrufe jederzeit per Druck überprüfen.
Print("1");
Print("2");
...
 
Nikolai Semko:
Nach OnInit wird er einmal aufgerufen, nachdem er auf den Tick gewartet hat.
...

Danke, ich habe einen merkwürdigen Indikator, der auf vier ohne Probleme funktioniert. Bei Paaren, bei denen kein Häkchen vorhanden ist, wurde nicht gezogen.

Druckt jedoch OnCalculate beim Start. Vielleicht muss die Tabelle aktualisiert werden? ChartRedraw? Denn es zieht nur, wenn eine Zecke kommt.
Dateien:
Mike.mq5  17 kb
 
Aleksei Stepanenko:

Danke, mein Indikator, der auf vier ohne Probleme funktioniert, verhielt sich seltsam. Bei Paaren, bei denen kein Häkchen vorhanden ist, wurde nicht gezogen.

Ich empfehle, das reguläre Debugging aktiv zu nutzen. Wenn Sie nicht wissen, wie man damit arbeitet, müssen Sie es dringend lernen, es ist nicht schwer. Auf diese Weise lassen sich Fehler und Antworten auf Fragen schneller finden.
 
Nikolai Semko:
Ich schlage vor, dass Sie die reguläre Fehlersuche aktiv nutzen.

Wissen Sie, genau wie Sie ein schreckliches Gefühl über MT4 haben, versuche ich MT5 mit einem Gefühl der inneren Ablehnung zu benutzen, und es kocht in , so dass es keine Zeit für die Fehlersuche gibt