Problem mit MT4, das ein Geschäft öffnet und es dann sofort wieder schließt - Seite 2

 

Sie sollten es im Testmodus überprüfen, um festzustellen, ob es sich wiederholt oder nicht.

 

Ein EA kann vorgeben, magische Zahlen zu verwenden (und sie sogar die meiste Zeit verwenden), aber aufgrund eines Kodierungsfehlers (was in der mql4 Spaghetti-Code-Duplikation [copy-pasting] Szene die Norm ist) manchmal seine Magie nicht verwenden, sondern stattdessen einen inhärent falschen Code wie zum Beispiel verwenden:

for(...){
   OrderSelect(...);
   if (OrderSymbol() == Symbol()){
      OrderClose(...);
   }
}

der zwischen tonnenweise duplizierten (und kopierten) ähnlichen Codeblöcken vergraben und vergessen ist und aus irgendeinem Grund nur manchmal bei Vollmond ausgeführt wird (es gibt einen weiteren identischen 500-Zeilen-Codeblock (mit weiteren 4 Vorkommen der gleichen Schleife) für Neumond und zwei weitere solche Blöcke für die übrigen Zeiten in einigen der anderen Zweige des einen großen Monster-if/else aus der Hölle, aber diese wurden bereits "behoben").


Da haben Sie Ihren Fehler und da ist Ihr Geld weg: Irgendein unbekannter 15-jähriger Möchtegern-Code-Duplikator (oder sollte ich sagen C0d3r) mit NULL Ahnung pr0gg3d (sic!) irgendeinen k3wl (seinen allerersten und völlig ungetesteten) EA (weil er sich mit php gelangweilt hat) und hat ihn in irgendeinem Forum gepostet (oder von seinem 21-jährigen Cousin für Geld verkaufen lassen) und Ihnen einen Verlust von mehreren x-tausend Dollar verursacht. Fragen Sie mich privat, wohin Sie 20% des gesparten Geldes für die nächsten 3 Monate schicken sollen, in denen Sie diese Art von EAs NICHT verwenden werden.


Dieser Thread sollte nun genau an dieser Stelle geschlossen werden und dann bis ans Ende der Zeit mit fetten roten Buchstaben oben im Forum ANGEPINKT werden.

 
Heilige Mutter von ..... eine weitere Limonade und niemand würde in diesem Forum um Hilfe bitten... lol.
 
ubzen:
Heilige Mutter von ..... eine weitere Limonade und niemand würde in diesem Forum um Hilfe bitten... lol.

Ich habe mich in zweierlei Hinsicht geärgert.

Der Teil zwischen den Zeilen war in erster Linie gegen diejenigen gerichtet, die diese Art von EAs schreiben und verkaufen, aber ich bezweifle, dass sie es überhaupt verstehen können. Der andere Teil, der in einfachem Englisch geschrieben ist, fasst nur das Ereignis und die Situation der Opfer zusammen und OP ist ein Opfer (Opfer falscher Behauptungen, aber auch ein Opfer seiner eigenen Naivität). Der Schaden kann nicht mehr repariert werden, das Geld ist weg. Es kann nur daraus gelernt werden und es muss daraus gelernt werden. Und schließlich war der letzte Satz meines Beitrags (3 Monate, 20%) dazu gedacht, den empfundenen Schmerz zu verstärken, um den Lerneffekt zu maximieren.


Das klingt hart, aber es ist die bittere Wahrheit.


Der Grund für den Fehler liegt in einem seiner EAs, der die Aufträge anderer EAs schließt, obwohl er vorgibt, eine magische Zahl zu verwenden, und diese Zahl manchmal nicht tatsächlich verwendet. Und das passiert, weil Dilettanten dysfunktionale EAs schreiben und an unschuldige Menschen verkaufen. Die einzige Lösung für dieses Problem besteht darin, KEINE EAs zu verwenden, die nicht gründlich geprüft wurden, was automatisch alle kommerziellen EAs einschließt, für die kein Quellcode verfügbar ist. Es führt kein Weg daran vorbei, entweder das Programmieren zu lernen oder einen kompetenten Programmierer einzustellen und den Code eines jeden EAs von Drittanbietern gründlich zu überprüfen und zu testen und überhaupt keine EAs mit geschlossenem Quellcode zu verwenden.

 
Ich stimme Ihnen voll und ganz zu, und mein früherer Beitrag spiegelte ein ähnliches Gefühl wider. Ich habe gelernt, dass es ein bisschen hart war - aber es ist die Wahrheit. Die Bereitstellung eines EA ohne Unterstützung ist ein Verbrechen. Ja - ich habe es gesagt (vielleicht würden die Moderatoren jetzt wirklich den Beitrag in Rot sperren). Ich denke, der OP hat gutes Geld verdient b4 die bugs.... sonst Ouch!
 

P

> Ich fange an zu glauben, dass MT4 Probleme hat, wenn er mit mehreren EAs gleichzeitig arbeitet.

Normalerweise ist das kein Problem, ich habe viel mehr EAs als diese pro Instanz und viele Instanzen pro VPS gestapelt

> Ich habe den Verdacht, dass die Indikatoren durcheinander geraten und Signale zum Handeln und dann zum Schließen erzeugen.

Das könnte eine Idee sein, vor allem, wenn es sich um einen EA handelt, der zu "ruhigen Zeiten" gehandelt wird, und der Broker seit kurzem STP/ECN anbietet...?

Die sich daraus ergebenden enormen Schwankungen im Spread und/oder Gapping auf den kürzeren Zeitfenstern können Einstiegs-/Ausstiegssignale verschiedener Art durcheinander bringen.

FWIW

-BB-

 

Es handelt sich um eine Art von Fehler. Die Definition eines Bugs ist, dass sich die Software auf eine Art und Weise verhält, von der Sie sich wünschen, dass sie es nicht tut.

Es könnte entweder am Anwendungsprogramm liegen oder an der Programmiersprache, in der die Anwendung geschrieben wurde.

So oder so, ohne Zugang zum Quellcode oder zu einem reproduzierbaren Testfall ist alles andere nur eine Vermutung.

 

Legen Sie jeden der EAs in sein eigenes separates Demokonto und eröffnen Sie zusätzlich in jedem Konto einen manuell eröffneten Handel mit weit entferntem Stop und Take-Profit und manuell eingegebenen Limit- und Stop-Orders im selben Währungspaar/denselben Währungspaaren und lassen Sie sie dann einfach alle ein paar Tage/Wochen laufen. Wenn einer dieser EAs plötzlich beschließt, Ihren manuell eröffneten Handel zu schließen, seinen Stop zu verschieben oder einen der Eingangsaufträge zu stornieren, haben Sie zweifellos den schuldigen EA identifiziert. Versuchen Sie, ihn zu verklagen, um Ihr Geld zurückzubekommen, denn ein EA darf unter keinen Umständen eine andere Handelsaktivität sabotieren.

Dies ist das #1 Gesetz der Handelsrobotik: "Ein Roboter darf die Trades eines Menschen nicht beschädigen" (Dies schließt natürlich auch die Trades seiner anderen EAs ein)

 

Interessant. Versuchen Sie, eine Art Beweis dafür zu erbringen, wie eine EA funktionieren soll oder nicht funktionieren soll.

Dann machen Sie den großen Sprung, klagen Sie und überzeugen Sie dann das Gericht davon, wie eine EA funktionieren soll oder nicht funktionieren soll.

Natürlich müssen Sie dem Gericht erst einmal erklären, worum es bei einer EA überhaupt geht. Bis dahin können Ihre Anwaltskosten höher sein als die möglichen Ansprüche, die Ihnen das Gericht zuerkennt - vorausgesetzt, es kommt zu einer solchen Entscheidung. Andernfalls werden Ihre Verluste nur noch größer.

PS: Ich habe noch einmal nachgelesen, dass jemand den Quelltext dekompiliert hat, was es einfacher macht, den Fall vor Gericht zu vertreten. Aber ist das Dekompilieren und damit der Diebstahl des Codes dann legal?

 

Den Code zu dekompilieren und ihn zu stehlen sind zwei verschiedene Dinge. Dekompilieren bedeutet lediglich, ihn in eine lesbare Sprache zu übersetzen. Ein Gericht sollte zulassen, dass ein in einer Fremdsprache geschriebenes Dokument in eine Sprache übersetzt wird, die der Richter lesen kann. Niemand würde dies als "Diebstahl" betrachten.

Oder ist Maschinencode eine Art heilige Sprache, die unter keinen Umständen von Normalsterblichen übersetzt oder gelesen werden darf? Nicht einmal von Richtern? Nur von den eingeweihten Programmierern und ihren Maschinen?


Und selbst wenn nicht, könnten die gleichen Dinge über das Verhalten des EA auch durch Disassemblierung des Bytecodes oder des Maschinencodes selbst nachgewiesen werden. (Disassemblierung bedeutet nur, dass man ihn in einem schönen Format ausdruckt und eine kleine Erklärung neben jeden Maschinenbefehl schreibt) oder indem man das Verhalten einfach in einem wiederholbaren Test demonstriert.