Hi Sten
Binär durchtesten ist jetzt nicht so schwer in der Investox Sprache, und man muss auch nix von Dezimal nach Binär umwandeln.
Wenn ich es recht verstanden habe, hast Du also eine Zahl zwischen 0 bis 7 in einem global calc Vektor in Deinem Beispiel aus der Addition der Binär Trigger und Power-Multiplikation und möchtest wissen, wie jede einzene Zeitreihe abschneidet?
Natürlich kannst Du nun jede Kombination durchtesten, aber je mehr Zeitreihen dazukommen, desto länger wird die Rechenzeit. Ich rechne daher jede Zeitreihe (entsprechend dem gesetzten Bit) einzeln durch im Robtest und addiere die n Kombinationen, welche die beste meiner Lieblingszahlen (ist bei mir das MAR Ratio) gebracht haben. So komme ich auch bei grösseren Daten-Beständen und der Aus-Multiplikation mit vielen Kombinationen sehr bald zu einem Ergebnis.
Ich mache ein einfaches Beispiel mit einer Datenreihe, die nicht 8 Kombinationen entsprechend den Zahlen von 0 bis 7 testen soll wie bei Dir im Eingangs-Posting, sondern sagen wir die Zahlen von 0 bis 12, wobei mit der Kombination 0 kein Ergebnis zu Stande kommen würde, und wir uns diesen Test schon mal sparen.
Ich habe also 12 Kombinationen zu testen und möchte am Ende ein kombiniertes Ergebnis weiterverwenden. Da die Zahl 12 gerade die Moante des Jahres sind und sich so eine Zeitreihe gut erzeugen lässt als Beispiel, mache ich es mal so:
|
Quellcode
|
1
2
3
|
global calc Monatsmatrix: [Monatsmatrix:128.0,1|2|4|8|16|32|64|128|256|512|1024|2048]; // Monate einzeln durchtesten, die besten addieren und dann mit jener Zahl weiterarbeiten:
global calc Monat: DatePart(m);
global calc Handelsmonat: And( Monatsmatrix, Power( 2, Monat-1))=Power( 2, Monat-1);
|
Sagen wir, dass der Robtest nun zeigt, dass die Monate 3, 4 und 7 das beste Ergebniss erbringen (MAR Ratio, meine Zahl wie oben erklärt), so würde ich nun die Variable Monatsmatrix auskommentieren und eine neue stattdessen als Addition hinschreiben:
global calc Monatsmatrix: 76; // (=4+8+64)
Das selbe Prinzip könntest Du nun auf die Addition / Stellenmultiplikation der binären Ergebnisse Deiner Zeitreihen anwenden und die besten Kombinationen sehr schnell rausfiltern, statt's *alle* möglichen Kombinationen durchzuprobieren. Das wird Dir Äonen von Rechenstunden sparen und am Ende rechnest Du mit der Indikatoren-Kombination weiter, die das beste [MAR-Ratio,Trefferquote,was auch immer Dir wichtig ist] hat.
Viel Erfolg!
PS: im Beispiel würde die Variable Handelsmonat weiterverwendet und ins Setup einfliessen mit dem simplen Ausdruck "AND Handelsmonat"
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bernd« (7. September 2014, 18:51)