Henrik Posted March 13, 2009 Report Posted March 13, 2009 (edited) Hallo! Ich stelle hier mal einen EA vor, über den ich durch Zufall gestolpert bin. Er nennt sich AIS1 und ist von Ais. Im Backtest bei 90 % macht er gute Ergebnisse:Daten: Alpari, Zeitraum: 02.01.2008 bis 12.03.2009 Bei 1000 €http://img142.imageshack.us/img142/6641/ais11000eur.th.gif bei 3000 €http://img142.imageshack.us/img142/448/ais13000eur.th.gif bei 10.000 €http://img142.imageshack.us/img142/8849/ais110000eur.th.gif bei 100.000 €http://img142.imageshack.us/img142/6164/ais1100000eur.th.gif Im Anhang habe ich die entsprechenden Berichte als htms gespeichert. Das Ding hat auf jeden Fall MM drinne. Auch muss eine gewisse Midnestkapitalgröße vorhanden sein. Einstellen kann man den nur über den Editor, nicht über die Einstellungen direkt aus der EA-Funktion.Auf welchem Chart man den laufen lässt, ist egal, er rechnet immer mit 1M (bestätigt durch die backtests) Ich will den zukünftig mal auf einem Demokonto laufen lassen, unter activtrades. Leider bin ich noch nicht dahintergestiegen, wo genau man die Einstellungen vornehmen muss bzw. welche was verändert (zB würde ich gerne minimale Lotgröße auf 0.01 setzten, das Ding geht scheinbar erst bei 0.1 los). Man benötigt hierfür einen Indikator:http://codebase.mql4.com/5337 und den EA:http://codebase.mql4.com/5260 Da sind auch englische Anleitungen mit bei. Leider ist mein Englisch nicht umwerfend, ich werde mich da mal reinfummeln. Kennt jemand von euch den EA? GrüßeHenrikAIS1_gesammelt.zip Edited March 13, 2009 by Henrik
Ecart Posted March 13, 2009 Report Posted March 13, 2009 Leider bin ich noch nicht dahintergestiegen, wo genau man die Einstellungen vornehmen muss bzw. welche was verändert Ja, ich stelle gerade fest, dass der 'Reiter' Input fehlt. Beispiel: Es könnte sein, dass dieser EA nur mit dem AIS1-Indikator arbeitet und von 'dort' seine Input-Werte erhält??? ... hier gibts (junge) Freak's die lösen das bestimmt... PS: Freak's [Der Begriff wird im Deutschen heute meist anerkennend,...]
Henrik Posted March 13, 2009 Author Report Posted March 13, 2009 Das Input muss man glaube ich in Metaeditor eintragen, in der englischen Anleituing steht etwas von "in Zeile 7...das und das..."dann neu kompilieren, und dann weiter laufen lassen. Ja, der brauch den AIS1-Indikator dazu. Der Link steht auch im 1. Beitrag.Sorry, habe ich mich bei der Vorstellung des EAs wohl undeutlich ausgedrückt
Henrik Posted March 13, 2009 Author Report Posted March 13, 2009 mit EA oder mit dem Indikator? der Indikator sieht bei mir auch so aus, nur ohne unten rechts der Zahlenblock mit den Pfeilen. der EA zeigt bei mir nur ein Smilie oben rechts, sonst bleibt der Chart nackt - stimmt da was bei mir nicht? es kommt beim timeframewechsel auch immer "reload code 3, stop code 3" => hab ich was falsch gemacht? wie bist du bei der inbetriebnahme vorgegangen?
Ecart Posted March 13, 2009 Report Posted March 13, 2009 Unten rechts ist ein zusätzlicher Indikator, den nutze ich immer..._MarketPrice__v1_4.mq4 Jetzt ist auch nichts mehr im "Markt" los, wegen Wochenende... Habe einfach ein EURUSD Chart geöffnet, dann Indikator rein, dann EA rein, EA aktiviert und los... Mach mal ein Screenshot... ich mache das mit http://www.info.hardcopy.de
Krümel Posted March 13, 2009 Report Posted March 13, 2009 Ja, ich stelle gerade fest, dass der 'Reiter' Input fehlt.Der fehlt, weil keine einzige Variable mit "extern" gekennzeichnet ist. Mindest vor einer muss "extern" stehen, damit dieser Reiter überhaupt angezeigt wird. Schreibst Du bei den Variablen, die Du per Input-Dialog von außen ändern willst, dieses Zauberwort davor, sieht das so aus
Ecart Posted March 13, 2009 Report Posted March 13, 2009 und die stillen Mitleser lernen auch (noch) was... danke, und erholsames Wochenende ...
Krümel Posted March 13, 2009 Report Posted March 13, 2009 So, ich hab mal nen Backtest laufen lassen M1, EURUSD, Alpari UK mit den voreingestellten Werten. Zeitraum: 2.1.08 - 12.3.09 Die Kurve sieht schon mal recht gut aus. Die Ergebnisse vom 2.1.05- 12.3.2008 sehen nicht ganz so doll aus. Hier müsste man mal nachforschen, was der EA tatsächlich macht, um rauszukriegen, wann man ihn besser vom Netz nimmt. Startkapital ist immer 10k.
Krümel Posted March 13, 2009 Report Posted March 13, 2009 Leider bin ich noch nicht dahintergestiegen, wo genau man die Einstellungen vornehmen muss bzw. welche was verändert (zB würde ich gerne minimale Lotgröße auf 0.01 setzten, das Ding geht scheinbar erst bei 0.1 los). Wenn der Broker das nicht zulässt, wirst Du da wenig Glück haben. double ald.MinimumLots = MarketInfo ( acs.Symbol , MODE_MINLOT ) ; // http://docs.mql4.com/constants/marketinfo Im folgenden wird die Positionsgröße berechnet und per Variable ald.Size der Funktion OrderSend übergeben. //< 7.7.3. Operation Size Control > //<202> if ( ald.SizeLimit >= ald.MinimumLots ) //<203> int ali.Steps = MathFloor ( ( ald.SizeLimit - ald.MinimumLots ) //<204> / ald.LotStep ) ; //<205> else return ; //<206> //<207> double ald.Size = ald.MinimumLots + ald.LotStep * ali.Steps ; //<208> //<209> if ( ald.Size > ald.MaximumLots ) //<210> ald.Size = ald.MaximumLots ; //<211> //<212> if ( AccountFreeMarginCheck ( acs.Symbol , ali.Command , ald.Size ) <= 0 //<213> || GetLastError () == 134 ) return ; //<214> //<215> //</7.7.3. Operation Size Control > //<216> //<217> //< 7.7.4. Order Send > //<218> [b] OrderSend ( acs.Symbol , ali.Command , ald.Size , ald.Price , 0 , //<219> ald.Stop , ald.Take , "" , aci.OrderID , 0 , 0 ) ;[/b] //<220>
Henrik Posted March 13, 2009 Author Report Posted March 13, 2009 Danke für die Aufklärung. Activtrades lässt 0.01 Lots zu, das backtesten mach ich aber mit Alpari - wer weiß? Stimmt, das mit den Trades übern längeren Zeitraum ist merkwürdig. Ich werde den mal auf dem Demokonto laufen lassen (sobald ich meinen vServer habe)
Krümel Posted March 13, 2009 Report Posted March 13, 2009 Auf welchem Chart man den laufen lässt, ist egal, er rechnet immer mit 1M (bestätigt durch die backtests)Hmm, nee, ich glaub, den "Timeframe" kann man steuern über die Werte aci.Index.1 und aci.Index.2. Als Basis dient dann immer der M1. #define aci.Index.1 7 //#define aci.Index.2 6 //int aci.Timeframe [] = { 0 , 1 , 5 , 15 , 30 , 60 , 240 , 1440 , 10080 , 43200 } ; // Hier werden als Perioden 240 und 1440 benutzt (Minuten, nehm ich mal an). Über die Indizes aci.Index.1 und aci.Index.2 wird später auf die Werte in aci.Timeframe zugegriffen. Für kleinere Timeframes (hab das mal nur kurz laufen lassen), sah das weniger nett aus. Aber als Strategie ist ja auch "A System: EURUSD Daily Metrics" angegeben.
Henrik Posted March 13, 2009 Author Report Posted March 13, 2009 Mh, ich habe das dem entnommen: 9. AIS1 Trading Robot works on any timeframe chart because it has direct access to timeframe data. http://codebase.mql4.com/5260 da ganz unten, die nr. 9
Krümel Posted March 14, 2009 Report Posted March 14, 2009 Mh, ich habe das dem entnommen: http://codebase.mql4.com/5260 da ganz unten, die nr. 9 Im Prinzip kannst Du - so würde ich das nach kurzem Drüberblicken interpretieren - auf jeden Chart ziehen, er wird dennoch immer auf EURUSD arbeiten (da es im Code festgetackert ist, s. acs.Symbol) und auf den Bid/Ask-Kursen arbeitet. //< 97> int ali.Period.1 = aci.Timeframe [ aci.Index.1 ] ; //< 98> int ali.Period.2 = aci.Timeframe [ aci.Index.2 ] ; //< 99> //<100> double ald.Low.1 = iLow ( acs.Symbol , ali.Period.1 , 1 ) ; //<101> double ald.High.1 = iHigh ( acs.Symbol , ali.Period.1 , 1 ) ; //<102> double ald.Close.1 = iClose ( acs.Symbol , ali.Period.1 , 1 ) ; //<103> //<104> double ald.Low.2 = iLow ( acs.Symbol , ali.Period.2 , 1 ) ; //<105> double ald.High.2 = iHigh ( acs.Symbol , ali.Period.2 , 1 ) ; //<106> double ald.Close.2 = iClose ( acs.Symbol , ali.Period.2 , 1 ) ; //<107> //<108> double ald.Average.1 = ( ald.High.1 + ald.Low.1 ) / 2 ; //<109> //<164> if ( ald.Close.1 > ald.Average.1 ) //<165> if ( ald.QuoteAsk > ald.High.1 ) //<166> { ali.Command = OP_BUY ; //<167> ald.Price = ald.QuoteAsk ; //<168> ald.Stop = NormalizeDouble ( ald.High.1 - ald.QuoteStop , ald.Digits ) ; //<169> ald.Take = NormalizeDouble ( ald.QuoteAsk + ald.QuoteTake , ald.Digits ) ; //<170> ald.Risk = ald.Price - ald.Stop ; } //<171> //<172> if ( ald.Close.1 < ald.Average.1 ) //<173> if ( ald.QuoteBid < ald.Low.1 ) //<174> { ali.Command = OP_SELL ; //<175> ald.Price = ald.QuoteBid ; //<176> ald.Stop = NormalizeDouble ( ald.Low.1 + ald.QuoteStop , ald.Digits ) ; //<177> ald.Take = NormalizeDouble ( ald.QuoteBid - ald.QuoteTake , ald.Digits ) ; //<178> ald.Risk = ald.Stop - ald.Price // Sieht für mich nach nem Breakoutsystem aus auf nem größeren Timeframe aus, wo rasch der Trailingstop (auf Basis des untergeordneten TF bestimmt) nachgezogen wird.
Mythos Posted March 14, 2009 Report Posted March 14, 2009 Hey Leute, klingt nach nem spannenden EA, hab ihn mir aber gerade erst runtergeladen und hab leider gerade nicht die Zeit ihn genauer durchzugehen, dennoch ist mir eine Idee zum Thema "was er tut" etc. in den Sinn gekommen: Was haltet ihr davon, wenn wir den EA gemeinsam öffentlich "analysieren"? Da er OpenSource ist, gibts sicher keine Copyrightverletzungen oder? Und ich denke es lesen hier viele (inzwischen ja fast schon tausende ;) User mit, die sich über sowas freuen. Und für Jörg wär es ein schöner Anlass seine Programmierkenntnisse zu vertiefen ;) Wer ist dabei?
Krümel Posted March 14, 2009 Report Posted March 14, 2009 Hey Leute, klingt nach nem spannenden EA, hab ihn mir aber gerade erst runtergeladen und hab leider gerade nicht die Zeit ihn genauer durchzugehen, dennoch ist mir eine Idee zum Thema "was er tut" etc. in den Sinn gekommen: Was haltet ihr davon, wenn wir den EA gemeinsam öffentlich "analysieren"? Da er OpenSource ist, gibts sicher keine Copyrightverletzungen oder? Und ich denke es lesen hier viele (inzwischen ja fast schon tausende ;) User mit, die sich über sowas freuen. Und für Jörg wär es ein schöner Anlass seine Programmierkenntnisse zu vertiefen ;) Wer ist dabei?Spannend ist er allemal, allerdings weicht die Programmierung doch stark von dem "herkömmlichen" EA-Aufbau ab, wobei ich sie sehr gelungen finde (nicht nur das Ergebnis). Ist halt ein anderer Weg nach Rom.
whipsaw Posted March 14, 2009 Report Posted March 14, 2009 Was haltet ihr davon, wenn wir den EA gemeinsam öffentlich "analysieren"? Da er OpenSource ist, gibts sicher keine Copyrightverletzungen oder? Und ich denke es lesen hier viele (inzwischen ja fast schon tausende ;) User mit, die sich über sowas freuen. Und für Jörg wär es ein schöner Anlass seine Programmierkenntnisse zu vertiefen ;) Wer ist dabei? Nachdem Krümel die Keule im Sack gelassen hat, kann ich mich ja hinterm Busch hervortrauen und bekannt geben, dass ich diese Idee toll finde.Wobei sich das "Programmierkenntnisse zu vertiefen" nicht an einer Einzelperson orientieren müsste. Vieles von dem, was wir heute machen, wird Tradern, Systemeentwicklern, Programmieren später mal helfen, sich schneller in die Materie einzuarbeiten. Ein Großteil sehe ich als Missionarsarbeit, um für Produkte und Lösungen einen Weg zu bereiten.
infojoerg Posted March 14, 2009 Report Posted March 14, 2009 Hey Leute, klingt nach nem spannenden EA, hab ihn mir aber gerade erst runtergeladen und hab leider gerade nicht die Zeit ihn genauer durchzugehen, dennoch ist mir eine Idee zum Thema "was er tut" etc. in den Sinn gekommen: Was haltet ihr davon, wenn wir den EA gemeinsam öffentlich "analysieren"? Da er OpenSource ist, gibts sicher keine Copyrightverletzungen oder? Und ich denke es lesen hier viele (inzwischen ja fast schon tausende ;) User mit, die sich über sowas freuen. Und für Jörg wär es ein schöner Anlass seine Programmierkenntnisse zu vertiefen ;) Wer ist dabei? Gutes Stichwort, finde ich eine Klasse Idee. In diesem Zusammenhang kann man das ganze dann auch wirklich gut verstehen und so hinprogrammieren wie man möchte z.B. mit den Variablen. Sieht so aus als könnte man da auch "leichte" Verbesserungen mit einbauen oder? Gruss Jörg
Krümel Posted March 14, 2009 Report Posted March 14, 2009 Nachdem Krümel die Keule im Sack gelassen hat, kann ich mich ja hinterm Busch hervortrauen und bekannt geben, dass ich diese Idee toll finde.Ja, klar, super, Chef, peitsche mich hier noch nachträglich öffentlich dafür aus, dass ich Tom-Next den A... gerettet habe ! Wenn Du so weitermachst, bau ich meine Wuthöhle zu einem hübschen Bungalow aus und widme mein Leben der Malerei.
Henrik Posted March 14, 2009 Author Report Posted March 14, 2009 (edited) Ich werde mal das EURUSD in Zeile 16 durch andere Währungspaare ersetzen und mal schauen, was herauskommt. Der EA ist auf jeden Fall sehr stark an das letzte Jahr angepasst. Die Jahre davor (auch einzeln betrachtet), liefern schlechte Ergebnisse. Ändert man jedoch die relevanten Einstellungen (danke an dieser Stelle an Krümel für den INPUT-Befehl) - kommt man in den Jahren davor durchaus auf respektable Ergebnisse (dann aber im letzten nicht mehr...) edit:das, was ich bisher an anderen (Haupt-)Währungspaaren probiert habe, bringt uns nicht weiter. Ganz mies alles. Edited March 14, 2009 by Henrik
Krümel Posted March 14, 2009 Report Posted March 14, 2009 Der EA ist auf jeden Fall sehr stark an das letzte Jahr angepasst. Die Jahre davor (auch einzeln betrachtet), liefern schlechte Ergebnisse. Ändert man jedoch die relevanten Einstellungen (danke an dieser Stelle an Krümel für den INPUT-Befehl) - kommt man in den Jahren davor durchaus auf respektable Ergebnisse (dann aber im letzten nicht mehr...) edit:das, was ich bisher an anderen (Haupt-)Währungspaaren probiert habe, bringt uns nicht weiter. Ganz mies alles.Tscha, das war leider auch zu erwarten. Mir ist bislang kein EA untergekommen, der durchgängig super lief.
bullseye Posted March 14, 2009 Report Posted March 14, 2009 Mir ist bislang kein EA untergekommen, der durchgängig super lief. Und ich dachte bislang immer, es läge nur an mir. @Krümel -
infojoerg Posted March 15, 2009 Report Posted March 15, 2009 Ich habe mir das ganze mal runtergeladen und in die entsprechende Verzeichnisse kopiert. Den EURUSD - Chart aufgemacht, den Indikator draufgelegt und Zeit M1 eingestellt. Allerdings bekomme ich folgende Fehlermeldung:AIS102 Trading Robot: Reload code 5 Der Smilie lächelt aber Weiß jemand wie ich das mit der Fehlermeldung wegbekomme? Noch etwas: - Wo stelle ich die Lotgröße ein?- Muss ich irgendwo die Uhrzeit meines Brokers zur GMT einstellen?- Gibt es die Möglichkeit die Uhrzeit des Handelns zu beschränken zum Beispiel nur von 17.00 Uhr - 20.00 Uhr oder ähnliches? GrussJörg
Henrik Posted March 15, 2009 Author Report Posted March 15, 2009 Soweit ich das überblicken und der Anleitung entnehmen kann,kann man die Lotgröße nicht einstellen, nur die in der Anleitung beschriebenen Risikodaten. Die Fehlermeldung habe ich auch, nur mit Reload Code 5 - keine Ahnung. Ich konnte in der Anleitung und im Metaeditor nichts dazu herauslesen. Ich glaube, es ist egal, welche Zeit/Chart, da das Teil anscheinend intern so oder so auf EURUSD geht, mit der Serverzeit (wo wird der Befehl "timelocal" ausgelesen? Server oder örtlicher Rechner?) und das Ding dann mit allen Zeitframes rechnet. Eine Beschränkung der Handelszeiten kann man nicht einstellen. Ich hab auch den Smilie im Demoacccount und lass den einfach mal laufen. Die letzten 2 Handelstage ist noch nichts passiert (trotz Smilie und trotz Reload 5). Aber aus dem Backtest ergibt sich ja auch, dass durchaus nicht täglich gehandelt wird.
Mythos Posted March 16, 2009 Report Posted March 16, 2009 Also starten wir mal den Zerpflückungsvorgang oder?Ich denke wir beschränken uns auf das posten von kniffligen Codeschnippseln und bearbeiten den Rest per Ref auf die Zeilennummer, schließlich kann sich jeder die Kopie runterladen, und sonst wird das ein Ansammeln von (teils sicher unnötigen) Codeschnipseln. Wieder ein Frage-Antwort-Spiel wie schon mal gesehen? @alle die kein "Coder" als zweiten Vornamen haben ;) :Zeile 1- 44: was passiert hier im wesentlichen?Bzw. Gibts zu dem Abschnitt Fragen, Kommentare? Man sieht im Bereich Input (26-34) aufgrund der "sinnlosen" Einrückung schön das hier mal überall ein "extern" davor stand, wodurch die Bezeichnung "Input" dann wieder sinn macht ;)
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now