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

 
Dmitriy Voevodkin:

Arbeit mit der Historie von Transaktionen über

OrdersHistoryTotal()

OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)


Ich danke Ihnen für Ihre Antwort. Ich verstehe, dass eine geschlossene Order aus der Historie ausgewählt werden muss (als letzte Order in der Historie), aber ich weiß nicht, wie man diese Bedingung setzt (nachdem wir sie gefunden haben), wenn sie mit Take Profit geschlossen wurde, dann... und wenn sie mit Stop Loss geschlossen wurde, dann...?

 

Guten Tag, ich habe eine Frage wie diese.... Ich dachte aus irgendeinem Grund, dass die Funktion Init () in EA nicht nur im Moment des Anhängens oder Kompilierens von EA startet, sondern auch, wenn die Kommunikation unterbrochen wird, bzw. nach der Wiederherstellung der Verbindung. Können Sie mir sagen, wie ich die Funktion init() starten kann, nachdem die Verbindung wiederhergestellt wurde? ????

 
Bitte teilen Sie mir mit, was der richtige Weg ist und wo ich die Klammern setzen soll. Ist bool korrekt angegeben? Was ist der Unterschied zu externem bool? (oder so ähnlich)

"
Bool Volumes

Wenn (Volumen [1 ]> Volumen [2]) f=true; sonst f=false ;
Wenn (f) handeln; sonst nicht handeln
"
Dateien:
 
Tigerfreerun:
Bitte teilen Sie uns mit, wie und wo wir die Klammern setzen sollen. Ist bool korrekt angegeben? Was ist der Unterschied zu externem bool? (oder so ähnlich)

"
Bool Volumes

Wenn (Volumen [1 ]> Volumen [2]) f=true; sonst f=false ;
Wenn (f) handeln; sonst nicht handeln
"

Setzen Sie den Cursor auf Lautstärke und drücken Sie F1.

Volumen ist ein Operator.

Die Variable bool f;

Im Grunde können Sie den Cursor auf einen beliebigen Operator setzen und F1 drücken - dort ist alles genau beschrieben.
 
Dmitriy Voevodkin:

Setzen Sie den Cursor auf Lautstärke und drücken Sie F1.

Volumen ist ein Operator.

Die boolsche Variable ist f;

Im Prinzip können Sie den Cursor auf einen beliebigen Operator setzen und F1 drücken - dort ist alles genau beschrieben.
Die Frage bezog sich auf Klammern, wo man "{,}" einfügt. Ich verstehe diesen Algorithmus der Klammeranordnung nicht. Ich habe alles genau so geschrieben, wie Sie es gesagt haben und 4 Fehler mit dem Wort "global scope"
 
Mihail Marchukajtes:

Guten Tag, ich habe eine Frage wie diese.... Ich dachte aus irgendeinem Grund, dass die Funktion Init () in EA nicht nur im Moment des Anhängens oder Kompilierens von EA startet, sondern auch während der Unterbrechung der Verbindung, oder genauer gesagt nach der Wiederherstellung der Verbindung. Bitte um Rat, wie die Funktion init() nach der Wiederherstellung der Verbindung gestartet werden kann????


Sie können Init nicht starten, es wird automatisch einmal beim Starten des Indikators/Experten gestartet, wie DeInit.

Alternativ können Sie eine statische boolesche Variable erstellen und sie zusammen mitIsConnected() verwenden.Und wenn die Verbindung bei der Ankunft eines neuen Ticks wiederhergestellt wird, muss zuerst eine eigene Initialisierungsfunktion gestartet werden.IsConnected() solltejedochnicht inOnCalculate(), sondern in OnTimer()angewendet werden.

 
Dmitriy Voevodkin:

Setzen Sie den Cursor auf Lautstärke und drücken Sie F1.

Volumen ist ein Operator.

Die boolsche Variable ist f;

Im Grunde können Sie den Cursor auf einen beliebigen Operator setzen und F1 drücken - dort ist alles genau beschrieben.
Screenshot des Fehlers
Dateien:
 
Tigerfreerun:
Screenshot des Fehlers

Das erste Mal, dass ich einen Screenshot wie diesen gesehen habe =)

Haben Sie nicht die Möglichkeit, einen Screenshot mit Windows-internen Mitteln zu erstellen?

 

Nach Code.

Einfacher Rücksprung bei geringem Volumen, d.h. Unterbrechung der Ausführung von weiterem Code

if(Volume[0] < 1000) return;
 
Tigerfreerun:
Screenshot des Fehlers

Die MQL-Syntax ist fehlerhaft. In diesem Fall gibt es ein zusätzliches Semikolon nach bool Volume und der Compiler will auch Klammern (), aber ich habe Ihnen bereits geschrieben, dass dies in diesem Fall Logik ist, nicht Code für Expert Advisor.

Grund der Beschwerde: