Donnerstag, 18. April 2024, 10:03 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

41

Freitag, 2. November 2007, 11:07

Hallo,

kannst Du eine Grafik der Kennzahlen hochladen? Einer KK und verschlüsselten Formeln kann man leider nur mäßig Informationen über das System entlocken und sich demnach kaum eine Meinung bilden. Mich irritiert in erster Linie der Gewinn (200.000€) in 5 Jahren mit einem Kontrakt bei so gut wie keinem einzigen nennenswerten Drawdown. Das könnte unterschiedliche Ursachen haben. Wie sind die Zeiträume,Lern- und Testzeitraum aufgeteilt und sind die Zeiträume des HS mit denen des NN synchron?
Happy Trading

olli

unregistriert

42

Freitag, 2. November 2007, 11:30

hi udo.
die kennzahlen sind ausserordentlich gut.
nur die student signifikanz ist niedig.
das system läuft gerade im test, ich
kann das heute abend mal posten.
heute hat es zwei signale korrekt geliefert.

die HS sind mit mit der gleichen komp eingestellt wie
die netze. die trainings- und optizeiträume sind auch
in etwa deckungsgleich. der KoZR beginnt ende september
2006. ich habe das system noch mit einem separaten netz
für long positionen versehen, damit etwas mehr trades
generiert werden und alles aus dem gleichen grund auf 15m gesetzt;
also: die komps sind gleich, die zeiträume auch (paar tage unterschied
kann ja nichts grosses ausmachen), alles läuft mit delay 1.
die kennzahlen des netzes sind 85% trefferquote im KoZR,
0.5 korrel, 0.6 t-test, 0.5 radom walk. da ich keinen vergleich
habe, weiss ich nicht, ob und wie gut das ist...

die indis sind fehlerfrei, die habe ich schon in anderen HS
ohne probleme verwendet.

olli

unregistriert

43

Dienstag, 20. Mai 2008, 09:40

unvollendete perioden

hallo zusammen,

ich habe eine neue fehlerquelle bei nicht zeitbasierten systemen ausgemacht.
im falle von tick/range/renko basierten systemen hängt die bildung neuer bars
ja bekanntlich von der aktivität im markt ab.
wenn man nun die option "einstieg in letzte periode zulassen" in den testbedingungen NICHT
abhakt, führt das zu zukunftssicht, denn das system kann ja hier im gegensatz zu zeitbasierten charts
und HS zum zeitpunkt des entrys noch nicht wissen, ob die periode die letzte des tages sein wird.
das hängt von der weiteren aktivität des tages ab.
somit ist das ergebnis klar: entries werden nur berechnet, wenn weiterhin eine bewegung stattgefunden
hat, sonst verschwindet der trade am ende des tages wieder. dieser effekt ist besonders gross bei grossen
komps. also: option immer abhaken, sonst erlebt man unangenehme überraschungen.

upgap

unregistriert

44

Sonntag, 14. September 2008, 15:51

Hallo,

Eine kurze Anmerkung:

Nachteil von Tickdaten für "realistischen" BT: Extremer/hoher Rechenaufwand.
Vorteil: Intraday Stops etc. können korrekt berechnet werden.
Nachteil von komprimierten Daten: Intraday Stops etc. können nicht korrekt berechnet werden.
Vorteil: hohe (relative) Performance.

Lösungsvorschlag: Einmalig beim Komprimieren der Tickdaten die OHLC Daten annotieren/anreichern. HL mit Zeitstempeln verstehen bzw der Info was zuerst kam.
Dann beim BTen berücksichtigen.
Damit hätte man beide Vorteile vereint.
(Klar braucht man Tickdaten, aber nur einmalig beim Konvertieren/Komprimieren)

Der Aufwand wäre mMn halbwegs überschaubar.

Sowas würd ich mir jedenfalls wünschen :)

mfg, upgap

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

45

Montag, 15. September 2008, 01:17

Hilft Dir evtl. die Funktion Tickorder() weiter?
Eigentlich sollte die genau das von Dir gewünschte Ergebnis liefern.

Zitat

Tick-Reihenfolge ermitteln
Ermittelt, ob in einer Periode zuerst ein High- oder ein Low-Limit aufgetreten ist.
Die Funktion „TickOrder“ berechnet die Reihenfolge von High-/Low-Limits auf Tickbasis. Es kann damit festgestellt werden, ob sich die Kurse in einer Periode zuerst auf ein High- oder auf ein Low-Limithin bewegt haben. Der Indikator kann damit als Triggerfür ein Limitsystem eingesetzt werden.
Hinweis: Die Auswertung kann nur bei RTT-Titeln auf Tickbasis erfolgen. Die Berechnung kann bei längeren Datenhistorien auf der Basis einer großen Tickanzahl längere Zeit dauern.
Der Indikator liefert die folgenden Werte:
+1 Das High-Limit wurde zuerst erreicht
-1 Das Low-Limit wurde zuerst erreicht
0 Keines der beiden Limits wurde erreicht

Schreibweise
TickOrder(HighLimit, LowLimit)

1. Beispiel

TickOrder(High, Low)

Liefert den Wert 1, wenn in der Periode zuerst das High erreicht wurde, und -1, wenn zuerst das Low erreicht wurde oder 0, wenn weder noch erreicht wurde.

2. Beispiel

TickOrder(Ref(High,-1), Ref(Low, -1))

Hier wird berechnet, ob in der aktuellen Periode zuerst das High oder das Low der Vorperiode erreicht wurde. Wird keines der beiden Limits erreicht (in diesem Fall also ein „InsideBar“), ist das Ergebnis für die Periode der Wert 0.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

46

Sonntag, 21. September 2008, 17:46

Hallo upgap,

hat der Tipp geholfen ?
If you think it´s expensive to hire a professional, wait until you hire an amateur.

vtec

unregistriert

47

Freitag, 26. Juni 2009, 23:19

Auf Tickbasis testen

Hallo,

also wenn ich das richtig verstanden habe, dann ist es nicht möglich, z.B. auf einem 15-Minuten-Chart auf Tickbasis backzutesten? Falls das stimmt, dann wäre das ziemlich beschämend für IV, denn das kann sogar der MetaTrader und der kostet nichts. Meiner bescheidenen Meinung nach sollte das "Feature" (für ein so wissenschaftlich und korrekt ausgerichtetes Tool sollte das eigentlich eine Selbverständlichkeit sein) unbedingt hinein, sonst kann man das Backtesting für kurzfristige Strategien (Scalping bei einigen Minuten bis maximal 1-2 Stunden pro Trade), wo zwar auf einer Zeitbasis im Minuten-Bereich gearbeitet wird, aber die Ein- und Ausstiege/Stops im Moment des Eintreffens der Situation sofort ausgeführt werden müssen, vergessen.

Yoggi

unregistriert

48

Samstag, 27. Juni 2009, 21:06

Hallo vtec,

da musst Du was falsch verstanden haben. Natürlich ist es möglich, auf Tickbasis backzutesten - wenn man denn Tickdaten für die fragliche Zeit vorliegen hat und nicht nur 15min Komprimierung und. Wenn ich Dich richtig verstehe, möchtest Du mit Regeln einsteigen, die auf einer x-Minuten Komprimierung beruhen, aber aussteigen/ausgestoppt werden, sobald ein bestimmter Kurs genau erreicht wurde, und nicht erst am Ende der fraglichen Periode. Das ist natürlich ohne weiteres möglich und zwar auch ohne auf Tickbasis heruntergehen zu müssen, etwa mit Intradaystopps. Die korrekte Programmierung dieses backtests ist allerdings mit einigen Fallstricken versehen, um die es in genau diesem thread geht.
Ein schönes Wochenende noch
Yoggi

vtec

unregistriert

49

Samstag, 27. Juni 2009, 23:13

Hi Yoggi (und natürlich auch alle Anderen ;-) ),

kann sein, dass ich mich durch manche Beiträge in diesem Thread verwirren habe lassen. Ich habe ein System, das auf Indikatoren basiert, die min. auf 15-Minuten-Candles berechnet werden sollen (darunter bekomme ich einfach zu viele Fehlsignale). Der Einstieg soll jedoch an der laufenden Candle sofort erfolgen, wenn die Einstiegsbedingung bei diesem Tick gegeben ist (z.B. wenn eben der Wert eines Indikators für die laufende Candle (sprich den letzten Preis) von mir aus größer ist als jener für die Candle davor) und nicht erst z.B. beim Close-Kurs dieser Candle. Das müsste ich doch eigentlich beim Handelssystem im Reiter "Test" für die Enter-Basis einstellen können. Ich nehme an, Close bezieht sich hier auf den Close-Kurs der fertigen aktuellen Candle. Wie schaffe ich es hier, den aktuellen Tick-Wert als Einstiegspreis zu bekommen?

Vielen Dank!

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

50

Sonntag, 28. Juni 2009, 09:23

Hallo vtec

Der Einstieg soll jedoch an der laufenden Candle sofort erfolgen, wenn die Einstiegsbedingung bei diesem Tick gegeben ist

In diesem Fall muss Du Dein HS auf unvollendeten Perioden laufen lassen mit Delay 0. Als Enter-Basis gibst Du Deinen Trigger an, am Besten rechnest Du da für Long noch #_MinPriceChange# drauf bzw. ziehst es ab für den Short Enter. Den Tick ist man im echten Leben ja immer zu langsam ...

Statt "Kerze" kann man eigentlich auch Periode sagen im Investox-Kontext:

Close bezieht sich hier auf den Close-Kurs der fertigen aktuellen Candle.

Bei "unvollendeten Perioden" (also "unfertigen" Kerzen) ist das anders. Nur Open steht ja zum Beginn einer Periode, in Deinem Fall am Anfang der 15 Minuten, schon fest. alles andere "bewegt sich". Fragst Du also Close ab, so ist das der aktuell letzte Tick - aber der kann auch wieder unter Deinen Trigger fallen. Dein Signal würde im Life-Betrieb also wieder "zurückgenommen" - das meint man u.a. mit "in die Zukunft blicken". Stattdessen müsste man mit Ref( Close, -1) arbeiten (das ist im Fluss der Zeit der letzte Tick der vorhergehenden Periode.). Ich habe hier den Thread nicht gelesen (zuviel Text für mich), aber ich vermute, genau solche Sachen wurden unter diesem Thread Thema behandelt. Sonst gibt es im Forum soviele Infos dazu, einfach noch ein bisschen suchen!

Noch ein Tipp für Einstiegspunkte "just-in-time": normalerweise (wenn wir nicht über Komp() & Co. reden) wird das High einer Periode nicht mehr tiefer und das Low nicht mehr höher! Ein Konstrukt wie

high > Dein_Trigger

ist in diesem Fall also gültig, schaut nicht in die Zukunft! (Wobei ich voraussetze, dass Dein_Trigger korrekt konstruiert ist mit Ref( ,-1) oder sowieso quasi-statisch, denn wenn sich Dein_Trigger im Laufe der Periode noch ändert, hast Du ebenfalls im wirklichen Leben flüchtige Signale, schaust also in die Zukunft ..; das kann Dir einfach kein Backtest herausfinden, da muss man sauber coden und wenn man sich nicht sicher ist im Virtual Broker testen (Stichwort Simulation) bzw. via Papertrading eine Zeit lang mitlaufen lassen).
Gruss
Bernd

lando

unregistriert

51

Sonntag, 28. Juni 2009, 10:15

@Bernd

Du schreibst,wie man so ein System für den Handel einstellt. Meine spezielle Frage dazu ist, ob man an einer 15 Minute Kerze Tick für Tick backtesten kann, ohne auf Tickkomprimierung zu schalten oder sonstige Umwege und Schleifen programmieren muss? Selbstverständlich müssen Tickdaten vorliegen. Ein Beispiel soll meine Frage verdeutlichen! Das System soll auf 15 Minuten Komprimierung basieren. Die Daten wurden Tick für Tick gesammelt. Das System soll an einer Historie über einen längeren Zeitraum an der 15 Komprimierung getestet werden. Die Stops sollen tickgenau simuliert und abgerechnet werden. Soweit ich es sehe,kann der Intraday-Stopp lediglich 4 Levels ansteuern und taxt jenen, der "nahe" am entsprechenden Kurs Close;Open,Low,High liegt. Würde der tatsächliche Stopp 5 Ticks unter dem Abrechnungsverfahren dieses Schemas liegen,besteht die Wahrscheinlichkeit,dass die Taxe erheblich von der Realität abweicht? Davon abgesehen ist die Wahrscheinlichkeit relativ hoch, das bei einem Ticksystem für HeavyTrader Realität und tatsächliche Performance öfter klaffen. Das begründet sich meiner Meinung aus dem unwillkürlich entstehenden Timelag der Hardware,Software und Brokerverbindung. Einige Softwares sind schnell (am schnellsten die Online Handelsplattformen) und können diesen Nachteil verringern,aber nicht ganz ausschalten. Die Internetleitung und die Weiterleitung vom Broker an den Börsenhandelsplatz kann man kaum beeinflussen. Im übrigen finde ich es sehr schwach das man bei Investox nur einen einzigen Broker für den vollautomatischen Handel zur Verfügung hat,denn somit schränkt sich die Tragweite der Software erheblich ein. Was machen die CFD oder Forex Händler die nicht über Interactive Brokers handeln? Ist man quasi gezwungen ein Konto bei IB zu eröffnen, wenn der Handel automatisiert werden soll?

lando

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

52

Sonntag, 28. Juni 2009, 10:41

Hallo lando

ob man an einer 15 Minute Kerze Tick für Tick backtesten kann

Zuersteinmal gibt es die Grundkompression, das ist die Kompression, auf die das HS eingestellt ist. Dann kannst Du mit Komp() bei Bedarf aber auch auf einen einzelnen Tick zugreifen.

Das System soll an einer Historie über einen längeren Zeitraum

Nun kommst Du selbst zu des Pudel Kern. Längerer Zeitraum ... aha. Nun, warum komprimieren wir denn?, aus zwei Gründen. Um eine Zeitebene "optisch-handlich" zusammenzufassen. Und last-but-not-least um das Ganze mit der heute zur Verfügung stehenden Rechen- und I/O Kapazität über einen längeren Backtest-Zeitraum auch bei vielen Entwicklungs-Iterationen in den Griff zu bekommen! Je mehr Ticks einzeln abgerechnet werden müssen, desto .. gääähn.

Die Stops sollen tickgenau simuliert und abgerechnet werden

Das ist nun aber ein anderes Thema, das kann man nicht in den selben Kontext stellen. Bier ist Bier und Schnaps ist Schnaps. Backtest ist Backtest und Simulation ist Simulation. Natürlich werden in der Simulation Stops tickgenau abgerechnet.

Würde der tatsächliche Stopp 5 Ticks unter dem Abrechnungsverfahren dieses Schemas liegen,besteht die Wahrscheinlichkeit,dass die Taxe erheblich von der Realität abweicht?

Desswegen macht man es ja auch so: im Backtest nimmt man als Enter und Exit Base immer den schlechtest möglichen Wert. Bleibt Dein HS handelbar, kann es Life nur besser werden. Man kann nämlich auch eine Formel angeben statt nur Open oder Close abzurechnen!

Das begründet sich meiner Meinung aus dem unwillkürlich entstehenden Timelag der Hardware,Software und Brokerverbindung.

Dafür kalkulierst Du die Slippage. Wie es bei Deinem HS, Deiner Rechen-Power und Deiner Internet-Latenz aussieht, ermittelst Du am besten in der Testphase mit Papertrading-Trades. Später im Life-Betrieb führt man am Besten für jeden Tag ein Handels-Tagebuch. Da kann man dann z.B. reinschreiben: "... liebes Tagebuch, heute hatte ich minimal diese Slippgae, maximal jene, es gab soundsoviele Trades und im Roundtourn lag meine Slippgae bei ...". Das fliesst dann in die Entwicklung künftiger Systeme ein, Ende der Geschichte.

Manche legen übrigens auch frühzeitig Stops in den Markt und lassen sich einstoppen, um die Slippage zu vermeiden (ist nicht meine Tecchnik, da müsste bei Bedarf jemand anderes was zu sagen).

Einige Softwares sind schnell (am schnellsten die Online Handelsplattformen) und können diesen Nachteil verringern,aber nicht ganz ausschalten.

Bei einer ziemlich frei programmierbaren Software wie Investox liegt es aber auch nicht zuletzt an Deinem Coding. Man kann ein Ziel beim Programmieren immer auf viele Arten erreichen - und manche kosten maximale Rechenzeit. Dann kann man nur die Hardware aufrüsten oder das eigene Coding optimieren. Ist beides nicht möglich, Slippage einkalkulieren im Backtest wie vorstehend geschrieb'n.

finde ich es sehr schwach das man bei Investox nur einen einzigen Broker für den vollautomatischen Handel zur Verfügung hat

Ja, ich auch. Wobei ich mit IB bisher gute Erfahrungen gemacht habe, trotzdem, etwas mehr Pluralität wär mal was.


PS: cooler Avatar :D Bist Du das als Ninja Turtle verkleidet?
Gruss
Bernd

vtec

unregistriert

53

Sonntag, 28. Juni 2009, 17:49

Dein Signal würde im Life-Betrieb also wieder "zurückgenommen" - das meint man u.a. mit "in die Zukunft blicken".
Hi Bernd,

danke für die Erläuterungen. Genau das möchte ich, im Live-Betrieb funktioniert das so. Ich möchte, dass auch im Backtest in der aktuellen Periode Signale erscheinen, die auch wieder verschwinden können, das ist in Ordnung für dieses System. Es geht darum, bei Auftreten von einem gewisssen höheren Volumen u.s.w. sofort einzusteigen. Beim Close einer 15-Minuten-Candle wäre ich viel zu spät dran. Da schaue ich aber nicht in die Zukunft, ich kann auf diese Weise nur in die Vergangenheit schauen und zwar auf alle vergangenen Ticks der sich aktuell ausbildenden Candle (manifestiert im aktuellen OHLC und Volumen). Für mich ist es irrelevant, ob die letzte Periode schon fertig ist oder nicht.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

54

Sonntag, 28. Juni 2009, 17:56

Dann kannst Du das in Investox nur in einem Tickbasierten System lösen oder mittels der Datenfeed Simulation.
Leider lassen sich nicht mehr als 4 Millionen Perioden im Backtest abrechnen, sodass man damit nur im FDAX oder ESTX nur ein paar Monate testen kann.
Das wird aber echt ätzend langam, versprochen.
Die Simulation ist allerdings noch vieeeeeel langsamer.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

55

Sonntag, 28. Juni 2009, 18:29

Hallo vtec

Es geht darum, bei Auftreten von einem gewisssen höheren Volumen u.s.w. sofort einzusteigen.

Wenn man sauber codiert, kann man in der laufenden Periode handeln UND ist gleichzeitig backtestfähig. Auch ohne auf Tickbasis abrechnen zu müssen. Meine Systeme können das, die Daten sind Tickdaten mit hoher Frequenz (Tenfore), werden auf eine Minute vorkomprimiert und in HSe eingeliefert, die auf PuF komprimiert sind.

Den Weg, wie man "am aktuellen Tick" sauber reinkommt, habe ich ja oben schon aufgezeigt. Genau wie das mit hig und low geht, wird auch das Volumen z.B. in einer 15 Minuten Periode nicht mehr kleiner. Was hindert Dich also, sauber zu coden ...

Volume > Dein_VolTrigger

... und so saubere Signale sowohl real als auch im Backtest zu haben ?!?

Ich möchte, dass auch im Backtest in der aktuellen Periode Signale erscheinen, die auch wieder verschwinden können,

Da wirst Du einfach keine Freude daran haben; der backtest gaukelt dann ein unrealistisches Ergebnis vor, während die Performance aber 100pro real sowas von abknickt. Glaub' mir's einfach, so ein Konstrukt ist nicht für den automatisierten Handel zu brauchen.

Anderst ist es, wenn Du halbautomatisch traden möchtest, Investox Dich nur auf Setups aufmerksam machen soll und dann eine diskretionäre Komponente ins Spiel kommt. Ich habe mir so ein Adhoc-System aufgebaut, und gelegentlich trade ich damit. Vor allem, um einen neuen Markt zu testen, mit meinem eigenen "Neuronalen Netz" Zusammenhänge zu finden.

D.h. wenn im Life-Betrieb das Setup erscheint, dann wird "möglicherweise" gehandelt. Das Setup kann aber auch wieder verschwinden und ich bleibe drin, bis ein Ausstiegs-Setup erscheint - was aber auch wieder verschwinden kann. Manchmal kombiniere ich das mit den Trading-Linien von Investox, so wird diskretionärer Handel einigermassen bequem. Nur - backtesten lässt sich das nie im Leben. Allenfalls kann man in der Simulation mit dem Virtual Broker üben. Es hat den einen oder anderen guten Trade hereingebracht; ich bin mir aber nicht im Klaren, ob das auf Dauer profitabel ist, denn es fehlt ja der Backtest. Aber lehrreich ist so ein Adhoc-System allemal, und die Erkentnisse können bei der späteren Systementwicklung gut zu gebrauchen sein ...

Systementwicklung und diskretionäres Trading kann man nicht in jedem Fall zur Deckung bringen!
Gruss
Bernd

vtec

unregistriert

56

Montag, 29. Juni 2009, 10:17

Erwischt :) Ich wollte als eines meiner ersten Investox-Projekte vielversprechende Fremd-Indikatoren hernehmen und ein System dazu, das, genauso wie Bernd es beschrieben hat, Signale liefern, aber der Einstieg manuell erfolgen soll, wobei es da eigentlich diskretionär keinen Spielraum für den Einstieg geben sollte, was ich aber eben durch Backtesting oder Simulation herausfinden wollte, wie das System auf sich alleine gestellt so performt. Klar wird es durch einen diskretionären Anteil wahrscheinlich besser funktionieren (wobei man den für sich selbst ausmachen muss), aber ich wollte wissen, wie es (nicht :) ) ohne diskretionären Anteil funktioniert. Mein Problem ist daher, ich weiß nicht, was die Indikatoren genau tun und muss auf einer Zeitbasis/Komprimierung und System bleiben, wo es funktioniert. Schon klar, dass ich besser meine eigenen Systeme schreiben sollte, aber wenn es gut funzt, warum nicht umsetzen. Vielleicht bleibt mir nichts, als dieses System in einer beschleunigten Simulation händisch nachzutraden, um Erfahrungen zu sammeln.

Yoggi

unregistriert

57

Montag, 29. Juni 2009, 12:04

Klar wird es durch einen diskretionären Anteil wahrscheinlich besser funktionieren
Na, dann wünsche ich Dir, dass Dir Dein Selbstvertrauen noch lange erhalten bleibt ... Worauf stützt Du die Erwartung, dass ein von Dir beobachtetes System besser wird, wenn Du manchmal/öfters/immer manuell eingreifst?
Alles Gute
Yoggi

lando

unregistriert

58

Montag, 29. Juni 2009, 12:56

@Bernd

Eine Antwort in 2 Etappen,denn bei einigen Zeilen deiner umfangreichen Antwort gibt es für mich Erklärungsbedarf und Diskussionsstoff!
Bei der ersten Antwort,Tickkomprimierung kann man softwareseitig bestimmt einrichten, das aus einer Tickhistorie eine 15 Minuten Kerze hochkomprimiert oder eine vorkomprimierte 15 Minuten Kerze direkt geladen wird? Die meisten, sehr schnellen Software arbeiten mit vorkomprimierten Daten,können aber dennoch im Backtest mit Ticks umgehen,wenn einmalig eine Tickhistorie vorliegt! Aber darauf wollte ich eigentlich nicht hinaus.Mir ist wichtig, das bei einer 15 Minuten Kerze der Stopp im Backtest relativ nah an der Realität liegt und das ist mit dem Intraday Stopp nicht unbedingt der Fall. Das der Tick im realen Handel exakt abgerechnet wird betrachte ich für den Anspruch der Software als selbstverständlich! Ich möchte mir als Anwender aber auch nicht die Finger an der Tastatur wundklopfen und das Hirn mit Mathematik zermartern, sondern Funktionen die man als Trader als selbstverständlich betrachtet und im täglichen Gebrauch als Entwickler und Trader immer wieder nutzt ansatzweise vorbereitet und einfach zugänglich findet. Mir sind beim lesen der zahlreichen Postings einige haarsträubende Sachen aufgefallen die zwangsläufig den Eindruck erwecken, das die Software extrem verschachtelt aufgebaut ist und viele Sachen nur dem versierten Anwender zugänglich sind.Das möchtee ich im anderen Teil näher ansprechen und habe auch Fragen dazu!

Eine Intraday Kerze,im vorliegenden Fall auf 15 Minuten komprimiert kann problemlos 50 Ticks Handelsspanne umfassen. Wenn das Close,Open,High,Low weit auseinander liegen kann es zu erheblichen Abweichungen kommen wenn der next Neighbor Level abgerechnet wird! Das mag alles schön und gut sein wenn ein System pro Tag ein paar mal handelt aber wenn 50-100 mal gehandelt werden soll und auf dem Tick 5-20 Kontrakte eingesetzt werden, ist die Abrechnung und der Backtest als Leitfaden zum Teufel! Das Danebenliegen summiert sich, geometrisch ausgedrückt im Quadrat. Mir ist vollkommen klar,das man einen Test niemals hundert Prozent real umsetzen kann aber mit jeder Ungenauigkeit die man im System programmiert oder hinnehmen muss wenn eine Software verschieden Funktionen fehlen oder zäh und träge verarbeitet werden (allgemeiner Bezug), entfernt sich die Trefferquote des Backtests immer weiter von der Realität.Dann kann man den Backtest über den Daumen peilen. Wir machen Backtests um die wahrscheinlichste Performance für zukünftige Trades zu ermitteln und den Handel zu optimieren. Wenn alles Kopf steht ist der Backtest nur ein Statist! Ich komprimiere Daten deshalb,da ich in unterschiedlichen Segmenten mit meinen gewählten Komprimierungen gut zurecht komme und subjektiv betrachtet viele unbedeutende Oszillationen aus der Datenreihen gefiltert werden. Hinsichtlich der Slippage kann man bei der beschriebenen herangehenweise sollte man nicht davon ausgehen das man xbeliebige oder die wahrscheinlichste Zahl einsetzt und alles wird gut. Das funktioniert unter Vorbehalt wenn es um kleine Summen geht aber nicht bei hoher Kontraktanzahl gepaart mit hoher Handelsfrequenz! Die Abweichung summiert sich im Quadrat! Eine Slippage entsteht durch den Spread wenn man nicht mit Bid und Ask Kursen arbeitet oder bei Verzögerungen beim Transfair.Fehlerhafte Abrechnungen im Vergleich zum Backtest begründen sich im höherfrequenten Handel manchmal durch einen ausbleibenden oder abweichenden Fill! Diese Toleranz kann man nicht planen aber beispielsweise nach einiger Zeit mit Erfahrungswerten einbeziehen. Das geht so weit in Ordnung und den Anspruch, das eine Software das voraus sieht, habe ich nicht ;)

@Yoggi
Die Frage ist zwar nicht an mich gerichtet, aber es ist möglich erfolgreich in Systeme einzugreifen aber nur unter der Voraussetzung ,das man genügend Erfahrung und Routine und ein Konzept für den jeweils gehandelten Wert hat! Ein direkter Eingriff in eine laufende Handlesabfolge ist kritisch aber das System an- und abschalten,eine manuelle Handelsaktivitätensteuerung ist durchaus sinnvoll wenn man erkennt, dass das Handelssytem für das vorrangige Börsenumfeld nicht konzeptiert ist, was man als Entwickler über das eigene System eigentlich wissen sollte!

lando

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

59

Montag, 29. Juni 2009, 16:36

Hallo lando

Uii, viel Text.

Ich weiss jetzt nicht, ob Du bereits Investox besitzt; Deine Fragen sind umfangreich und wohl alles in allem am Besten mit einem Studium der umfangreichen Investox Dokumentation bzw. der sehr guten Doku (Windows Help File) beantworten.

Mal zu den Punkten, die aus meiner Sicht als Kernpunkte aufgefallen sind; während mich gerade der Markt "fesselt" is' nicht mehr Zeit:

Das Danebenliegen summiert sich, geometrisch ausgedrückt im Quadrat.

Lenzelott hat oben die Lösung angedeutet: wenn es so genau sein soll, gehst Du auf eine sehr kleine oder gar keine Tick-Vorkompression. Dazu kannst Du mit Komp() natürlich im Handelssystem (HS) zusätzlich Deine 15 Minuten Perioden (Du nennst es Kerze, auch ok) rechnen. Ausserdem ...

kann man softwareseitig bestimmt einrichten, das aus einer Tickhistorie eine 15 Minuten Kerze hochkomprimiert oder eine vorkomprimierte 15 Minuten Kerze direkt geladen wird?

... kann st Du diese 15 Minuten Perioden auch vorkomprimiert zusätzlich in die Handels-Regeln einbringen (dient allenfalls dem Sparen von Rechen-Kraft, osnt geht es auch wie erwähnt direkt im HS mit Komp()). Das Stichwort dazu in Investox heisst Berechnungstitel (BT abgekürzt im Forum).

Mir sind beim lesen der zahlreichen Postings einige haarsträubende Sachen aufgefallen die zwangsläufig den Eindruck erwecken

Was soll ich sagen?, nicht alle Poster haben den gleichen Kenntnis-Stand. Manche mögen auf diese Weise - sicher ungewollt - mit ihrer eigenen Verwirrung die allgemeine Erkenntnis-Entropie tendentiell erhöhen :rolleyes: Andere haben dagegen einen sehr hohen Grad der Professionalität (erreicht), und posten erst gar nicht. Oder wenn doch, mag es zum gleichen Ergebnis führen: Verwirrung für einige 8)
Gruss
Bernd