Hallo,
hier kommt der zweite Fallstrick bzw. Fehler im System! Wenn die ENTER EXIT BASIS mit folgender Formel arbeitet:
MA
Spalte(SE), Ref(Spalte(SH),-2)+ 2*#_KompBox#)
MIN(Spalte(SE), Ref(Spalte(ST),-2)- 2*#_KompBox#)
dann muss natürlich auch die System Regel dies mit einbeziehen! In der oberen Formelbeschreibung ist das nicht der Fall sondern das HS gibt ein Signal bereits beim über,-unterschreiten der ersten BOX und rechnet zugunsten derzweiten Box ab!
Daher müsste die ENTER_Long_Short REGEL folgendermasen lauten:
Spalte(SH)>Ref(Spalte(SH),-2)+ 1*#_KompBox#
Spalte(ST)<Ref(Spalte(ST),-2)- 1*#_KompBox#
1*KOMP BOX deswegen, weil <> ein überschreiten der BOX erfordert was letzendlich dazu führt ,dass das HS mit generieren der zweiten BOX einsteigt-was auch unser Ziel war,2 Boxen über dem HIGH_LOW vor 2 Perioden
Und hier das ganze im Überblick:
UNDERLYING:FDAX_FUTURE_ EOD
Komprimierung: Point&Figure, Boxgröße 2 Punkte, 3 Reversal, Startrundung auf Brickgröße, Berechnung auf Openkurse , Overnight-Gap füllen
***** Regeln ******
Enter Long:
Enter_Long
Enter Short:
Enter_Short
Übergreifende Definitionen:
global calc Enter_Long
palte(SH)>(Ref(Spalte(SH),-2)+ 1*#_KompBox#);
global calc Enter_Short
palte(ST)<Ref(Spalte(ST),-2)- 1*#_KompBox#;
global calc BASIS_Long:MA
Spalte(SE), Ref(Spalte(SH),-2)+ 1*#_KompBox#);
global calc BASIS_Short:MIN(Spalte(SE), Ref(Spalte(ST),-2)- 1*#_KompBox#);
***** Test-Einstellungen *****
Positionen: Long+Short
Enter-Basis: Basis_Long
Short: Basis_Short
Delay: 0
Exit-Basis: Basis_Short
Short: Basis_Long
Delay: 0
Buy/Hold-Basis: Close
Trade-Mindestdauer: 1
Out-Mindestdauer: 1
Punkte testen
Initial Margin: 1000
Wert pro Punkt: 25
High/Low-Kurse zur Verlustberechnung verwenden!
Entry-Gebühren: 2
Exit-Gebühren: 2
Slippage: 0
Portfolio Zinssatz: 5
Risikotoleranz: 24
Money-Manag. Fester Kontrakt
Anzahl 1
PROBLEM!
Abgesehen von den bisherigen Problemen käme noch ein weiteres hinzu: Wir können in der aktuellen Spalte nicht ermitteln, ob BOXEN "leer" hinzugezeichnet wurde oder nicht!Leere Boxen treten auf ,wenn ein Gap> Boxgrösse generiert wird! Investox setzt Kurse ein auf denen sich die Basis nicht befand! Hier könnte man mit einem Master-Slave System arbeiten um den tatsächlichen Einstieg im EOD zeitbasierten Chart zu prüfen und das System zu berichtigen! Wenn schon Spalte (SE) die Einstiegsbedingungen erfüllt,sollte der Trade korrekt abgerechnet werden aber sobald ein Break des High/Low vor 2 Tagen aufritt, kann es zu Abweichungen führen weil man nicht erkennen kann ob sich dazwischen ein mögliches GAP befindet!
Das Problem das ein MASTER_SLAVE SYSTEM nach sich zieht ist die korrekte Syncronisation von einem X und Y-Achsen abhängigen Underlying! Um beide auf einen Nenner zu bringen muss die X-Achse eingesetzt werden was m.M. nicht immer zur korrekten Syncronisation führen kann!
Was letztendlich zu korrekten Ergebnissen führt ist eine tickbasierende Zeitreihe! Angenommen man hat Ticks mit mehrjähriger Historie zur verfügung und komprimiert daraus einen P&F Chart, dann sollte dieser jederzeit korrekt abgerechnet werden und auch korrekte Ergebnisse liefern-real wie im Backtest!