Alle Inhalte von Mythos
-
Hilfe bei Programmierung
Also meine bisherige Erfahrung in dem Bereich zeigt: wenn du Erfolg haben willst, musst du im Prinzip das Rad neu erfinden bzw. mindestens selber drauf kommen bzw. verstehen wie man das Rad erfinden würde (oder jemandem viel Geld dafür geben das er dir erzählt wie er denkt das es geht, was aber meist dann nit stimmt). Weil sobald du ein funktionierendes Rad hast, brauchst du nimmer mehr. Und die Leute die eines erfunden haben, haben soviel Zeit und meist auch Geld reingesteckt das sie es nicht einfach so an den nächstbesten verschenken. Es läuft leider nicht nach dem Motto "Wenn einer was tolles erfunden hat, zeigt er es der Welt damit alle davon profitieren können" Was du aber sicher leicht findest sind viele "kleine" Hinweise und Antworten auf einzelne Fragen. Aber die "Masterfrage" werden dir nur wenige direkt frei beantworten. Beim Trading muss man einfach sehr viel selber herausfinden.
-
Hilfe bei Programmierung
Das ist die Frage aller Fragen ;) Ich glaub patentlösung gibt es nicht. Der erste Schritt ist sicher mal den Markt beobachten, das Verhalten des EA analysieren (wodurch ist er negativ?) etc. Was meinst du mit "richtig"? In MT kannst du mit dem Strategietester diverse Parameterkombinationen durchrechnen lassen. damit siehst du auf alle Fälle mal in welchem Bereich dein EA gar nicht geht, und wo er möglicherweise Potential hat.
-
EA mit Teilausstieg
Natürlich, je nachdem wie lange der Broker für die abarbeitung der Order braucht. Es dürfte nicht nur Brokerabhängig sondern auch "Orderabhängig" sprich nicht bei jeder Order gleich funktionieren. :hmmm: also die Funktion läuft bei mir einwandfrei. Wieviele Parameter hat denn dein EA? hast da welche hinzugefügt? lass mal bitte dieses script laufen: (das testscript von titan, nur mit der myOrderSend()) teste_ordersend.mq4
-
Programmierung EA
Das ist jetzt nicht dein Ernst oder? Er findet bei dir den Indikator nicht, den du selber hier hochgeladen hast! Vielleicht solltest du mal den Indikator für den du Siscop hier einen EA bauen lässt auch selber in den MT einspielen. Sonst ist irgendwie klar das nix funktionieren kann oder?
-
Programmierung EA
1. Bitte pack Codezeilen in die dafür vorgesehenen Container, sonst ist es schwer zu lesen. 2. Wenn diese Zeilen so in einem MQL Programm stehen, dann kriegst du einen Syntaxerror beim kompilieren.
-
Hilfe bei Programmierung
@karlos: Noch ein letztes mal langsam: Bitte schau dir mal detailiert im Strategietester an, wie die Kreuzungen zustande kommen. Wenn ich dich richtig verstehe, willst du das die Order beim Open von dem Bar gemacht wird, der direkt nach der Kreuzung der GDs ist richtig? Also zB Bar1 : GD1: 10 GD2: 15 Bar2: GD1: 20 GD2: 15 Du hättest gern das hier am Open von Bar2 eine long order eröffnet wird oder? Folgendes Problem: Beim Open von Bar2 weißt du noch nicht welche Werte die GD am Ende haben werden. Du weißt also erst das es vor diesem Bar eine Kreuzung gab, wenn der Bar vorbei ist, kannst also frühestens am Open des nächsten Bars eine Order eröffnen. Wie gesagt, lass mal den Strategietester laufen und schreib dir mit wann du genau die Order eröffnen würdest. Dann schau dir den fertigen Chart an und schreib dir auf wann du aufgrund des fertigen Charts die Orders öffnen würdest. Und dann vergleich die Zeitpunkte und Anzahl der Orders.
-
Hilfe bei Programmierung
Nur wenn die Logik für positive Performance sorgt. Du musst unterscheiden zwischen "ob die Logik passt" und "ob der EA die Logik richtig umsetzt". Und die Frage "Ob die Logik passt" kann man iA sehr schwer beantworten. krasses Bsp: neue Logik: Eröffne Position am Open, schließe Position sobald sie im Minus ist. Ein EA der diese Logik einwandfrei umsetzt wird trotzdem keine positive Performance machen.
-
EA mit Teilausstieg
Meine Empfehlung: lösch den Sleep befehl raus und mach eine gscheite Errorbehandlung ;) zB: füge folgende Funktion in deinen EA ein: int myOrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment="", int magic=0, datetime expiration=0, color arrow_color=CLR_NONE) { int result,error; int loopcount= 0; result= OrderSend(symbol,cmd,volume,price,slippage,stoploss,takeprofit,comment,magic,exp iration,arrow_color); while(result == -1) { error=GetLastError(); switch(error) { case ERR_SERVER_BUSY: case ERR_BROKER_BUSY: case ERR_TRADE_CONTEXT_BUSY: Sleep(500); break; case ERR_TOO_FREQUENT_REQUESTS: Sleep(5000); break; case ERR_NOT_ENOUGH_MONEY: Alert("We are broke!"); break; case ERR_TRADE_TOO_MANY_ORDERS: Alert("Too many open trades!"); break; } loopcount++; if(loopcount > 100) break; RefreshRates(); if(cmd == OP_BUY) price= Ask; if(cmd == OP_SELL) price= Bid; result= OrderSend(symbol,cmd,volume,price,slippage,stoploss,takeprofit,comment,magic,exp iration,arrow_color); } if(result < 0) Print("Error sending Order, give up trying! Error was:", error); return(result); } für die schönen Konstanten musst du noch #include <stderror.mqh> am Beginn des EA einfügen. Dann gehst du per Suchen und Ersetzen durch den EA und ersetzt OrderSend durch myOrderSend. Und schon hast du zumindest eine grundlegende Fehlerbehandlung ;)
-
EA mit Teilausstieg
Sorry mein Fehler. titan hat natürlich Recht. Wird nur bei falschen Parametern der Error verschwiegen oder auch Fälle wie TradeContextBusy (da ich bei mir immer auch die eigenen Errormeldungen hab bin ich mir jetzt nimmer sicher, aber die Errors vom Server kommen glaub ich explizit ins Journal)? Nichtsdestoweniger denk ich immer noch das es ein TradeContextBusy Error ist ;) (Da der EA von ihm normalerweise Orders schickt geh ich mal davon aus, das die Parameter passen und die OrderSend normalerweise zum Server geht...)
-
EA mit Teilausstieg
Was meinst du mit "programmtechnisch nicht bearbeitet"? Wenn der EA "OrderSend()" aufruft, wird die Order zum Server geschickt oder? (Natürlich wenn der EA nicht zu dem Punkt mit dem OrderSend kommt wird natürlich nix geschickt) Und sobald die Order zum Server geschickt wird gibts doch nur 2 Alternativen: Variante 1 sie geht durch( OrderSend gibt Zahl > 0 zurück) Variante 2 es gibt einen Error und OrderSend gibt -1 zurück. Bei Variante 2 wird dann im Log (undoder kA) Journal der Fehler angezeigt. Oder können OrderSend Befehle seit neuestem einfach "verschwinden"? EDIT: um Missverständnissen vorzubeugen: Mein "was steht denn im Log wenn eine Order ausgeführt werden sollte" war nicht gemeint als "was sollte allgemein dort stehen wenn eine Order ausgeführt wird", sondern "was steht konkret bei ihm im Log wenn die Order eigentlich ausgeführt werden sollte, sie aber nicht ausgeführt wurde"
-
Einschränkung der Benutzerrechte der Gruppe *.skilled
Mal ne "blöde" Frage: Ist die Lösch-funktion überhaupt notwendig? Zugegeben, die Editierfunktion nutze ich auch des öfteren weil ich natürlich immer erst nach dem abschicken merke welch katastrophales Deutsch ich teils fabriziere, aber löschen wollte ich noch nie was. Die einzigen Gründe warum man "regulär" einen Post löschen sollte ist wenn er unabsichtlich im falschen Thread landet (aber dann wird er eh von den Mods verschoben) oder versehentlich doppelt gepostet wird oder so. Ansonsten sollte man sich mMn doch vorher überlegen was man in ein Forum postet und danach erwachsen genug sein das man zu seinen Aussagen steht. Bis jetzt ist es zwar der erste Mißbrauchsfall, aber Tom-Next wächst doch stetig und es ist nicht auszuschließen das es sich wiederholt. Langer Rede kurzer Sinn: Was spricht dagegen die Löschfunktion zu deaktivieren bzw. nur innerhalb der ersten 15min nach verfassen des Posts aktiv zu lassen? @Mods: Kann mich nur wiederholen: Good Job !
-
Welche (Nicht-Trading) URL ist bei Euch tägliche Pflicht?
www.random-good-stuff.com toller Blog von einem deutschen der jetzt in Valencia lebt (ich glaub es gibt auch eine deutsche Version davon, aber die weiß ich nit auswendig )
-
EA mit Teilausstieg
Ehrlich gesagt gefällt mir die Variante mit dem verzögern überhaupt nicht. Ich weiß ich bin ein bissl nervig, aber ich muss echt nochmal nachfragen: Sicher das der EA keine Fehler produziert? Was steht denn im Log und im Journal wenn eine Order ausgeführt werden sollte? (Wenn wirklich ein EA die Order senden sollte, das aber nicht tut ohne einen Fehler zu melden, dann wurde gar nicht versucht die Order zu senden) Nach dem was ich denke müsste einer der beiden EAs beim senden der Order einen "Tradecontext busy" error kriegen. Schöne Lösung: Beim senden der Order auf solche Fehler überprüfen und ggf. die Order erneut senden. (zB mit der Schleife die ich weiter oben schonmal gepostet hab) Nur zur Sicherheit: mit Fehlermeldung mein ich kein Popupfenster, sondern nur einen Logeintrag der über den Fehler informiert. kleiner Tippfehler, ich mein die MetaTrader Builtin-Function "OrderSend(...)" mit der du eine Order erzeugst (und an den Broker sendest)
-
EA mit Teilausstieg
Ja was sollte sich denn ändern? Sleep verzögert nicht die Order, es sorgt nur dafür das der gesamte EA an der Stelle im Code für die angegebene Zeit steht. Wenn sich jetzt in dieser Zeit der Kurs ändert, und du Market einsteigen willst, wirst du Errors kriegen weil du bei einem falschen Kurs reinwillst. Zur Sicherheit: 1) produzieren die EAs irgendwelche Errors? (Was steht im Log?) 2) werden die EAs in unterschiedlichen Chartfenstern ausgeführt (haben wir glaub ich schon geklärt, aber nur sicherheitshalber) 3) könntest du den Block mit dem Ordersend posten?
-
EA generiert nur Long-Signale
Ich kann dir nur erneut empfehlen den "Einstieg in die MQL-Programmierung" - Thread durchzuarbeiten. Im wesentlichen findest du dort alle Basics die du brauchst.
-
EA generiert nur Long-Signale
Hast du wirklich den gesamten "Einstieg in die MQL-Programmierung" durchgearbeitet? Soweit ich mich erinnere wurden dort eigentlich alle deine Fragen bereits beantwortet. RH und RL sind weder built-in functions noch vordefinierte Konstante, von daher ist die Bedeutung abhängig vom Programm. In deinem Fall sind es Namen von Funktionen "Step 1" kommt hier nirgends vor. Es gibt "Step1" und das ist ein variablenname. Die Syntax von iCustom findest du in der MQL-Docu im MetaEditor: double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) Jetzt mal ehrlich, hat dir diese Antwort geholfen?
-
EA generiert nur Long-Signale
möglicherweise hilft der Google-Translator. Dann solltest du es aber umgekehrt angehen ;) Nicht einen unfertigen, zusammengewürfelten EA online stellen. Sondern eher mit der Frage "MQL learning by doing, wer kann mir helfen?" einen Thread eröffnen ;) Zusätzlich wäre es einerseits eine nette Geste, andererseits für dich sicher sehr hilfreich wenn du mal das MQL-Einsteiger Forum hier ein bissl durchforstest. Da findest du zB gleich zu Beginn das hier
-
Schließung von Threads
Ich gebe zu, über die Schließung dieses Threads kann man geteilter Meinung sein. Die Diskussion zwischen den 2 Beteiligten wäre womöglich "sinnvoll" öffentlich zu führen (das ist Ansichtssache und ich verstehe durchaus das es nicht zu den Topics gehört die auf Tom-Next erwünscht sind). Aber die Einmischung von unbeteiligten Außenstehenden in private Diskussionen (selbst wenn diese öffentlich geführt werden) ist absolut unnötig und hier war es mMn die richtige Wahl den Thread zu schließen. Die Schließung wirkt zwar nach außen wie ein Wortabschneiden, aber einerseits kann die Diskussion zwischen den beiden privat sowieso weitergeführt werden (und außer den beiden hat nunmal niemand was in der Diskussion verloren), und andererseits bin ich mir sicher, das wenn einer der beiden den Wunsch auf ein abschließendes Posting in dem Thread hat, wird das möglich sein. Oder ronner?
-
EA generiert nur Long-Signale
Wenn du englisch kannst (was beim selbstständigen Lernen von Programmiersprachen sehr hilfreich ist) zB das offizielle MQL Book. Dort sind die Grundlagen der Sprache MQL erklärt. Und sobald du die Frage, was das "RH" und "RL" in dem Programm von dir bedeutet, selbst beantworten kannst, macht es mMn Sinn sich selbst mit der Entwicklung von Programmen zu beschäftigen. Wenn es dir jedoch nicht um das lernen von MQL geht, sondern nur darum eine Strategie zu implementieren, findest du möglicherweise hier auch User die dir dabei helfen. Es ist nur schwer über die Details eines Programms zu diskutieren, Fehler aufzuzeigen und auszubessern, wenn du die Grundlagen nicht kennst. (Das wäre wie wenn man versucht die Rally-Fahrtechnik zu verbessern, während man sich noch fragt was der Ganghebel und die komischen Pedale tun)
-
EA generiert nur Long-Signale
Sorry wenn die Frage jetzt blöd klingt, aber aufgrund von deinen Fragen drängt sie sich bei mir auf: Hast du eine grundlegende Ahnung von MQL oder C? Weißt du wie man eine Funktion definiert? Weil wenn nein, würde ich empfehlen einen Schritt zurück zu gehen und bei den Grundlagen beginnen bevor du dich an das umschreiben eines bestehenden Programms machst.
-
EA - Zertifizierung
Sorry, hab zugegeben ein bissl zu stark zusammengekürzt. Genau das mein ich ja. Es kann und soll glaub ich gar nicht darum gehen, das die Zertifizierung ein "Der EA liefert eine gute Performance" herausbringt, denn das würde das Problem "ich muss nix wissen, sondern kauf mir den EA weil die anderen sagen er is gut" halt von dubiosen Quellen auf die Zertifizierung verlagern. Für mich geht es hier hauptsächlich darum zu filtern. Natürlich kann die Zertifizierung auch eine grobe Richtung zeigen was man von dem EA erwarten kann, und ein Käufer wird sehr wahrscheinlich zu den EAs tendieren die in den Tests am besten abschneiden. Aber über der Zertifizierung sollte ganz groß stehen "Selber denken und testen!" Ich denke halt das allein die "Nicht-Durchfallen" Hürde die heutige EA-Landschaft extrem stark einschränken würde. (Vermutlich fallen 70% der käuflichen EAs bei den Tests durch).
-
Denkmäler vs Tauben...
FULL ACK Ich finde es würde ziemlich gegen das Grundprinzip von Tom-Next laufen, eine solch private Sache in eine öffentliche Schlammschlacht zu verlagern. (Ich hoffe natürlich trotzdem das ihr zwei das unter euch berreinigen könnt)
-
EA - Zertifizierung
@Alpha: Danke für die Vorschläge. Ich denke die Verteilung auf mehrere "Tester" ist eine gute Variante um die "Belastung" für den Einzelnen gering zu halten. Bzgl. Objektivität denk ich das ein explizites Prüfprotokoll nach dem jeder EA gleich getestet wird mehr Objektivität und vor allem Nachvollziehbarkeit garantiert als das Verteilen auf eine Handvoll Leute (zuviele dürfen es ja auch wieder nicht sein, denn man muss darauf vertrauen können das die Tester sich an das Protokoll halten). Zugegeben, bei den Reviews kann man den "persönlichen Einschlag" des jeweiligen Verfassern dann nicht ausschließen. bzgl. Kennzahlen: Denkst du da an spezielle? Die Idee einer eigenen TN-EA-Verkaufsplattform hat whipsaw ja schon angedacht, das lässt sich dann natürlich kombinieren. @Maerl: Ich versuch mal kurz deinen Post zusammenzufassen: Zertifizierung gut, aber müsste auf Echtgeldkonto und auf Forwardtests basieren um Aussagekraft zu haben. Ich geb dir Recht, der Unterschied zwischen Demokonten und Realkonto ist teils sehr gravierend. Aber solange die Anbieter für die Verifizierung nicht zahlen müssen, wäre es glaub ich eine reine Geldvernichtungsmaschine diverse EAs auf realgeld zu testen. (Vor allem wenn vom Hersteller angegeben wird das man mindestens 10000 Kapital benötigt etc.) bzgl Forwardtests geb ich dir natürlich auch Recht. Von meiner Seite sind auch keine reinen Backtests bzw. Optimierungen geplant, sondern eine Kombination inkl. Forwardtests und Out-of-Sample. Man darf dieses Projekt (vor allem da es noch total in den Kinderschuhen steckt) nicht mit der gesamten EA-Testreihe vergleichen der ein Programmierer seinen EA unterzieht bevor er "richtig" Kapital investiert. Bevor ich "wirklich" in ein System investieren würde, gäbs eine Testreihe Backtests (inkl. Optimierung)-Clustering-OutOfSample-Clustern-Forwarddemo-Forwardreal(Micro/Cent) . Wobei natürlich jeder Schritt über entsprechenden Zeitraum laufen müsste. Aber dafür ist in diesem Fall weder Zeit noch Geld vorhanden (Wenn ein Entwickler zu uns kommt und den EA anbieten will, können wir nicht sagen "Meld dich in einem Jahr wieder, dann haben wir ihn entsprechend getestet"). Ich denke vielmehr das dieses Projekt die ersten Schritte der Testreihe dem Endverbraucher abnehmen kann/soll. Wir wollen ja nicht den Trend "Ich muss es nicht verstehen, es muss nur funktionieren" vorrantreiben, sondern eine Hilfestellung bei der eigenen Überprüfung leisten. Sprich ich gehe davon aus das ein Käufer trotz Zertifizierung den EA noch selber am eigenen Konto "überprüft" bevor er ihm "wirklich" Geld anvertraut (Man könnte ja hier dem Käufer zusätzlich noch eine "Testempfehlung" mitgeben welche Tests man am eigenen Konto machen sollte bevor man groß investiert). Die Zertifizierung soll nur bei der Entscheidung helfen welchen EA man überhaupt in Betracht zieht. Vor allem zu Beginn dürfte die Hauptaufgabe sein, wertlose EAs aus dem Verkehr zu ziehen. (Und wenn ein EA bereits am Demokonto in allen Tests versagt, dann kann man glaub ich mit gutem Gewissen von ihm abraten ;)
-
Hilfe bei Programmierung
Hatte ehrlich gesagt noch nie Probleme beim hochladen von bildern...
-
Verkaufe Expert Advisor
Du darfst dich gern mit Anregungen und Vorschlägen an der Diskussion beteiligen ;)