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

 
psyman:

Wenn mehr als eine Position von Hand geöffnet ist, wie weise ich dann den EA der Position zu, die nachgezogen werden muss?

Bisher habe ich nur daran gedacht, ein Skript zu starten, das einen GP erstellt und das Ticket von dort kopiert.

Ist es möglich, den Ticketwert als input int oder zumindest als enum von Aufzählungen von Ticks aller Positionen des gegebenen Symbols an die owl input zu übergeben?

Durch Anklicken des Symbols für die offene Position/den Auftrag wird diese/r als Schleppnetzziel ausgewählt. Mit der Tastenkombination Strg+Strg werden mehrere Positionen/Bestellungen für das Schleppnetz ausgewählt. Alles, was Sie tun müssen, ist, die Reaktion auf Klick-Ereignisse auf den Objekten zu schreiben. Und die Möglichkeit, Position und Reihenfolge der Symbole festzulegen.

 
Artyom Trishkin:

:)

Was, wenn Sie den EA bei 9,22 laufen lassen?

Was ist, wenn ein System- oder Terminalfehler auftritt? Der Preis wird verloren gehen.

D.h., Sie müssen nachsehen, was vor 20 Minuten war, wenn der Zeitpunkt dieser Überprüfung kommt. Der Zeitpunkt ist gekommen, an dem die Minuten größer oder gleich einem Vielfachen von zwanzig sind - prüfen Sie den Stand des RSI auf dem Balken, der vor 20 Minuten war. Wenn er die gewünschte Kreuzung hat, dann machen wir weiter wie geplant...

Auf der M15 können Sie jedoch nicht den genauen Zeitpunkt der Überquerung und den genauen Preis ermitteln, aber Sie können den Preis auf der M1 betrachten - der mindestens 15 Mal genauer ist.

Können Sie nicht einen Notizblock erstellen, der den genauen Zeitpunkt der Überfahrt und den Preis festhält?)
Es gibt EAs, die alle möglichen Informationen in einem Notizblock aufzeichnen.

 
Alexey Viktorov:

Häufiger wird GV von GlobalVariable*** verwendet, dann würde ich diese Frage nicht stellen. Die Frage ist zweideutig. Es gibt viele Positionen, aber wir brauchen nur ein Schleppnetz. Ist es derselbe Expert Advisor, der Positionen festlegt? Die Frage klingt in diesem Fall seltsam. Wenn die Positionen manuell oder von einem anderen EA platziert werden, dann fügen Sie beim Ausführen des EA ein Input-Ticket ein und das war's... Wenn der Expert Advisor eine zufällige Anzahl von Positionen festlegt und die Liste im laufenden Betrieb geändert werden kann... Freiberufliche Tätigkeit ist nützlich.


Sie verstehen richtig und schreiben sogar, was zu tun ist, sagen aber nicht, wie :-)

Die Positionen werden von Hand geöffnet, die Eule kann sie nur anhand des Tickets unterscheiden. Ich kann das Ticket per Hand einfügen, indem ich es in den Zwischenspeicher kopiere, aber es ist besser, das nicht zu tun, sondern die Auswahl aus einer Liste anzubieten. Ist dies möglich?

 
Artyom Trishkin:

Frage: Meinen Sie die Entwicklungsumgebung IntelliJ IDEA?

Ja, ich spreche vonIntelliJ IDEA

 
secret:

Das ganze Leben scheint hier zu sein, niemand schaut sich die einzelnen Threads an.

Schauen Sie sich meine Frage, bitte: Kann ich ein Analogon von CopyBuffer() für MT4 erfinden?

https://www.mql5.com/ru/forum/302404

Ja, aber in diesem Fall müssen Sie den Code des Indikators vervollständigen, der seinen eigenen Puffer erzeugen sollte

 
psyman:

Sie verstehen richtig und schreiben sogar, was zu tun ist, sagen aber nicht, wie :-)

Die Positionen werden von Hand geöffnet, die Eule kann sie nur anhand des Tickets erkennen. Ich kann das Ticket per Hand einfügen, indem ich es in den Zwischenspeicher kopiere, aber es ist besser, das nicht zu tun, sondern die Auswahl aus einer Liste anzubieten. Ist es möglich, dies zu tun?

Alles ist möglich. Zum Beispiel, um ein Panel mit Positionen anzuzeigen, und in ihm zu wählen, für welche Spur. Aber es ist eher so, wie Sie oben bei Freelance gesagt haben.

 
Artyom Trishkin:

Wenn Sie auf ein Symbol für eine offene Position/Auftrag klicken, wird diese als Ziel für ein Schleppnetz ausgewählt. Klicken Sie+Strg, um mehrere Positionen/Aufträge für das Schleppnetz auszuwählen. Alles, was Sie tun müssen, ist, eine Reaktion auf Klickereignisse auf den Objekten einzugeben. Und die Möglichkeit, Position und Reihenfolge der Symbole festzulegen.


Es entspricht also der Ausführung von PositionSelect?

 
psyman:


Dies entspricht also der Ausführung von PositionSelect?

Nein, das tut es nicht. Es war ein Vorschlag, wie es gemacht werden könnte.

 
Artyom Trishkin:

Wenn Sie auf das Symbol einer offenen Position/eines eingestellten Auftrags klicken, wird diese/r als Schleppnetzziel ausgewählt. Mit der Tastenkombination Strg+Strg werden mehrere Positionen/Bestellungen für das Schleppnetz ausgewählt. Alles, was Sie tun müssen, ist, eine Reaktion auf Klick-Ereignisse einzufügen. Und die Möglichkeit, Position und Reihenfolge der Symbole festzulegen.

Sie meinen sicher das im Terminal eingebaute Schleppnetz? Es kann keine Teilschließungen vornehmen, was ich eigentlich will, deshalb ist es so unübersichtlich.


=Ich mussnur die Reaktion auf das Anklicken von Objekten einbauen.

Und wie kann ich Ereignisse außerhalb des Grafikfensters behandeln?

Nach dem, was in der Hilfe steht, ist keiner der Ereignistypen geeignet.

 
psyman:

Sie meinen sicher das im Terminal eingebaute Schleppnetz? Es kann keine Teilschließungen vornehmen, was ich eigentlich will, deshalb ist es so unübersichtlich.


=Ich mussnur die Reaktion auf Klick-Ereignisse auf Objekte schreiben.

Und wie kann ich Ereignisse außerhalb des Grafikfensters behandeln?

Nach dem, was in der Hilfe steht, passt keiner der Ereignistypen.

Ich verstehe, dass der Expert Advisor irgendwie das Ticket der manuell eröffneten Position angeben muss, das er durchsuchen soll.

  1. Fügen Sie dem Expert Advisor die Verfolgung neu eröffneter Positionen hinzu, und wenn diese keine Magie haben, bedeutet das, dass sie manuell eröffnet wurden. Der Expert Advisor setzt ein Eröffnungssymbol für diese Position auf den Preis und den Balken ihrer Eröffnung. Der Name des Objekts muss ein Präfix mit dem gemeinsamen Namen des Objekts für alle derartigen Objekte enthalten, z. B. "manual_", und das Ticket der Position muss ebenfalls vorhanden sein. Folglich kann der Name des Objekts wie folgt lauten: "Handbuch_12345678". Hier: manual_ - Präfix, 12345678 - Position Ticket.
  2. Fügen Sie dem Expert Advisor OnChartEvent() hinzu und überwachen Sie das Ereignis des Mausklicks auf das Objekt. Analysieren Sie den Namen des Objekts, und wenn er die Teilzeichenkette manual_ enthält, dann suchen Sie nach einer Zahl nach manual_. Diese Nummer ist das Ticket der Position, auf deren Symbol Sie geklickt haben.
  3. Der nächste Schritt ist eine technische Angelegenheit: Sie müssen die gefundene Nummer speichern, damit sie nicht verloren geht, wenn Sie den Expert Advisor/Terminal/Computer/World... neu starten. Zum Beispiel in Ressourcen oder globalen Variablen des Terminals.
  4. Der Expert Advisor sollte diese Ressource lesen und das Ticket für die zu durchsuchende Position aus ihr entnehmen
  5. Im Suchlauf sollten Sie das Ticket der ausgewählten Position abrufen und in der Liste der gespeicherten Tickets nach dieser Nummer suchen. Wenn ein solches Ticket gefunden wird, muss die Position mit diesem Ticket durchsucht werden.
  6. Wenn die Anzahl der Positionen geändert wird, muss das Ticket der geschlossenen Position geprüft und in der gespeicherten Liste gefunden werden. Wenn ein solches Ticket in der Liste existiert, muss es aus der Liste gelöscht werden - die Position existiert nicht mehr, und es gibt nichts zu tun mit seinem Ticket in der Liste der Tickets für Köder.
Es geht ungefähr so. Die Logik wurde auf meinen Knien geschrieben, also habe ich vielleicht nichts berücksichtigt...