Diskussion zum Artikel "Virtual Order Manager zum Verwalten von Ordern innerhalb der positionszentrischen Umgebung von MetaTrader 5" - Seite 5

 
Alain Verleyen:
Diese Bibliothek ist nun größtenteils überflüssig, da MT5 ein Hedging-Konto anbietet. Sie können noch brauchen es auf Netting-Konto, aber ist es wirklich wert.

Mein ea ist ein expandierendes Raster ein Betrieb auf ein Symbol, so dass ich brauche, um jeden Handel oder Raster-Ebene einzeln zu verfolgen, so dass ich weiß, wo die nächste Ebene zu öffnen. Auf MT4 habe ich dies tun, indem Sie die Liste der offenen Handel und mit ihnen zu berechnen, die Position, wo ich den nächsten Handel im Raster öffnen müssen. Auf MT5 finde ich es Dumping alle Trades in eine große Position, die völlig tötet diese Methode.Zum Beispiel kann ich im MT5 nicht zwei Kaufgeschäfte offen haben, weil sie zu einer Position zusammengefasst werden. Wie kann ich berechnen, wo die sechste Ebene eines Kaufrasters sein wird, wenn ich nicht weiß, wo die Ebenen eins bis fünf sind? Ich hoffe, Sie verstehen, was ich meine. Diese Bibliothek war der einzige Weg, den ich gefunden habe, um dieses Problem zu umgehen. Im MT4 verwende ich auch eindeutige magische Zahlen für jedes Geschäft, um jede Rasterebene zu identifizieren. Auf dem MT5 habe ich festgestellt, dass ich auch keine eindeutigen magischen Zahlen festlegen kann, also werde ich sie stattdessen auf der Festplatte speichern. Wenn es eine bessere Möglichkeit gibt, Rasterstufen wie diese auf dem MT5 zu verwalten, bin ich begierig, es zu lernen.

Ich habe den größten Teil von 2 Wochen damit verbracht, es auf MT5 zu kompilieren, und ich bin sicher, dass es gut laufen wird, sobald ich die magischen Zahlen auf der Festplatte speichere, anstatt auf dem Broker-Server.

Positiv anzumerken ist, dass ich herausgefunden habe, wie man die Fehler in der VOM-Bibliothek beheben kann, und ich hoffe, dass dies jemandem hilft. Wenn Sie Version 2 der Bibliothek verwenden, müssen Sie die Zeile 855 der Datei virtualordermanager.mqh von :

MtRequest.type_filling=ORDER_FILLING_FOK;

in

MtRequest.type_filling=SYMBOL_FILLING_FOK;

ändern, dann wird der Handel korrekt und ohne Fehler geöffnet.

 
kenshin71:

Meine Ea ist ein expandierendes Raster, das auf einem Symbol arbeitet, so dass ich jeden Handel oder jede Rasterstufe einzeln verfolgen muss, damit ich weiß, wo ich die nächste Stufe öffnen muss. Auf MT4 habe ich dies getan, indem ich mir die Liste der offenen Handel angesehen und sie verwendet habe, um die Position zu berechnen, an der ich den nächsten Handel im Raster öffnen muss. Auf MT5 finde ich, dass es alle Handel in einer großen Position zusammenfasst, was diese Methode völlig zunichte macht.Zum Beispiel kann ich im MT5 nicht zwei Kaufgeschäfte offen haben, weil sie zu einer Position zusammengefasst werden. Wie kann ich berechnen, wo die sechste Ebene eines Kaufrasters sein wird, wenn ich nicht weiß, wo die Ebenen eins bis fünf sind? Ich hoffe, Sie verstehen, was ich meine. Diese Bibliothek war der einzige Weg, den ich gefunden habe, um dieses Problem zu umgehen. Im MT4 verwende ich auch eindeutige magische Zahlen für jedes Geschäft, um jede Rasterebene zu identifizieren. Beim MT5 habe ich festgestellt, dass ich auch keine eindeutigen magischen Zahlen festlegen kann, also speichere ich sie stattdessen auf der Festplatte. Wenn es eine bessere Möglichkeit gibt, Rasterstufen wie diese beim MT5 zu verwalten, bin ich sehr daran interessiert, dies zu erfahren.

Ich habe den größten Teil von 2 Wochen damit verbracht, es auf MT5 richtig zu kompilieren, und ich bin sicher, dass es gut laufen wird, sobald ich die magischen Zahlen auf der Festplatte statt auf dem Broker-Server speichere.

Positiv anzumerken ist, dass ich herausgefunden habe, wie man die Fehler in der VOM-Bibliothek beheben kann, und ich hoffe, dass dies jemandem hilft. Wenn Sie Version 2 der Bibliothek verwenden, müssen Sie die Zeile 855 der Datei virtualordermanager.mqh von :

zu

ändern, dann wird der Handel korrekt und ohne Fehler geöffnet.

Deshalb habe ich Ihnen gesagt, dass es jetzt ein Hedging-Konto gibt, das Sie verwenden sollten, da Sie anscheinend mit Devisen handeln. Das Konto, das Sie beschreiben, ist ein Netting-Konto.
 
Danke Alain, jetzt verstehe ich, was du meinst. Ich entschuldige mich dafür, dass ich nicht zuerst genauer darauf geachtet habe, was du über Hedging gesagt hast. Es hat mich verrückt gemacht, dieses VOM zum Laufen zu bringen, sowie all die anderen Änderungen, die nötig sind, um mein Ea unter MT5 zum Laufen zu bringen. Ich denke, ich werde eine Pause einlegen und zurückkommen, wenn ich etwas Schlaf bekommen habe.Ich denke, ich muss eine MT5-spezifische Version des Ea von Grund auf schreiben. Bis jetzt habe ich versucht, eine Version zu erstellen, die unter MT4 und MT5 mit bedingter Kompilierung funktioniert, aber diese Idee funktioniert nicht wirklich so sauber, wie ich es gerne hätte. Nochmals vielen Dank für den Hinweis in die richtige Richtung.
 
Alain Verleyen:
Diese Bibliothek ist nun größtenteils überflüssig, da MT5 ein Hedging-Konto anbietet. Sie können es noch auf Netting-Konto benötigen, aber ist es wirklich wert.

yeap ) so eine gemeinsame Sache in SW-Entwicklung

 
kenshin71:
Danke Alain, jetzt verstehe ich, was du meinst. Ich entschuldige mich dafür, dass ich nicht zuerst genauer darauf geachtet habe, was du über Hedging gesagt hast. Es hat mich verrückt gemacht, dieses VOM zum Laufen zu bringen, sowie all die anderen Änderungen, die nötig sind, um mein Ea unter MT5 zum Laufen zu bringen. Ich denke, ich werde eine Pause einlegen und zurückkommen, wenn ich etwas Schlaf bekommen habe.Ich denke, dass ich eine MT5-spezifische Version des EAs von Grund auf schreiben muss. Bis jetzt habe ich versucht, eine Version zu erstellen, die unter MT4 und MT5 funktioniert, indem ich die bedingte Kompilierung benutze, aber diese Idee funktioniert nicht wirklich so sauber, wie ich es gerne hätte. Nochmals vielen Dank für den Hinweis in die richtige Richtung.
Haben Sie das zum Laufen gebracht? Ich würde gerne dort weitermachen, wo Sie aufgehört haben, wenn es in Ordnung ist, die Korrekturen mitzuteilen, die Sie vornehmen mussten. Leider muss ich Netting MT5-Konto zu verwenden und müssen VOM für virtuelle Absicherung zu verwenden.