whipsaw Posted January 30, 2012 Report Posted January 30, 2012 Hier gehts ja richtig zur Sache *g* - Aber Achtung - Nicht alles Pulver gleich verschießen.Die nächste Metatrader-Challenge startet erst im kommenden Jahr ^^. PS: und nicht vergessen, den EA "Hahn-sicher" zu machen.
conglom-o Posted January 30, 2012 Report Posted January 30, 2012 ActivTrades und SVS sind nun auch mit unbegrenzten Konten dabei. Daten habe ich schon direkt mit cxalgo ausgetauscht.Mögen die Spiele beginnen... 2
Mythos Posted January 31, 2012 Report Posted January 31, 2012 genial, jetzt muss nur noch die Performance passen ;) PS: und nicht vergessen, den EA "Hahn-sicher" zu machen. Das hat mir auch schon Kopfweh bereitet, die Frage ist nur "wie".
Mythos Posted January 31, 2012 Report Posted January 31, 2012 Da soviel weitergeht, hab ich mir den EA nochmal durchforstet, und folgende Probleme Herausforderungen festgestellt: derzeit wird Point verwendet wodurch das Parameterset nicht einfach zwischen 4 und 5 digits-broker gewechselt werden kann (wird von mir geändert) es gibt keine Möglichkeit den EA auf einem Broker laufen zu lassen der beim Senden der Order keine SL und TP zulässt (abhandlung dieses Problems bau ich in die TradeBox ein, also auch erledigt) Die Zeit für die Tradingeinschränkung gilt derzeit als Serverzeit. Das führt wieder dazu, dass das gleiche Parameterset auf unterschiedlichen Brokern unterschiedlich läuft. Das sollten wir besser auf TimeLocal anpassen oder? Zeitfilter referenzieren mMn eher auf die eigene Zeit als auf die Serverzeit...Was meint ihr?
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Da soviel weitergeht, hab ich mir den EA nochmal durchforstet, und folgende Probleme Herausforderungen festgestellt:derzeit wird Point verwendet wodurch das Parameterset nicht einfach zwischen 4 und 5 digits-broker gewechselt werden kann (wird von mir geändert) jupp, sollte man mit reinnehmen, dass der EA automatisch zwischen 4- und 5 Digits wechselt es gibt keine Möglichkeit den EA auf einem Broker laufen zu lassen der beim Senden der Order keine SL und TP zulässt (abhandlung dieses Problems bau ich in die TradeBox ein, also auch erledigt) Einfach einen bool einbauen "if ECN/STP = true" dann erst Order ohne SL&TP setzen, dann per modify Die Zeit für die Tradingeinschränkung gilt derzeit als Serverzeit. Das führt wieder dazu, dass das gleiche Parameterset auf unterschiedlichen Brokern unterschiedlich läuft. Das sollten wir besser auf TimeLocal anpassen oder? Zeitfilter referenzieren mMn eher auf die eigene Zeit als auf die Serverzeit... sowas in der Art? bool f_checkTime() { bool result; double Start=Start_H+Start_M/60; if(Start>=24) Start-=24; double Ende=Stop_H+Stop_M/60; if(Ende>=24) Ende-=24; double stunde = Hour(); double minute = Minute(); double timeSplit = stunde+minute/60; if(Start<Ende){ if(timeSplit>=Start && timeSplit<=Ende) result=true; else result=false; } else { if(timeSplit>=Start || timeSplit<=Ende) result=true; else result=false; } return(result); } Was meint ihr? wäre sehr hilfreich, auf alle Fälle! 1
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 genial, jetzt muss nur noch die Performance passen ;) Das hat mir auch schon Kopfweh bereitet, die Frage ist nur "wie". per decompileschutz wäre eine Möglichkeit, nur noch die ex4 hinterlegen
RAiNWORM Posted January 31, 2012 Report Posted January 31, 2012 es gibt keine Möglichkeit den EA auf einem Broker laufen zu lassen der beim Senden der Order keine SL und TP zulässt (abhandlung dieses Problems bau ich in die TradeBox ein, also auch erledigt)Wenn du das drin hast, könnte ich flatex als weiteren Testbroker 24/7 laufen lassen. Die restlichen Broker dieser Welt habt ihr ja schon Hat jemand einen MBT-MT4-Account? Das wäre doch auch noch von Interesse. Die Zeit für die Tradingeinschränkung gilt derzeit als Serverzeit. Das führt wieder dazu, dass das gleiche Parameterset auf unterschiedlichen Brokern unterschiedlich läuft. Das sollten wir besser auf TimeLocal anpassen oder? Zeitfilter referenzieren mMn eher auf die eigene Zeit als auf die Serverzeit...Das halte ich auf jeden Fall für sinnvoll. cxalgo hat heute wohl Steroide genommen und haut flott in die Tasten per decompileschutz wäre eine Möglichkeit, nur noch die ex4 hinterlegenTja, wie wollen wir einen EA schützen, den wir zu Bildungszwecken hier als Quellcode veröffentlichen? Ein Schutz kommt jetzt eh zu spät. Außerdem kann man alles dekompilieren und jeglichen Schutz umgehen. Das ist den Aufwand nicht wert.
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Bei Pepperstone kommt immer dieser Fehler aus der TradeBox ITradeBox EURUSD,M15: Alert: TB1.19: Give up after 51 tries to send Order: buy 0.71@1.3184sl:1.3166tp:1.3284 error was: invalid stops kommt mit dem Community EA + gleichem Set-File nur bei Pepperstone, hab da den Razor Account per MT4 Equity Grid laufen hier die Symbol Eigenschaften per Screenshot
Mythos Posted January 31, 2012 Report Posted January 31, 2012 Bei Pepperstone kommt immer dieser Fehler aus der TradeBox Ich vermute der kann auch keine SL und TP beim Senden.Versuch mal eine Marketorder händisch zu setzen mit SL und TP direkt. An dem Problem bin ich dran, kommt demnächst. EDIT: da du schon trades hast, hat der Broker auch eine andere TimeZone als der auf dem ich getestet hab... sprich wir sollten die TimeFilter definitiv auf local setzen, hilft zwar im backtest nit, aber sonst wirds kompliziert... EDIT2: man sollte nicht nur den letzten neuen Post lesen... ich bau mal
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Ich vermute der kann auch keine SL und TP beim Senden.Versuch mal eine Marketorder händisch zu setzen mit SL und TP direkt. An dem Problem bin ich dran, kommt demnächst. jupp, so ist es, muss in 2 Schritten erfolgen EDIT: da du schon trades hast, hat der Broker auch eine andere TimeZone als der auf dem ich getestet hab... sprich wir sollten die TimeFilter definitiv auf local setzen, hilft zwar im backtest nit, aber sonst wirds kompliziert... korrekt @rainwormcxalgo hat heute wohl Steroide genommen und haut flott in die Tastenhab heute scheinbar einen guten Tag erwischt und der Kaffee fließt seit 5 Uhr morgens in strömen
Mythos Posted January 31, 2012 Report Posted January 31, 2012 sowas in der Art? naja, es geht nicht um die Verarbeitung der Zeit. Das Problem ist, das zB mein Broker hier TimeCurrent() = TimeLocal() - 1Stunde hat.Zweites Problem: Beim Backtest wird TimeLocal mit TimeCurrent überschrieben, sprich man muss höllisch aufpassen das man im Backtest die Zeitwerte entsprechend anpasst... @kopierschutz: wir wollen ja keinen Kopierschutz in dem Sinn, denn es is ja opensource. Aber so wie alle OpenSource Programme, haben wir das Problem das: "Wie schützen damit niemand unseren EA in seinem Namen verkauft?".AFAIR gabs mal den fall wo der gcc (OpenSource Compiler) in kommerzieller Software aufgrund von bekannten Bugs des gcc identifiziert wurde... Ansonsten hast defakto keine Chance da was nachzuweisen.
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 @kopierschutz: wir wollen ja keinen Kopierschutz in dem Sinn, denn es is ja opensource. Aber so wie alle OpenSource Programme, haben wir das Problem das: "Wie schützen damit niemand unseren EA in seinem Namen verkauft?".AFAIR gabs mal den fall wo der gcc (OpenSource Compiler) in kommerzieller Software aufgrund von bekannten Bugs des gcc identifiziert wurde... Ansonsten hast defakto keine Chance da was nachzuweisen. gute Frage, einen individuellen anti-P.H.-Gentest per Script gibts ja wahrscheinlich (noch) nicht, muss erst der Schaden den er anrichtet in Größen eines Herrn Schneider gehen!! Sonst geht hier nur auf "treu & glauben" weil Source bleibt Source ... oder per dll was auslagern ....
conglom-o Posted January 31, 2012 Report Posted January 31, 2012 Da soviel weitergeht, hab ich mir den EA nochmal durchforstet, und folgende Probleme Herausforderungen festgestellt:[*] derzeit wird Point verwendet wodurch das Parameterset nicht einfach zwischen 4 und 5 digits-broker gewechselt werden kann (wird von mir geändert)Das habe ich schon mal gebaut. Sah dann so aus: if (MarketInfo(Symbol(), MODE_DIGITS)==4) Faktor=1; if (MarketInfo(Symbol(), MODE_DIGITS)==5) Faktor=10; Faktor ist dabei eine Variable vom Typ integer. Ich habe es so gemacht, damit der Nutzer dann immer alle Werte in Pip eingeben kann. Diese werden dann intern - eben per Faktor - noch entsprechend hochgerechnet. Sicherlich würde Mythos das auch mit verbundenen Augen hinbekommen und eleganter ist auch eine Lösung mit der case-Anweisung, aber nun konnte ich zumindest auch mal einen klitzekleinen Code-Teil posten . 2
Mythos Posted January 31, 2012 Report Posted January 31, 2012 Das habe ich schon mal gebaut. Sah dann so aus: thx, aber dafür gabs in der TB schon eine Funktion (wir ham sie nur nit verwendet): double tbPoint() { if (Digits==5 || Digits ==3 || Digits == 1) return(Point*10); else return(Point); } Hotfix ist im Downloadmodul. Achtung ihr braucht auch die aktuelle TB (is auch online), damit das ECN-prob auch gelöst ist.Ich hoff ich hab auf die schnelle nicht mehr Fehler als Verbesserungen eingebaut...Ich hab auch noch optische Marker eingebaut das man sieht wenn der EA handeln darf und wie der Filter gerade steht. Kann per DrawObjects ausgeschaltet werden. NoStopOnSend entscheided ob SL und TP beim senden mitgeht oder erst per Modify direkt danach. neues set:goldesel.txt gute Frage, einen individuellen anti-P.H.-Gentest per Script gibts ja wahrscheinlich (noch) nicht, muss erst der Schaden den er anrichtet in Größen eines Herrn Schneider gehen!! Sonst geht hier nur auf "treu & glauben" weil Source bleibt Source ... oder per dll was auslagern .... Eben, jeder Kopierschutz baut auf "ich versteck den Source". Das hilft eigentlich auch nicht gegen Klau und Verkauf und falschem Namen, aber ist dann offensichtlicher. Da wir aber den Source zeigen wollen, bleibt nur der Einbau "versteckter" Fehler oder Details die ein unkundiger übersieht und die man nachweisen kann.Dank TB müsste man den EA zerlegen und umbauen damit die raus kommt. So ein verstecktes Detail müsste also tief in der Logik sein, sodass der EA ohne es nicht richtig läuft, es aber trotzdem ohne Sourcecode beweisbar ist. Aber genau genommen: Derzeit ist mir der Aufwand sowas zu entwickeln die Sache nicht wert. Weil 100% Schutz hat man eh nie. EDIT: ich hab die fxBook Links ins Downloadmodul dazugepackt. Wenns weitere gibt, bitte einfach melden.
conglom-o Posted January 31, 2012 Report Posted January 31, 2012 thx, aber dafür gabs in der TB schon eine Funktion (wir ham sie nur nit verwendet): double tbPoint() { if (Digits==5 || Digits ==3 || Digits == 1) return(Point*10); else return(Point); } Wusste doch, dass Du da wieder eine Lösung hast, die ich nicht verstehe .
Mythos Posted January 31, 2012 Report Posted January 31, 2012 Wusste doch, dass Du da wieder eine Lösung hast, die ich nicht verstehe . Wenn 5 Digits Broker -> ich will 4 Digits also myPoint= Point*10 wie bei dir tbPoint() kann im Code verwendet werden wie Point, nur besser ;)
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 ich werfe nochmal eine Backtest Optimierung an für alle 5 Konten, da auf jedem ein anderes negatives Ergebnis angezeigt wird, schon seltsam, PF 0,7 - 1.1 ... Wenn alle fertig sind, stelle ich die als Report hier mal rein
Mythos Posted January 31, 2012 Report Posted January 31, 2012 ich werfe nochmal eine Backtest Optimierung an für alle 5 Konten, da auf jedem ein anderes negatives Ergebnis angezeigt wird, schon seltsam, PF 0,7 - 1.1 ... Wenn alle fertig sind, stelle ich die als Report hier mal rein Für welchen Zeitraum? Du musst mit den Zeiten aufpassen, im Backtest nimmt er eine andere Zeit als im Live, da musst ggf. für den Backtest umstellen.
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Für welchen Zeitraum? Du musst mit den Zeiten aufpassen, im Backtest nimmt er eine andere Zeit als im Live, da musst ggf. für den Backtest umstellen. hab jetzt mal alle per 01.01.2011 Start und 01.01.2012 Ende für die Optimierung gesetzt und per Script, nimmt er immer local time von meinen Servern hab in allen Instanzen, die gleichen Tickdaten mit gleichem Datum importiert, dass jede Plattform die gleiche Basis hat Also 15-20 Instanzen würde der Server (Blades reinhängen) noch packen, siehe hier: vor der Optimierung der 5 Instanzen: Bild 1alle 5 Instanzen Optimierung laufen: Bild 2
Mythos Posted January 31, 2012 Report Posted January 31, 2012 hab jetzt mal alle per 01.01.2011 Start und 01.01.2012 Ende für die Optimierung gesetzt und per Script, nimmt er immer local time von meinen Servern Respekt. Lass mich raten du hast TimeLocal() ersetzt? Oder is das Script richtig rocket science?
Mythos Posted January 31, 2012 Report Posted January 31, 2012 Sind die fxbook Accounts "live"? weil bei mir hat er um 10:45 ein Sell eröffnet...
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Respekt. Lass mich raten du hast TimeLocal() ersetzt? Oder is das Script richtig rocket science? Marke Eigenbau und noch in der Beta. Hab quasi ne kleine Liste wo alle MT4 Instanzen drin sind und einen sauberen Satz Backtesthistorien mit Datum und Volumen, per Knopfdruck werden die gleich auch auf alle neuen Instanzen gezogen, recht praktisch für Backtests. Für den Forwardtest sollten wir das Script aber anpassen für Localtime, damit alle zur ca. gleichen Zeit ordern
cxalgo Posted January 31, 2012 Author Report Posted January 31, 2012 Sind die fxbook Accounts "live"? weil bei mir hat er um 10:45 ein Sell eröffnet... sind alle life und gelinked, könnte sein, dass ich da grad das update eingespielt habe, jupp, hatte um 10:21 ca. angefangen und alle Instanzen unten
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now