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
Es ist immer noch nicht bekannt, welcher EA dies verursacht.
Alles, was wir bisher gesehen haben, sind die Symptome und ein paar Theorien. Wir benötigen die Expertenprotokolle im Ordner Experten/Protokolle von allen 4 Terminals, die denselben Zeitraum abdecken, um weitere Schlussfolgerungen zu ziehen. Diese Logs könnten meine Theorie bestätigen oder widerlegen und sie werden zeigen, wer die Close-Orders sendet.
Ich dachte, er würde jeden EA auf einem anderen Konto/Terminal laufen lassen?
//Nachdem ich den Thread erneut gelesen habe, habe ich gesehen, dass er 30 EAs auf 4 Terminals laufen lässt.
//z.
Ich dachte, er würde jeden EA auf einem anderen Konto/Terminal laufen lassen?
Wir brauchen so viele Protokolle, wie es Terminals gibt. IIRC er erwähnt 4 Terminals, die jeweils ein paar EAs laufen. Aber es ist eigentlich egal, wie viele, wichtig ist, dass man sich die Logs aller Terminals gleichzeitig ansieht.
Ein Handel, der von EA1 auf Terminal1 eröffnet wurde, könnte von EA2 auf Terminal2 geschlossen werden. EA1 würde den Handel sofort wieder öffnen und EA2 würde diesen Handel sofort wieder schließen, und zwar ad infinitum.
Das Expertenprotokoll von Terminal1 würde sich mit Einträgen über OPEN füllen und das Expertenprotokoll auf Terminal2 würde sich mit Einträgen über CLOSE füllen. In der Kontohistorie werden alle Verluste EA1 zugeschrieben, weil er derjenige ist, der den Handel eröffnet, und EA2 bleibt völlig unter dem Radar, sein Name wird in der Kontohistorie nicht erwähnt. Nur im Expertenprotokoll des Terminals, auf dem er läuft.
Ich verspreche: Wenn der angreifende EA schließlich gefunden wird, wird er der einzige sein, der nicht unter all dem gelitten hat, der einzige, der sich die ganze Zeit über gut zu verhalten schien, derjenige, der am wenigsten verdächtigt wird, wird der Schuldige sein.
einmal, einer meiner EA hatte ähnliche issius, der schuldige Code war:
Dies geschah nur einmal... ich hatte das Glück, dass ich nur die profitablen Trades geschlossen... so mein EA machte 100Trades und schloss sie, sobald sie positiv waren.
Damals gab ich dem EA die Schuld, da ich annahm, dass das Problem nur mit diesem EA auftrat.
*** Aus dem Feld Comments im Transaktionsprotokoll des Servers kann ich ersehen, dass derselbe EA (in diesem Beispiel Callibre) die Trades eröffnet und dann sofort wieder geschlossen hat.Aus dem Feld Comments im Transaktionsprotokoll des Servers kann ich ersehen, dass derselbe EA (in diesem Beispiel Callibre) die Trades eröffnet und dann sofort wieder geschlossen hat.
Peter: Wie ich bereits erklärt habe, zeigt das Kommentarfeld an, wer den Handel eröffnet hat, aber nicht, wer ihn geschlossen hat. Dies könnte irreführend und kontraintuitiv sein und ist der Grund, warum Sie an der falschen Stelle suchen. Das Kommentarfeld wird mit dem 8. Parameter in der Funktion OrderSend() gesetzt. Das ist der Moment , in dem die Bestellung geöffnet wird. Danach ist das Kommentarfeld fixiert und kann nicht mehr geändert werden. OrderClose() erlaubt es nicht, irgendwelche Textinformationen anzugeben. Unabhängig davon, wie oder von wem die Order geschlossen wird, behält sie entweder ihren Kommentar oder wird mit [sl] oder [tp] oder einigen anderen Strings versehen, um Stoploss oder Takeprofit oder Partial Close oder Margin Call etc. anzugeben.
Eine Order, die mit OrderClose() geschlossen wird, behält ihren ursprünglichen Kommentar. Der einzige Ort, an dem Sie herausfinden können, wer OrderClose() aufgerufen hat, ist die Suche in den Expertenprotokollen aller Terminals, die zu diesem Zeitpunkt in Betrieb waren.
Hängen Sie bitte die 4 Expertenprotokolle aller 4 Terminals an, die sich im Ordner experts/logs/ auf jedem Rechner befinden, auf dem ein Terminal läuft (dies ist das Protokoll der Registerkarte "experts" jedes dieser Terminals), um herauszufinden, wer die Trades geschlossen hat. Es ist nicht der Kaliber EA.
Hallo 7bit, ich werde die Protokolle in Kürze hochladen.
Eine Sache, die mir in den Protokollen für die betroffenen Tage auffiel, war eine Menge dieser Fehler:
00:11:16 Memory handler: kann 160308896 Bytes Speicher nicht zuweisen
00:11:16 HistoryBase: nicht genug Speicher für 'EURGBP1' in AddTick()
Eine Google-Suche ergab, dass dies durch zu viele Balken in einem Diagramm verursacht wird. Ich hatte den Parameter Max Bars hoch eingestellt, damit ich mehr Historie herunterladen kann, aber ich habe diese Einstellung inzwischen reduziert.
Ich frage mich, ob diese Fehler die Indikatorsignale durcheinander gebracht haben, was zu Problemen bei den EAs führt?
Im Moment ist das meine Lieblingstheorie!!!
00:11:16 Memory handler: kann 160308896 Bytes Speicher nicht zuweisen
00:11:16 HistoryBase: nicht genug Speicher für 'EURGBP1' in AddTick()
Ich glaube nicht, dass dies relevant ist. Außerdem geht daraus nicht hervor, wer den Aufruf von OrderClose() tatsächlich durchgeführt hat.
Ich vermute nach wie vor, dass ein Indikator aufgrund mangelnder Speicherressourcen nicht richtig funktioniert hat, so dass die Geschäfte geöffnet und geschlossen wurden. Wenn dies der Fall ist, wird es sehr schwer sein, dies zu beweisen.
Nachfolgend finden Sie Auszüge aus den beiden Logs-Ordnern, die ein Beispiel dafür sind, was passiert ist.
Bei diesem EA handelt es sich um FAP Turbo LT., den ich schon seit Jahren verwende und der sich immer gut verhalten hat.
Der Logs-Ordner zeigt, was MT4 tut, nämlich den Handel öffnen und dann schließen, in diesem Fall Geschäft Nr. 2662451
Das Seltsame ist, dass in der Experts-Log-Datei das Geschäft geöffnet und dann geändert wird, um SL und TP zu setzen, aber es gibt keinen Eintrag, der zeigt, dass es geschlossen wurde.
Ich habe mir andere Einträge im Expertenprotokoll angesehen, wenn FAP Turbo ordnungsgemäß funktioniert, und dieser EA erzeugt normalerweise definitiv einen Close-Eintrag, aber nicht in diesem Fall.
Ich habe mir alle Protokolldateien angesehen, die ich für andere Instanzen von MT4 finden konnte, aber es gibt keine anderen Hinweise auf diesen Vorgang.
Ordner MT4\Logs:
17:28:49 '103028': order was opened : #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 0.0000 tp: 0.0000
17:28:49 '103028': ändere Order #2662451 buy 0.20 EURUSDFXF bei 1.2909 sl: 0.0000 tp: 0.0000 -> sl: 1.2407 tp: 1.2929
17:29:02 '103028': schließe Auftrag #2662451 buy 0.20 EURUSDFXF bei 1.2909 sl: 1.2407 tp: 1.2929 zum Preis von 1.2906
17:29:02 '103028': Anfrage wurde vom Server angenommen
MT4\Experts\Logs Ordner:
17:28:48 FapTurbo50 EURUSDFXF,M5: open #2662451 buy 0.20 EURUSDFXF at 1.2909 ok
17:28:49 FapTurbo50 EURUSDFXF,M5: modify #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 ok