Diskussion zum Artikel "Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5" - Seite 22
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
Weiß jemand, ob ich diesen EA für Mini-Indizes oder Mini-Dollars verwenden kann?
Hallo Leute, guten Morgen.
Ich bin im"Strategy Tester" mit dieser Datei vom Ende des Leitfadens und es zeigt folgenden Fehler an:
*Der Fehler wurde bereits hier in diesem Artikel besprochen, aber keine schriftliche Lösung hat bei mir funktioniert und ich brauche eure Hilfe.
Die Datei befindet sich am Ende des Handbuchs.
Wie kann ich dieses Problem lösen?
Ich habe diesen Fehler auch noch, nachdem ich beide vorgeschlagenen Korrekturen vorgenommen habe:
ZeroMemory(mrequest);
und auch
if(Kauf_geöffnet || Verkauf_geöffnet)
Kann mir bitte jemand bei dem Fehler 4756 helfen? Es scheint einfach nicht möglich zu sein, einen Kaufauftrag zu platzieren.
Überprüfen Sie, ob Sie die Funktion SymbolInfoTick verwendet und diesen Teil des Codes geschrieben haben:
Da PositionSelect die erste Position für _Symbol auswählt, wird, wenn der EA eine Kaufposition eröffnet, die Variable Sell_opened immer falsch sein, solange die Kaufposition offen ist, was dazu führt, dass mehrere Verkaufspositionen realisiert werden, sobald ein Verkaufssignal vorliegt.
Um dies zu korrigieren und zu wissen, ob gleichzeitig Kauf- und Verkaufspositionen geöffnet sind, kann die folgende Logik verwendet werden:
Hallo zusammen, guten Morgen.
Ich bin im"Strategy Tester" mit dieser Datei vom Ende des Leitfadens und es zeigt den folgenden Fehler:
*Der Fehler wurde bereits hier in diesem Artikel besprochen, aber keine schriftliche Lösung hat bei mir funktioniert und ich brauche eure Hilfe.
Die Datei befindet sich am Ende des Handbuchs.
Wie kann ich dieses Problem lösen?
Überprüfen Sie den Verkaufspreis, den Sie anfordern. Verwenden Sie dazu einen Haltepunkt, um die Variablen mrequest.price, mrequest.sl und mrequest.tp zu debuggen.
Versuchen Sie zu ändern
zu:
Einige Papiere haben minimale Stop-Loss-Regeln, lesen Sie hier mehr: https://www.mql5.com/pt/forum/319474
Hallo,
Vielen Dank für den Artikel Samuel, du bist ein Knaller!
Es war ein bisschen schwierig, ihn mit meinem Broker zum Laufen zu bringen, weil der Artikel im "Netto"-Modus ist und ich nach Informationen suchen musste, um ihn in den "Hedging"-Modus zu bringen. Das erste Problem, auf das ich stieß, war das mit dem mrequest.type_filling .
Für den XM-Broker ist diejenige, die funktioniert:
Wenn Sie nicht wissen, welchen Typ Ihr MT5 zulässt, empfehle ich Ihnen, die Funktion TypeFilling() in einem Print(TypeFilling()) oder einem Comment( TypeFilling()) zu verwenden, und sie gibt den Typ zurück; wenn sie Ihnen sagt, dass es 1 (ORDER_FILLING_FOK) oder 2 (ORDER_FILLING_IOC) ist, wissen Sie, welchen Sie eingeben müssen(https://www.mql5.com/docs/constants/tradingconstants/orderproperties#enum_order_type_filling), dennORDER_FILLING_FOK (1) funktioniert bei mir mit diesem Broker nicht.
Sobald das behoben ist, besteht das Problem darin, dass PositionSelect eine Vielzahl von Positionen eröffnet. Obwohl Samuel es in seiner Strategie nicht sagt, verstehe ich, dass das Ziel darin besteht, eine einzige Kauf- oder Verkaufsposition (je nachdem, was zuerst eintritt) mit den festgelegten Kriterien (den 4 booleschen Schritten) zu eröffnen, und dass wir, bis diese Position geschlossen ist, keine weitere eröffnen können.
Was ich getan habe, ist, diesen Code zu ändern ...
Für diese ...
Hinweis: Direkt danach kommt die Zeile ...
Auf diese Weise hat es bei mir gut funktioniert. Ich hoffe, Sie finden es nützlich.
Mit freundlichen Grüßen.
Ich habe diesen Fehler auch noch, nachdem ich beide vorgeschlagenen Korrekturen vorgenommen habe:
ZeroMemory(mrequest);
und auch
if(Kauf_geöffnet || Verkauf_geöffnet)
Kann mir bitte jemand bei dem Fehler 4756 helfen? Es scheint einfach nicht möglich zu sein, einen Kaufauftrag zu platzieren.
Vielleicht ist der Filling Type Ihres Brokers ORDER_FILLING_IOC, Sie können versuchen, den Code von zu bearbeiten:
mrequest.type_filling = ORDER_FILLING_FOK;To:
mrequest.type_filling = ORDER_FILLING_IOC;Ich hatte das gleiche Problem und habe es jetzt erfolgreich gelöst