|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
EA abschalten wenn der EMA 20 vom Kontostand unterschritten wird
Hallo liebes Forum,
es gibt Marktphasen da läuft der Markt nur so und dann gibt es Marktphasen, da will der Markt nicht laufen und stoppt den EA andauernd aus. Deshalb, möchte ich einen EA programmieren, der den EMA20 vom Kontostand berechnet (oder einen anderen Wert, ließe sich über Optimierung herausfinden). Sollte der Kontostand unter den EMA fallen so wird der Live-Handel eingestellt, und der EA geht in die Simulation über, wenn der Kontostand wieder über dem EMA notiert wird der EA wieder scharf gestellt. Bei EMA20 muss der EA 20 abgeschlossene Trades gemacht haben Also Code:
input bool ea_on=true; // Live-Handel erlaubt // Mehr als 20 geschlossene Trades=> berechne EMA(Kontostand); // Wenn Kontostand der abgeschlossenen Trades kleiner EMA(Kontostand) ea_on=false; // Sobald Kontostand abgeschlossene Trade größer EMA(Kontostand) ea_on=true; Frage: 1) Kann man den EMA vom Kontostand berechnen, wenn ja wie muss man das machen 2) Wie kann man den ES in der Simulation weiter laufen lassen, wenn ich doch den Live-Handel bei unterschreiten des EMA(Kontostand) abschalte? Aber damit der EA bei überschreiten vom EMA(Kontostand) wieder handeln kann, braucht der EA in der Simulation alle Trades? Kann ein EA auf Daten eines anderen EAs zugreifen? Dann könnte man den EA Live laufen lassen und würde auf den EMA(Konto) zugreifen können, den der EA Simulation bereit stellt. Wenn das nicht geht, wie könnte man das noch realisieren? Ich freue mich auf die Vorschläge des Forums und bedanke mich für eure Zeit und eure Antworten. Beste Grüße smilemore Geändert von smilemore (10.06.22 um 11:43 Uhr) |
|
|||
Könntest vielleicht die letzten 20 Trades der History raussuchen und prüfen, ob die Geld-Summe im + oder - ist...
Ob man einfach so zwischen Demo- und Live-Konto hin- und- herschalten kann weiß ich nicht. |
|
|||
Der EA kann jede Trade in einer Datei aufzeichnen. Diese Datei wird für die Analyse verwendet.
|
|
|||
Wärs nicht weniger Aufwand, wenn der EA selbst die letzten Orders checkt, als wenn er immer wieder diese Datei abfragt?
|
|
|||
Der EA sollte jedoch auch die Ergebnisse der Simulation berücksichtigen, wie ich das Problem verstehe.
|
|
|||
Hallo, danke für eure Vorschläge.
Zitat:
Wie mache ich dass, das der EA in eine Datei schreibt? Die Problemlösung ist wohl nicht ganz so einfach. Liebe Grüße smilemore |
|
|||
Dann könnte man ihn vielleicht Paper-Trading machen lassen im Live-Konto und mit dieser Datei. Ihn die Trades nur simulieren lassen, unter Live-Konto-Bedingungen und so.
|
|
|||
Das wird nicht zu schwierig. Man kann die folgenden Funktionen verwenden: FileOpen, FileWrite, FileReadString usw.
|
|
|||
Hallo,
solange der Kontostand über dem Ema20 ist, kann in der Datei der neue Kontostand geschrieben werden. Doch wie geht das wenn der wenn der Live-Handel eingestellt ist, weil der Kontostand unter den Ema20 fällt? Liebe Grüße smilemore |
|
|||
Ich meine, nicht den Live-Kontostand zu beobachten, aber die parallele virtuelle Balance von Simulationen. Der EA muss bei jedem Signal eine simulierte (virtuelle) Order generieren. Die Ergebnisse werden in einer Datei gespeichert (v_OrderOpenPrice, v_OrderClosePrice ...).
|
Lesezeichen |
Stichworte |
ea abschalten, wieder einschalten |
|
|