Auf den Zufall ist wenig Verlass
Und wieder hat es eine halbe Ewigkeit gedauert seit dem letzten Eintrag. Der Grund ist neben den technischen Problemen hier leider wieder in anderen Verpflichtungen und einer fiesen Erkältung zu suchen. Aber jetzt gibt es endlich wieder was erwähnenswertes also los gehts:
was bisher geschah
Nachdem die erste Version der CDL fertig war, entstanden sofort Generationen von Pattern mit über 90% Trefferquote. Wie zu erwarten war beruhte diese Trefferquote rein auf Denk- und Programmierfehlern.
Also mussten zusätzliche Filter und Korrekturen rein. Danach waren die Generationen nicht mehr so schnell erfolgreich (die Trefferquote blieb meist knapp unter 50%) aber gelegentlich fand sich doch ein glücklicher Ausreißer. Bei genauer Analyse ergab sich, das auch diese Erfolge in der Praxis schwer umsetzbar sein würden da die Mindestbewegungen in den Targets zu klein waren.
Um dem Abhilfe zu verschaffen hab ich bei der Überprüfung der Bewegung den Spread miteinbezogen und eine Untergrenze für die minimale Bewegung eingeführt. Und siehe da, die Trefferquoten waren verheerend.
In der Hoffnung auf Besserung hab ich mehr Möglichkeiten für die Evolution eingebaut (SMA für die Preisrelation..) und versucht die Filterung und Mutation zu "verbessern" ... Mit dem Erfolg das die Trefferquoten von "schlecht" auf 0% fielen. Wie sich das auf meine Motivationskurve ausgewirkt hat kann sich vermutlich jeder denken :(
Eine Problemanalyse
Nachdem mehrere 10000 Generationen auf 0% blieben hab ich mir gedacht "Das kanns doch nicht sein". Selbst das "dümmste" Pattern sollte doch zumindest gelegentlich treffen. Nach langer Analyse blieb nur eine logische Erklärung: Die erzeugten Patterns matchen zu selten, weil sich die zufälligen Regeln gegenseitig blockieren.
Zugegeben in dem Moment hatte ich schon soviel probiert das "logische Erklärung" falsch ausgedrückt ist und nur durch den nachträglichen Erfolg begründet ist.
Am Anfang der Evolution bzw. wenn die Generation komplett erfolglos blieb, hab ich zufällige Patterns erzeugt. In Vertrauen auf den Zufall hatten diese zufälligen Patterns eine zufällige Anzahl von zufälligen Regeln. Die Regeln wurden zwar halbwegs "sinnvoll" erzeugt aber das Verhindern von Widersprüchen hab ich der Evolution (und dem Zufall) überlassen. Nach dem Prinzip "Lass Affen lang genug auf eine Schreibmaschine einhauen und du erhältst irgendwann einen literarischen Klassiker".
Aber auf den Zufall ist leider nicht genug Verlass, es bedarf doch einer gewissen Steuerung von außen.
Gesagt getan: Nun gibt es bei neuen zufälligen Patterns immer nur 1 zufällige Regel (und natürlich das Target). Dafür hab ich die Wahrscheinlichkeit für neue Regeln im Zuge der Evolution erhöht. Sprich ich bin von "Das perfekte Pattern als ganzes erraten" auf "Einen akzeptablen Start raten und dann sukzessive verbessern" gewechselt. Und es funktioniert zumindest mal besser als vorher. Von 0% ist die Trefferquote zumindest mal wieder auf meist knapp unter 50% gestiegen. Im H4 hat sich bisher sogar ein Pattern mit 77% gefunden.
Zugegeben ich hab mir noch nicht angeschaut ob das wieder irgendein blöder Fehler ist, aber zumindest "funktioniert" die Evolution wieder etwas besser. Es sind sicher noch einige Verbesserungen nötig, aber ich hab zumindest wieder das Gefühl in der richtigen Richtung unterwegs zu sein ;)
0 Comments
Recommended Comments
There are no comments to display.