Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted

Hallo erstmal.... ;)

 

Also da ich schon etwas länger am rumcoden eines eigenen Expert Advisors bin, sehr viel verworfen habe und jetzt wieder mit was Neuem angefangen habe, brauche ich jetzt mal euer Feedback.

 

Und zwar geht es lediglich darum, dass ich ein kleines Trendfolge-System aufsetzen möchte was vollautomatisch Swings im H1 traded (im längsten Fall werden auch mal Positionen über 2-3 Wochen gehalten). Zur Erkennung der Trends verwende ich eine MA-Kreuzung die dann über einen Oszillator nochmal validiert wird. Kein Nachkaufen - keine Extras. Also alles keine Rocket Science. ;)

 

Das "Problem":

Über ActivTrades kann ich Backtests im EUR/USD in H1 ab 01.01.2010 bis heute machen und erhalte (nach Optimierung) auf dem Papier rund 50 % Rendite und eine relativ konstante Equity-Kurve. Soweit so gut. Allerdings möchte ich dieses System noch auf weitere Majors ausweiten (gehandelt wird sowieso immer nur eine Position pro Kurs) und lasse dann ebenfalls die Optimierung durchlaufen. Naja, aber bei den meisten Währungen erhalte ich zum einen ein schlechteres Ergebnis und zum anderen auch eine gebrochene Equity-Kurve (d.h. z.B. von Anfang bis Mitte/Ende 2010 zuerstmal abwärts und erst dann wieder aufwärts).

 

Die Frage ist jetzt: Ist das System überoptimierter Mist und ich rechne mir das System nur schön oder fällt das alles in den Erwartungsrahmen eines Trendfolgesystems?

Wenn ihr backtestet, für eine wie lange Zeit muss ein System "rund laufen" damit ihr damit live handelt?

Posted

Du hast eigentlich nur eine Möglichkeit um dein System nicht zu Überoptimieren:

 

1. Du nimmst 3 verschiedene Zeiträume zum Optimieren, z.B. 4 beliebige Monate aus 2008, 2009 und 2010

- weichen deine Indikatoren incl. SL + TP nicht zu sehr ab -> einen Optimierung von 01.01.2008 - 30.06.2010 machen

- danach das beste Setting speichern und dann von 01.01.2008 - Mai 2011 backtesten, der Zeitraum vom 30.06.2010 bis

01.05.2011 ist dann interessant, weil die Zeitreihen kennt er dann ja nicht und wurde nicht darauf optimiert

und zeigt dir dann cirka an, wie es gelaufen wäre

 

Tip: bei den TP & SL Settings, setze beide Werte zum Backtest mind. 2 Pips schlechter, wenn es dann noch Profit bringt,

ohne zu heftige DrawDowns dann kannst du es auf Demo aufsetzen bzw. mit Minilots auf Life

  • Upvote 3
Posted

@ScalpingMan,

 

die Frage nach einem vernünftigen Testzeitraum ist wohl objektiv nicht zu beantworten - leider!

 

Deshalb gemäss dem Motto "viel hilft viel" versuche möglichst viele potentielle Szenarien abzubilden und diese dann gegen Dein System/Deinen EA zu testen.

 

Ich habe die grundsätzlichen Möglichkeiten, Deine Testdaten bzw. deren Mengengerüst zu erweitern mal in einem Paper auf meiner Website beschrieben:

http://www.zentrader.de/dataSimulation.pdf

 

Ich selbst tendiere zur Methode 4 in o.g. Dokument (habe diesbzgl. auch ein Buch, ein eBook sowie eine spezielle Software - den Zen Monte Carlo Simulator - geschrieben), andere Systemtrader bevorzugen eventuell andere Vorgehensweisen...

 

Du must leider selbst herausfinden, welche Methoden Dir mehr Sicherheit mit Deinem systematischen Ansatz geben.

 

ciao,

zentrader

  • Upvote 2
Posted

@ zentrader

 

stimme die da voll und ganz zu.

 

Leider gibt es meines Wissen sowas nicht für Metatrader. Bei Investox ist MonteCarlo, Random Walk Test etc. alles mit drin, deshalb teste ich oft auf beiden Systemen die gleiche Strategie

ist oft Haarsträubend welche Unterschiede da rauskommen.

Posted

Eine Optimierung/Backtest ist nur dazu geeignet, die Stabilität der umgesetzten Strategie zu beurteilen. Ein optimierter EA sagt ziemlich wenig über den tatsächlichen Erfolg aus. Die von cxalgo beschriebene Methode nennt sich Walk Forward und muss im MT4 manuell wie geschildert umgesetzt erden. Andere Plattformen (wie z.B. Multicharts) beherrschen den Walk Forward von Haus aus.

 

Ich vergleiche eine Optimierung gerne mit:

Du willst mit verbundenen Augen von einem Ort zum anderen. Du kannst den Weg jederzeit wiederholen - auch die Autos fahren genauso schnell und in gleichen Abständen. Durch Ausprobieren bekommst du den optimalen Weg heraus, ohne dich großartig zu verletzen.

Und nun die Preisfrage: kannst du mit diesem Wissen mit verbundenen Augen nun auch andere Wege gehen, ohne dich zu verletzen oder zu sterben?

  • Upvote 2
Posted

Ich traue dem Ding kein bisschen über den Weg.

 

Darf ich fragen wieso? In Metatrader 5 hast du quasi auch schon ne "Art" Forwadtest, aber eher rudimentär.

 

Wie sehen deine Erfahrungen im Detail mit AmiBroker aus?

 

Ich persönlich nutze noch Investox für Monte Carlo, Random Walk Test und Forwardtests.

Posted

Zu MT5 kann ich nichts sagen. Ich beziehe mich auf Mt4.

 

Als ich mal mit Metatrader backtestete, kamen immer unterschiedliche Ergebnisse heraus trotz selben Spreads und selber Daten. Modelling Qualtät war auch in Ordnung. Spielt auch keine Rolle … es ist von Grund auf anderen Programmen unterlegen. Warum sollte man, wenn man etwas ernsthaft machen will, auf MT4 zurückgreifen, wenn es nicht nur in der Ausstattung, Handhabung, Schnelligkeit sondern vor allem in der Zuverlässigkeit Besseres gibt? Selbst wenn MT4 ordentlich arbeiten würde, könnte ich aufgrund des schlechten Images von MT4 oder MT5

diesem nicht trauen. Diese Software hat für mich einfach einen faden Beigeschmack. Sorry.

 

Will aber hier keinen Flame War starten. ;) Ist halt nur meine Meinung. Wer damit zufrieden ist, no problem.

 

Das Wichtigste ist für mich jedenfalls, dass ich von der Software bei jedem selben Testdurchgang mit selben Parametern das selbe Ergebnis herausbekomme. Das ist bei z.B. Amibroker garantiert der Fall. Ein zweiter Vorteil, es ist dabei noch schnell wie die Sau, was ich von Metatrader auch nicht behaupten kann.

 

Wer damit zufrieden ist, no problem.

 

Würde bedeuten, dass ich mein "Hände weg von Metatrader" zurückziehen müßte. Ersetze es durch "Soll jeder seine eigenen Erfahrungen machen".

Posted

Zu MT5 kann ich nichts sagen. Ein zweiter Vorteil, es ist dabei noch schnell wie die Sau, was ich von Metatrader auch nicht behaupten kann.

 

Da geb ich dir recht für MT4 und nen Flame War möchte ich hier auch nicht fördern.

 

Nur so viel zu MT5: Da nutze ich für Optimierung und Backttests derzeit fast 100 Prozessoren (Xeon 64bit) von meinen Servern mit. Aber gegen richtig professionelle Tools wie Investox oder wie du sagst AmiBroker, kommt eine kostenlose Plattform nicht mit, Analysetechnisch auf keinen Fall. Allein Investox mit Neuronalen Netzen etc. ist undenkbar, aber den Anspruch habe ich an Metatrader nicht.

 

Für Scalper-EA´s einfach mal den TP & SL 2 Punkte erhöhen bzw. für SL verringern, hast du ca. die Performance von deinem z.B. Alpari normal User Account. :nutcracker:, wenn dann ein EA auch noch funktioniert dann kann man diesen auch testen.

Posted
Es herrscht hier wohl Einigkeit darüber, dass man den MT(4) zum Generieren von Systemen auf Tickbasis nicht wirklich gebrauchen kann. Er kann einfach keine Tickdaten verarbeiten. Für Systeme, die auf Candle-Close arbeiten, ist er sicherlich eine brauchbare Alternative (gute Datenbasis vorausgesetzt). Forwardtests muss man dann natürlich selber durchführen. Letztendlich sollte man aber - unabhängig von der Software - verstehen, was man da baut. Und ich denke, da hapert es bei den meisten...
  • Upvote 1
Posted

So, also zuerstmal vielen Dank für die Antworten hier! Damit kann man ja auf jeden Fall etwas anfangen.

Ich werde auf jeden Fall die Methode mit den verschiedenen Zeitabschnitten, wie von cxalgo beschrieben, austesten und dann mal weiterschauen. Mit dem MT(4) habe ich an sich aber weniger Probleme und mit der Datenkonsistenz eigentlich auch nicht (wird bei diesem System sowieso immer der Open-Price genommen...).

Posted

Optimierung von Systemen ist ein sehr sensibles Thema. Einerseits notwendig und auch empfehlenswert, andererseits kann man ein System leicht überoptimieren "curve fitting".

 

1) Benutze einen kleine Datenmenge (1-1.5 Jahre) zum optimieren.

2) Verwende Daten von 10 oder mehr Jahren zum testen.

3) Verwende am besten Tickdaten zum testen.

 

Tickdaten gibt es kostenlos bei Dukascopy. Qualität is ok aber nicht perfekt. Besser sind die Tickdaten von Disktrading. Kosten auch nicht wirklich viel und Updates sind kostenfrei.

 

Es herrscht hier wohl Einigkeit darüber, dass man den MT(4) zum Generieren von Systemen auf Tickbasis nicht wirklich gebrauchen kann. Er kann einfach keine Tickdaten verarbeiten. Für Systeme, die auf Candle-Close arbeiten, ist er sicherlich eine brauchbare Alternative (gute Datenbasis vorausgesetzt). Forwardtests muss man dann natürlich selber durchführen. Letztendlich sollte man aber - unabhängig von der Software - verstehen, was man da baut. Und ich denke, da hapert es bei den meisten...

 

Tickdaten können sehr wohl verarbeitet werden. Allerdings nur mit einigem Aufwand. Systeme die auch Ticks basieren sind allerdings sehr sensibel und es ist oft schwierig Tickdaten vom Broker zu bekommen. Besser: "Close" oder "Open" Preis.

Posted

Tickdaten können sehr wohl verarbeitet werden. Allerdings nur mit einigem Aufwand. Systeme die auch Ticks basieren sind allerdings sehr sensibel und es ist oft schwierig Tickdaten vom Broker zu bekommen. Besser: "Close" oder "Open" Preis.

Das ist eben falsch - der MT4 kann keine Tickdaten verwenden. Die kann man ja auch nicht importieren. Gibt es hier auch einen extra Thread zu, wo aufgezeigt wird, wie der Metatrader Tickdaten generiert. Deswegen traue ich auch keinem System, welches auf Tick optimiert wurde (und dann als Hyper-EA verkauft werden soll).

Posted (edited)

Das ist eben falsch - der MT4 kann keine Tickdaten verwenden. Die kann man ja auch nicht importieren. Gibt es hier auch einen extra Thread zu, wo aufgezeigt wird, wie der Metatrader Tickdaten generiert. Deswegen traue ich auch keinem System, welches auf Tick optimiert wurde (und dann als Hyper-EA verkauft werden soll).

 

 

 

Guckst du hier: http://fxtickdata.com/metatrader-data.aspx :)

Edited by forexeas
Posted

Genau - und was steht da? Note: Metatrader does not routinely, or easily allow you to import tick data, therefore, we will use a 15 minute compression forex data set in this example.

 

Der Metatrader kann eben NICHT mit Tickdaten umgehen. Man muss die Daten erst auf einen Timeframe komprimieren - die Ticks sind dann aber weg und der MT4 generiert dann seine eigenen. Ich habe das alles schon selber gemacht mit dem Importieren von Tickdaten - auch ohne das Tool von denen :wink:.

Posted

Der Metatrader kann eben NICHT mit Tickdaten umgehen. Man muss die Daten erst auf einen Timeframe komprimieren - die Ticks sind dann aber weg und der MT4 generiert dann seine eigenen. Ich habe das alles schon selber gemacht mit dem Importieren von Tickdaten - auch ohne das Tool von denen :wink:.

Hast du DAS gelesen?

Posted

Hast du DAS gelesen?

Jetzt schon - vielen Dank :wink:. Das ist doch mal eine vernünftige Beschreibung, wie man den MT4 austricksen kann :doubleup:.

Die von forexeas genannte Methode macht aber eben das mit den fxt-files nicht. Halten wir also fest: der MT4 kann an sich keine Tickdaten verarbeiten (import/export), man kann ihn aber mit ein wenig "externer Gewalt" überlisten :conglom-o:.

Posted

Die von forexeas genannte Methode macht aber eben das mit den fxt-files nicht.

...und vorallem ist mir eine Seite ohne Impressum sowieso außerst suspekt :negative:

Posted

...und vorallem ist mir eine Seite ohne Impressum sowieso äußerst suspekt :negative:

 

Und mir der Kerl, der die Seite empfohlen hat ... :angry:

 

Wie schnell man doch perfekt Deutsch lernen kann mit der richtigen Software ... schon bemerkenswert ...

Posted

Zwischenstand:

Alles Rotzdreck... ;)

 

Im Detail:

Ich bekam es trotz einiger ausgiebiger Optimierungsdurchläufe und Änderungen am EA nicht hin, ein System zu bauen, welches a) über 1-2 Jahre konstant Gewinn abwirft und b) welches in verschiedenen, kürzeren Zeitabschnitten (wie weiter oben beschrieben) mit den gleich Parametern halbwegs positive Ergebnisse liefert. Bei einer Optimierung der entsprechenden Zeitabschnitte entfernen sich die Parameter meistens stark voneinander.

 

Grundsätzlich...

...stellt sich mir die Frage, ob ein Handelssystem, welches auf Indikatoren wie SMA, EMA, CCI, MACD, etc. bzw. auf einer Kombination von verschiedenen Oszillatoren beruht überhaupt mit einem festen(!) Parametersatz über "längere Zeit" funktionieren kann?! Der Markt verändert sich wohl ständig - die Parameter für den EMA-Cross, der über Macd oder CCI bestätigt wird, funktionieren vielleicht jetzt aber wenn ich mir im Vergleich dazu die Ergebnisse aus dem vergangenen Frühjahr ansehe komme ich da z.B. allenfalls Breakeven aus dem Trading heraus...

 

Aktuell bastle ich an einem Parabolic Sar EA im M15 den ich via ADX filtere um die Marktphasen mit wenig Bewegung herauszufiltern. Mit teilweise tollem Ergebniss auf die Zeitspanne von 6 Monaten gesehen. Darüber hinaus bestimme ich die grundsätzliche Marktbewegung mit einem relativ großen MA und lasse den EA nur in Marktrichtung traden. Ergebnisse werden besser, DrawDown geringer - aber zu anderen Zeiten (vor 2 Jahren z.B.) geht das trotzdem schief.

Jetzt kam mir die Idee, möglichst viele Parameter in Abhängigkeit der allgemeinen Marktbewegung zu definieren. Z.B. die Schrittweite vom PSAR über den aktuellen ADX Wert festzusetzen.

Hat jemand in der Richtung schon was gemacht? Ich verspreche mir davon (so es denn funktionieren wird) ein dynamisches, quasi selbstoptimierendes, System zu erhalten. (Und natürlich den Markt zu besiegen, Billionär zu werden,... :) )

Posted

Zwischenstand:

Alles Rotzdreck... ;)

 

(Und natürlich den Markt zu besiegen, Billionär zu werden,... :) )

 

Ich hab dir mal aus meinem Buch ein EA angehängt. Basiert auf langsamer Stochastik, MA & ADX mit Set-File für EURUSD auf M15, vielleicht interessant für dich.

 

Das Diagramm hab ich jetzt auch noch gefunden wie ich es quasi geplant hatte!!

StrategyTester.gif

Buch_Expert_slowSto_MA_ADX_EURUSD_M15.zip

Diagramm.png

  • Upvote 3
Posted

Das Diagramm hab ich jetzt auch noch gefunden wie ich es quasi geplant hatte!!

Soll das auf der rechten Seite tatsächlich "Long Short" und nicht etwa "Short Trend" heißen?

 

Edit: hehe - nun hast Du die Grafik ausgetauscht. Dafür steht nun oben 2x "Enter Long" obwohl es rechts wohl eher "Enter Short" sein müsste :wink:.

Edit2: Files im Anhang gefunden.

  • Upvote 1
Posted

Soll das auf der rechten Seite tatsächlich "Long Short" und nicht etwa "Short Trend" heißen?

Equity sieht ja soweit gut aus - kannst Du mal den Report dazu posten und schreiben ob es Backtest oder Out-of-Sample ist?

 

 

Stimmt, rechts sollte Short heissen, ist wie gesagt noch im Rohskript :cleanglasses:

 

Backtest ist im Zip-File mit drin, ist aber noch nicht mit Investox für Random Walk und Monte Carlo gelaufen, quasi alles nur Rohdaten

 

Edit 1: Hier die Logik als Text

 

 

Langsame Stochastik & MA & ADX

 

Zeitfenster und Währung:

- 15 Minuten und höher

- Alle Währungen

 

Indikatoren:

- 21 EMA, rot

- 50 EMA, grün

- ADX (14) mit DI+ und DI-

- Stochastik (14,5,3) mit den Level (20,80)

 

Long Einstieg:

- EMA 21 > EMA 50, Stochastik kreuzt die 20er Linie nach oben &

- ADX (14) > 25

 

 

 

Short Einstieg:

- EMA 21

- ADX (14) > 25

 

 

 

Exit:

- Trailing Stop,

- Agressives Profit Target,

- Stop Loss: 5 pips unter/über den vorherigen Hoch/Tief

  • Upvote 1
Posted

Tip: bei den TP & SL Settings, setze beide Werte zum Backtest mind. 2 Pips schlechter, wenn es dann noch Profit bringt,

ohne zu heftige DrawDowns dann kannst du es auf Demo aufsetzen bzw. mit Minilots auf Life

Habsch gerade mal gemacht, also versucht Slippage zu simulieren. Irgendwas stimmt da aber nicht ganz: bei xPips Slippage sinkt der DD zb von 30% auf 22%.

Kann ja eigentlich nicht sein. Die Tradeanzahl ist aber grösser mit Slippage, das wird der Grund sein.

Habs im Code zb für Long so gemacht:

ExitPrice = EntryPrice + (TAR1L * StepSize_L * ticksize) - (SLIP_PIPS * ticksize);

Das Endergebnis geht allerdings mit Slippage runter, das paßt dann schon.

Aber so 100% kann man die Slippage dann doch nicht simulieren, weil man nicht nur den TP verändert, leider. :cleanglasses:

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...