Diskussion zum Artikel "Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5" - Seite 30

 
timmytrade #:

Tester - "Nicht unterstützter Füllmodus"

Ich habe es bei 3 verschiedenen Brokern versucht. Wo liegt das Problem?

Versuchen Sie, SYMBOL_FILLING_FOK durch SYMBOL_FILLING_IOC zu ersetzen.

Mit freundlichen Grüßen, Vladimir.

 
Hallo Samual, Ihr Artikel ist großartig. Und die Technik der Verwendung von Indikator gleitender Durchschnitt und ADX ist großartig, weil ich es mit EUR/US H2 Währungspaar auf 2010.01.01 -2010.07.01 und 2017.01.01-2017.07.01 getestet. Es ist großartig. Es ist besser als mit Indikator Hummer Hanging Man + Stochastics. Und es ist besser als ThreeEMA Indikator. Danke! Jetzt arbeite ich an Ihrem Code.
 
mirac baver ozturk #:

Hallo an alle (besonders an den lieben Autor)

Ich habe bei diesem Artikel mitgeschrieben. Ich habe ihn sehr genossen und viel daraus gelernt.

Danke, dass Sie einen so informativen Artikel geschrieben haben.

Allerdings habe ich ein Problem. Mein EA hat keine Aufträge erteilt. Ich habe den Code des Autors heruntergeladen, aber es hat keine Aufträge zu platzieren.

Da der Artikel 13 Jahre alt ist, nehme ich an, dass der Code inzwischen veraltet ist. Kann mir jemand weiterhelfen?

Mein Code befindet sich in der Datei unten. Vielen Dank an alle im Voraus.

Dieser Code funktioniert bereits.
 

Besuchen Sie die nicht übersetzte englische Seite, die der richtige Download ist.

Download von dieser Seite: Schritt-für-Schritt Anleitung zum Schreiben eines Expert Advisors in MQL5 für Anfänger - MQL5 Artikel

https://www.mql5.com/en/articles/100

 

Liebe Leute;

Von diesem Artikel in der Unterseite, hat er den kompletten Code mlq5 zum Download.

Ich habe herunterladen, um Funktion zu überprüfen und festgestellt, dass das Programm falsche Algorithmus hat.

Setup ist EURUSD, M1, 100USD Start am 2025/01/01 bis 2025/01/31

Der erste Auftrag ist ein Verkaufsauftrag, dann später haben viele Kaufaufträge.

Das Konzept ist, dass es nur einen Auftrag geben sollte, der aber ab Zeile 165 auftritt.

Die Flagge, um zu prüfen, ob eine Order vorliegt oder nicht, ist in 2 Flaggenvariablen unterteilt (Buy_opned,Sell_opened).

Wenn jetzt bereits eine Verkaufsorder vorliegt, dann wird in Zeile 216 (Ordersend) eine neue Kauforder erstellt, auch wenn jetzt eine Verkaufsorder vorliegt.

Warten Sie auf die nächste Kerze Buy_open Flagge auf die Anweisung von Zeile 172 kann nicht wieder auf on.Why ? setzen. Weil der erste Auftrag ein Verkaufsauftrag ist, der zweite Auftrag ein Kaufauftrag.

Und ja, bei der nächsten Kerze wird wieder ein Kaufauftrag in Zeile 216 (Ordersend) erscheinen und weitergehen, viele Kaufaufträge werden erscheinen, bis kein Geld mehr da ist.

Siehe Chart hier.



Siehe Orderliste.


Dankeschön.

Niwath Jeamphue.

 
Niwath Jeamphue #:

Liebe Leute;

Von diesem Artikel in der Unterseite, hat er den vollständigen Code mlq5 zum Download.

Ich habe herunterladen, um Funktion zu überprüfen und festgestellt, dass das Programm falsche Algorithmus hat.

Setup ist EURUSD, M1, 100USD Start am 2025/01/01 bis 2025/01/31

Der erste Auftrag ist ein Verkaufsauftrag, dann später haben viele Kaufaufträge.

Das Konzept ist sollte nur einen Auftrag haben, aber ist occour von Zeile 165

Das Flag zur Überprüfung, ob eine Bestellung vorliegt oder nicht, ist in 2 Flag-Variablen unterteilt (Buy_opned,Sell_opened).

Wenn jetzt bereits eine Verkaufsorder vorliegt, dann wird in Zeile 216 (Ordersend) eine neue Kauforder erstellt, auch wenn jetzt eine Verkaufsorder vorliegt.

Warten Sie auf die nächste Kerze Buy_open Flagge auf die Anweisung von Zeile 172 kann nicht wieder auf on.Why ? setzen. Weil der erste Auftrag ein Verkaufsauftrag ist, der zweite Auftrag ein Kaufauftrag.

Und ja, bei der nächsten Kerze wird wieder ein Kaufauftrag in Zeile 216 (Ordersend) erscheinen und weitergehen, viele Kaufaufträge werden erscheinen, bis kein Geld mehr da ist.

Siehe Chart hier.



Siehe Bestellliste.


Wir danken Ihnen.

Niwath Jeamphue.

Sie sollten PositionSelect(_Symbol) nicht verwenden, es sei denn, Sie verwenden ein Netting-Konto.

Bei einem Hedging-Konto müssen Sie Ihre Position korrekt auswählen, mit PositionGetTicket() oder PositionSelectByTicket(). Sehen Sie sich die Dokumentation an.

 
Alain Verleyen #:

Sie sollten PositionSelect(_Symbol) nur verwenden, wenn Sie ein Netting-Konto verwenden.

Bei einem Hedging-Konto müssen Sie Ihre Position korrekt auswählen, mit PositionGetTicket() oder PositionSelectByTicket(). Sehen Sie sich die Dokumentation an.

Ich danke Ihnen für Ihren Kommentar. Ich möchte nur darauf hinweisen, dass der Quellcode aus der endgültigen Version dieses Artikels stammt.

https://www.mql5.com/de/articles/download/100/my_first_ea.mq5

Bitte versuchen Sie es mit sich selbst, wird mein Hauptpunkt zu verstehen sein.

Ich danke Ihnen.

 
Niwath Jeamphue #:

Vielen Dank für Ihren Kommentar. Aber ich möchte nur jedem sagen, dass der Quellcode von der endgültigen vollständig von diesem Artikel ist.

https://www.mql5.com/de/articles/download/100/my_first_ea.mq5

Bitte versuchen Sie es mit sich selbst, wird mein Hauptpunkt zu verstehen.

Ich danke Ihnen.

Dieser Artikel stammt aus dem Jahr 2010, zu dieser Zeit waren ALLE Konten Netting-Konten auf MT5, auch für Forex.

Hedging-Konten wurden im Jahr 2016 eingeführt: https: //www.mql5.com/en/articles/2299

MetaTrader 5 features hedging position accounting system
MetaTrader 5 features hedging position accounting system
  • 2016.03.21
  • www.mql5.com
In order to expand possibilities of retail Forex traders, we have added the second accounting system — hedging. Now, it is possible to have multiple positions per symbol, including oppositely directed ones. This paves the way to implementing trading strategies based on the so-called "locking" — if the price moves against a trader, they can open a position in the opposite direction.
 

Niwath Jeamphue #:

Bitte probieren Sie es selbst aus, dann werden Sie meinen Standpunkt verstehen.

Ich danke Ihnen.

Hallo. Ich verstehe Ihren Standpunkt. In der angehängten Datei habe ich den Quellcode des Expert Advisors so geändert, dass nur eine Position eröffnet wird, unabhängig davon, welches Konto Sie verwenden - Netting oder Hedge.

Mit freundlichen Grüßen, Vladimir.

Dateien:
 
MrBrooklin #:

Hallo. Ich verstehe Ihre Sichtweise. In der angehängten Datei habe ich den Quellcode des Expert Advisors so geändert, dass nur eine Position eröffnet wird, egal welches Konto Sie verwenden - Netting oder Hedge.

Mit freundlichen Grüßen, Vladimir.

Hedge-Konto ,MrBrooklin . Ich danke Ihnen. Aber ich ziehe es vor, nur einen Auftrag zu erhalten, nicht so viele Aufträge.

Ich habe den Algorithmus vom Original geändert.

Buy und Sell open Flag löschen

Wenn (PositionSelect(_Symbol)==true)

Wenn festgestellt wird, dass es sich um eine Kaufposition handelt, wird das Flag Buy_opened gesetzt.

Else If found that is sell position then set Sell_opened flag

Zone1 : Versuch der Eröffnung eines Kaufauftrags unter der Bedingung und !Flagge Buy_opened

Zone2 : Versuch, eine Verkaufsorder zu öffnen und !flag Sell_opened

Zu New algo. und es funktioniert jetzt gut.

If (PositionsTotal() > 0) return

Buy und Sell open Flag löschen

Wenn festgestellt wird, dass es sich um eine Kaufposition handelt, wird das Flag Buy_opened gesetzt.

Else Wenn festgestellt, dass es sich um eine Verkaufsposition handelt, dann Sell_opened setzen

Zone1 : Versuch der Eröffnung eines Kaufauftrags unter der Bedingung und !Flag Buy_opened

Zone2 : Versuch, einen Verkaufsauftrag zu eröffnen und !Flagge Sell_opened