|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
EAs funktionieren nur im Strategie-Tester
Hallo zusammen!
ich habe mehrere EAs geschrieben und diese funktionieren nur im Strategie-Tester. Automatisches Handeln ist erlaubt und Import von DLLs ist auch zugelassen. Gibt es noch irgend eine Funktion oder Einstellung die ich zusätzlich aktivieren muss? Es gibt keine Fehlermeldung.. Ich stehe etwas auf dem Schlauch. Hatte jemand von euch schon einmal ähnliche Probleme? Danke im Voraus! |
|
|||
Nein, im Journal gibt es keine Meldung. Ich habe noch einmal ein ganz einfachen EA geschrieben, der einfach eine Order eröffnen soll. Dieser hat dann funktioniert. Lotsize ist gleich.
Bei dem EA handelt es sich um eine Open Range Breakout Strategie. Ich verstehe einfach nicht, wieso dieser EA einwandfrei im Stragie-Tester, aber nicht im AutoTrading funktioniert. |
|
|||
Ich habe mal ein EA für das kreuzen von 2 verschiedenen EMAs geschrieben. Funktioniert auch im Strategie-Tester, aber nicht im AutoTrading. Ich hänge das EA mal an. Vielleicht sieht ja doch jemand einen Fehler. Ich dachte, dass es vielleicht mit der Zeitabfrage zu tun hat. Deswegen habe ich den EA (Test2) noch einmal gekürzt, um einen direkten Test durchführen zu können. Dieser funktioniert auch tatsächlich im AutoTrading. Das verwirrt mich noch mehr.
Jemand eine Idee? |
|
|||
Beim schnellen Drüberschauen, klar ein Time Problem!
Die Lösung/Änderung liegt in der Funktion: bool CheckActiveHour() Persönlich würde ich das so schreiben, damit man flexibel in der Ausgestaltung bleibt, z.B. für ganze Wochenfilter usw (TimeCurrent()<start (|| &&) TimeCurrent()>end) Mike |
|
||||
Du hast auch ein Problem in deiner Close Funktion:
Code:
if(StringSubstr(CurrentTime,0,5) == CloseAllTradesTime && OrdersTotal() >= 1) {if(!OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) Print("keine Order gefunden"); int Type = OrderType(); int ticket = OrderTicket(); double actualLotSize = OrderLots(); if(Type == OP_SELL) {if(!OrderClose(ticket,actualLotSize,Ask,100,clrBlue)) Print("Order konnte nicht geschlossen werden"); i = 0;} else if(Type == OP_BUY) {if(!OrderClose(ticket,actualLotSize,Bid,100,clrBlue)) Print("Order konnte nicht geschlossen werden"); i = 0; } } Setzte den Print in geschweifte Klammern und dachen den Rest nach einer else ebenfalls in geschweifte Klammern. Dies ist auch im Journal zu sehen. Weißt du wo man diese findet? Du meintest ja, das du keine Fehlermeldungen dort siehst. Dies ist bei mir nicht der Fall. |
Lesezeichen |
|
|