Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wenn Sie einen Teil des Codes zeigen würden, der die Eingabe erzeugt, wäre es schneller, den Fehler in der Logik zu finden
Aber es sollte doch eine allgemein akzeptierte Lösung in MQL geben, oder? Wie kann man die Öffnung der Balken für verschiedene Symbole "synchronisieren"? Nun, anscheinend sollten wir auf die Öffnung eines neuen Balkens für alle verwendeten Symbole warten. Aber wie macht man es richtig?
Für das gehandelte Symbol kam der Tick des neuen Balkens früher, so dass die alten Balken des analysierten Symbols in die Analyse einbezogen wurden, der Start ausgearbeitet wurde und auf die nächste Stunde gewartet wird. etwas wie dieses.
Das ist wahrscheinlich der Grund dafür. Aber es muss doch eine Lösung in MQL geben, oder? Es handelt sich nicht um eine Art Superfunktion. Wie kann man den Beginn der Balkenöffnung für verschiedene Symbole in Echtzeit "synchronisieren"?
Wenn Sie einen Teil des Codes zeigen würden, der die Eingabe erzeugt, könnten Sie den Logikfehler schneller finden.
Aber es sollte doch eine allgemein akzeptierte Lösung in MQL geben, oder? Wie kann man die Öffnung der Balken für verschiedene Symbole "synchronisieren"? Nun, anscheinend sollten wir auf die Öffnung eines neuen Balkens für alle verwendeten Symbole warten. Aber wie macht man es richtig?
Ja - Rufen Sie Bill Gates an.
Bingo - Bill Gates anrufen
Nun, Bill Gates hat nichts mit MQL zu tun. Er scheint auch nichts mit Forex zu tun zu haben)))))))))
Wenn Sie einen Teil des Codes zeigen würden, der die Eingabe erzeugt, könnten Sie den Logikfehler schneller finden
Aber es sollte doch eine allgemein akzeptierte Lösung in MQL geben, oder? Wie kann man die Öffnung der Balken für verschiedene Symbole "synchronisieren"? Nun, anscheinend sollten wir auf die Öffnung eines neuen Balkens für alle verwendeten Symbole warten. Aber wie macht man es richtig?
In meinem Beispiel reicht das aus, um den Beginn der vollen Stunde für jedes Instrument zu erfassen.
Sie müssen nicht synchronisieren - ich denke, das tun Sie gerade.
und gleichzeitig zu bedenken, dass auch für andere die neue Stunde gekommen ist!
denn sie wird kommen!
und führen die Berechnung durch, nach der die Entscheidung getroffen wird, den Ausgang zu betreten.
Du fängst die Zecke!!! Und eine neue Zecke und der Beginn der Stunde sind nicht dasselbe!
ein Tick kommt erst nach etwa 5 Minuten...Sie müssen die Logik der Erfassung des neuen Balkens in eine weichere ändern
Sie haben zu harte Bedingungen für den Anfang der Leiste - ich habe eine weichere vorgeschlagen
aber wenn alle Symbole (die ein Ticken haben) nicht kommen, dann ist das auch irgendwie falsch - Eben DIESE GERINGE VARIETÄT!
---
Sie könnten uns ein Stück Code geben, dann könnten wir ausführlich darüber sprechen.
----
Es sieht so aus, als ob Sie etwas Ähnliches in Ihrem Code haben.
einen NEUEN Tick beim EURUSD erwischen, und wenn es gleichzeitig einen Tick beim USDCHF gibt, dann ist alles in Ordnung.
und wenn die beiden Ereignisse zeitlich voneinander getrennt sind, nehmen Sie nicht teil.
DIES IST EINE FEHLERHAFTE LOGIK
YuraZ писал (а):
und ehrlich gesagt ist das nicht gerade schön ... Wenn das Häkchen für diese Paare nicht gekommen ist und Sie es wieder verpassen werden
Wenn das Häkchen nicht gekommen ist, können Sie nicht sofort einen Auftrag erteilen, es sei denn, Sie verwenden ein Skript,
Und nur, wenn die Zecken zu den Maklerfirmen kommen und diese sie nicht an Ihr Terminal weiterleiten (tagsüber).
Deshalb habe ich bei der Implementierung eines Multicurrency Expert Advisors eine State Machine by Miles (oder Moore) erstellt,
die den offenen Zustand der Bestellung für die benötigten Paare überwacht. Natürlich war es nicht immer möglich
Natürlich war ich nicht immer in der Lage, zum erforderlichen Preis zu eröffnen, aber diese Vorgehensweise garantierte, dass die Aufträge IMMER eröffnet wurden.
YuraZ schrieb (a):
und es ist nicht gerade schön ... Wenn die Zecke für diese Paare nicht gekommen ist und Sie sie wieder vermissen werden
Wenn das Häkchen nicht gekommen ist, können Sie nicht sofort einen Auftrag erteilen, es sei denn, Sie verwenden ein Skript,
Und nur, wenn die Zecken zu den Maklerfirmen kommen und diese sie nicht an Ihr Terminal weiterleiten (tagsüber).
Deshalb habe ich bei der Implementierung eines Multicurrency Expert Advisors eine State Machine by Miles (oder Moore) erstellt,
die den offenen Zustand der Bestellung für die benötigten Paare überwacht. Natürlich war es nicht immer möglich
Natürlich war ich nicht immer in der Lage, zum erforderlichen Preis zu eröffnen, aber diese Vorgehensweise garantierte, dass die Aufträge IMMER eröffnet wurden.
einfach! es ist möglich, eine Bestellung aufzugeben :-) wenn das Häkchen nicht kommt
Überlegen Sie es sich! Wenn Ihnen nichts einfällt, gebe ich Ihnen einen Tipp!
+1 eine der von Ihnen angegebenen Optionen
DU fängst den Tick!!! und ein neuer Tick und der Beginn der Stunde sind nicht dasselbe
Ein Tick kann bis zu 5 Minuten auf sich warten lassen...Sie müssen die Logik des subtilen Einfangens eines neuen Balkens in eine weichere ändern
Sie haben zu harte Bedingungen für den Anfang der Leiste - ich habe eine weichere vorgeschlagen
aber wenn bei allen Instrumenten (die nicht ticken), dann funktioniert es irgendwie auch nicht - EINE SEHR GERINGE VARIABILITÄT!
Ja, die Sache ist, dass der EA auf geschlossenen Kerzen arbeiten muss. Wenn also ein Candlestick bei einem der verwendeten Instrumente nicht geschlossen wurde, wird die Entscheidung nicht getroffen.
Mit dem Code ist es schwieriger, weil ich kein Programmierer bin. Wie Sie sehen können, kann ich nicht den gesamten Code ausgeben. Aber der Programmierer, der es für mich gemacht hat, hat jetzt einen großen Vertrag und ist sehr beschäftigt und kann es nicht machen. Ich suche also zunächst nach einer Lösung für dieses Problem, um nicht wieder auf die gleiche Harke zu treten.
Wenn Sie einen Teil des Codes zeigen würden, der die Eingabe erzeugt, könnten Sie den Logikfehler schneller finden
Aber es sollte doch eine allgemein akzeptierte Lösung in MQL geben, oder? Wie kann man die Öffnung der Balken für verschiedene Symbole "synchronisieren"? Nun, anscheinend sollten wir auf die Öffnung eines neuen Balkens für alle verwendeten Symbole warten. Aber wie macht man das richtig?
Es ist keine Synchronisierung oder Erfindung anderer Fahrräder erforderlich. Alles wurde schon vor langer Zeit erfunden. Das Vorhandensein eines neu gebildeten Balkens wird nur für das Instrument geprüft, auf dem der Expert Advisor beim Eintreffen des ersten Ticks installiert ist. Und das start()-Ereignis wird auch nur auf diesem Symbol bei Ankunft eines neuen Ticks ausgelöst. Ich habe Ihnen ein Codestück gegeben, das diese Prüfung durchführt, damit die nächste Position im Falle von Requotes nicht auf dem nächsten Balken geöffnet wird und nach einem Fehlschlag versucht, auf demselben Balken zu öffnen. Bei mir funktioniert alles einwandfrei, sowohl im Einzel- als auch im Mehrwährungsmodus. Das Geschäft wird im Falle von Requotes auf demselben Barren eröffnet, aber nur mit einer gewissen Verzögerung, und daher nicht immer zum Eröffnungskurs des Barrens, sondern mit einem gewissen Versatz. D.h. es wird Unterschiede zum Tester geben, aber nicht in Balken, sondern im Eröffnungspreis.
DU fängst den Tick!!! und ein neuer Tick und der Beginn der Stunde sind nicht dasselbe
die Zecke kommt vielleicht erst nach 5 Minuten ---Sie müssen die Logik des subtilen Einfangens eines neuen Balkens in eine weichere ändern
Sie haben zu harte Bedingungen für den Anfang der Leiste - ich habe eine weichere vorgeschlagen
aber wenn bei allen Instrumenten (die nicht ticken), dann funktioniert es irgendwie auch nicht - EINE SEHR GERINGE VARIABILITÄT!
Ja, die Sache ist, dass der EA auf geschlossenen Kerzen arbeiten muss. Wenn also ein Candlestick bei einem der verwendeten Instrumente nicht geschlossen wurde, wird die Entscheidung nicht getroffen.
Mit dem Code ist es schwieriger, weil ich kein Programmierer bin. Wie Sie sehen können, kann ich nicht den gesamten Code ausgeben. Aber der Programmierer, der es für mich gemacht hat, hat jetzt einen großen Vertrag und ist sehr beschäftigt und kann es nicht machen. Ich suche also erst einmal nach einer Lösung für dieses Problem, um nicht wieder auf die gleiche Harke zu treten.
Und wie wollen Sie die Stunde prinzipiell schließen?
EURUSD ist geschlossen und eine neue Stunde ist eröffnet, während USDCHF für 15 Minuten beschäftigt ist... Nun, die Zecken kommen nicht!
Wenn ein Instrument die STUNDE geschlossen hat, können auch die anderen als geschlossen betrachtet werden.
Zecken dürfen nicht auf sie losgehen
---
Sie sollten nicht denken, dass die Stunde für alle notwendigen Paare mit einem Häkchen geschlossen werden sollte
es reicht aus, den Beginn eines neuen Balkens bei einem beliebigen Paar zu erhalten
---