Bibliotheken: Expert - Seite 9

 
vek_y4icb:
Coole Bibliothek! Ich wäre nicht auf die Idee gekommen, die EA-Eröffnung auf diese Weise zu implementieren. Könnten Sie mir sagen, wie man ein aktives Diagramm mit mql definiert, ohne dll zu verwenden. Ich habe einige Arbeit auf winapi getan, aber es stellte sich heraus, zu umständlich sein:

Vielleicht wissen Sie, wie man diesen Fall auf mql oder zumindest mit dll, aber einfacher zu implementieren?

Wenn ein untergeordnetes Fenster im Terminal maximiert ist, ist es eines (die anderen werden nicht als maximiert betrachtet). Aus diesem Grund können Sie ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value) in der ChartFirst/ChartNext-Schleife prüfen, wobei der Wert 1 sein wird - dies ist das aktive Fenster.

 
Stanislav Korotky:

Wenn ein untergeordnetes Fenster im Terminal maximiert ist, ist es eines (die anderen werden nicht als maximiert betrachtet). Aus diesem Grund ist es möglich, ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value) in der ChartFirst/ChartNext-Schleife zu überprüfen, und wenn der Wert 1 ist, ist dies das aktive Fenster.

Das ist ein bisschen anders als das, was ich brauche. Aber trotzdem danke!!!

 
fxsaber:

Ein kleiner Flyhack besteht darin, EAs/Skripte auf OBJ_CHART-Objekte anzuwenden.

So gestartet Expert Advisors hängen tot - sie sind nicht in irgendeiner Weise ausgeführt. Aber Skripte funktionieren einwandfrei. Es eröffnet also einige Möglichkeiten.

Zum Beispiel können Sie Order-Funktionen von Indikatoren auf Charts verwenden, auf denen bereits ein Expert Advisor läuft. Und es müssen keine neuen Hilfscharts geöffnet werden.


Kompilieren von Skripten\OrderSend.mq5


Und führen Sie den Indikator aus, der "handeln kann"

Guten Tag! Ich bin auf folgendes Problem gestoßen. Wenn ich einen Expert Advisor auf OBJ_CHART starte, weigert er sich, mit OnTick zu arbeiten. Wissen Sie, ob es eine Lösung gibt, um OnTick zum Laufen zu bringen?

 
vek_y4icb:

Guten Tag! Ich bin auf das folgende Problem gestoßen. Wenn ich den Expert Advisor auf OBJ_CHART starte, weigert er sich, mit OnTick zu arbeiten. Wissen Sie, ob es eine Lösung gibt, damit OnTick funktioniert?

Sie haben selbst die Meldung über tote Expert Advisors auf OBJ_CHART zitiert. Dies ist eine Einschränkung von MT5.

 
fxsaber:

Sie selbst haben die Nachricht über tote EAs auf OBJ_CHART zitiert. Dies ist eine Einschränkung von MT5.

OnTimer arbeitet mit ihnen.

 
vek_y4icb:

OnTimer arbeitet mit ihnen.

Es wäre schneller, wenn Sie das überprüfen würden, ich weiß es nicht mehr.

 
fxsaber:

Sie können das schneller nachprüfen, ich kann mich nicht erinnern.

Nein, das war keine Frage) OnTimer funktioniert bei solchen Experten, das ist der Punkt. Aber OnTick weigert sich absolut, dies zu tun.

 
Im Allgemeinen, wie ich verstehe, OnTick ist grundsätzlich unmöglich, auf eine solche Expert Advisor aktivieren und es gibt keine Workarounds für sie?
 
vek_y4icb:
Soweit ich weiß, ist es grundsätzlich nicht möglich, OnTick in einem solchen Expert Advisor zu aktivieren, und es gibt keine Umgehungsmöglichkeiten dafür?

Es gibt keine Umgehungsmöglichkeiten für die Aktivierung von On-Funktionen. Sie können es emulieren, indem Sie OnTick in einem hochfrequenten OnTimer aufrufen und (falls erforderlich) fehlende Ticks durch CopyTicks erhalten.

 
fxsaber:

Es gibt keine Umgehungsmöglichkeiten für die Einbeziehung von On-Funktionen. Es kann emuliert werden, indem OnTick in einem hochfrequenten OnTimer aufgerufen wird und (falls erforderlich) fehlende Ticks über CopyTicks geholt werden.

So mache ich es. Vielen Dank für die Antwort!