RE: Nachhilfe zu Komprimierung
Hallo,
vielen Dank für die Hinweise, die einiges zur Klärung beigetragen haben; trotdem klappt meine Interpretation der Erläuterungen noch nicht.
Anbei 2 Formulierungen des von Manfred Wahl hier im Forum dargestellten HS (von Uwe Lang).
In dem HS für den DAX werden ausschließlich Berechnungen anderer Titel auf Wochenbasis herangezogen.
Manfred hat naheliegend das HS (für den DAX) mit der Komprimierung „W“ formuliert und dabei in Kauf genommen, daß bei einer Delayangabe ungleich 0 eine Verzögerung von 1 Woche für Enter und Exit in Kauf genommen werden muß.
Der Versuch einer Entkopplung in diesem Punkt war und ist meine Zielsetzung.
Folglich muß ich den Handelstitel auf Tagesbasis definieren und die Berechnungen für die anderen Titel auf Wochenbasis formulieren und dabei beachten, daß die betrachteten Zeiträume dieselben sind. Um sicher zu stellen, daß diese unabhängig von der Komprimierung und deren Auswirkungen auf die Definition der Zeiteinheit für die Periodendauer sind, kam ich zu den Schlüsselwörter.
Die Ergebnisse beider HS sollten nahezu gleich sein, bis auf die Auswirkungen der abweichen Interpretation von Delay =1(mal 1 Woche, mal 1 Tag).
Die deutlichen Abweichungen im Tradeergebnis(Tradeliste) sind jedoch hierauf nicht zurückzuführen.
Es fällt auf, daß beide HS-Formulierungen identische Ergebnisse liefern, wenn für den Basistitel jeweils die Komprimierung „W“ gewählt wird. Hieraus könnte man vielleicht ableiten, daß logisch beide Systeme übereinstimmen.
Was ist falsch formuliert?
Sorry, daß ich nerve.
oiseau
Systemformulierung von Manfred (HS auf Wochenbasis)
Definitionen:
Const VorlaufUSD: [Vorlauf USD:15,1,200,5,100,1,3];
Const VorlaufOel: [Vorlauf Öl:6,1,100,5,20,1,3,I];
Const VorlaufRendite: [Vorlauf Rendite:38,1,200,5,100,1,3,I];
Const VorlaufKursUP: [Vorlauf Kurs UP:13,1,200,5,100,1,3,I];
Const VorlaufKursDown: [Vorlauf Kurs Down:18,1,200,5,100,1,3,I];
{ZeitraumBezug: In Abwandlung vom Original Konzept werden
statt Monaten die Kalenderwochen verwendet.}
Const GuenstigBeginn: [Beginn Guenstig:38,30,52,30,52,1,3,I];
Const GuenstigEnde:[Ende Guenstig:23,1,30,2,26,1,3,I];
{Pro Einflußfaktor nach Uwe Lang wird ein Indikator berechnet.
diese Indikatoren haben den Wert 1, wenn sie ein EnterLong
Signal geben}
Calc IndiUSD:
{Der USD Indikator hat den Wert 1 nach einem Tief
und 0 nach einem Hoch}
If(BarsSince(HHVBars("USD Forex EUR/US$", Close, VorlaufUSD)=0,1) > BarsSince(LLVBars("USD Forex EUR/US$", Close, VorlaufUSD)=0,1), 1, 0);
Calc IndiOel:
{Der Öl Indikator hat den Wert 1 nach einem Tief
und 0 nach einem Hoch}
If(BarsSince(HHVBars("US: Crude Oil-Fut. NYMEX", Close, VorlaufOEL)=0,1) > BarsSince(LLVBars("US: Crude Oil-Fut. NYMEX", Close, VorlaufOEL)=0,1), 1, 0);
Calc IndiRendite:
{Der Anleihen Rendite Indikator hat den Wert 1, wenn
die Umlaufendite oder die Rendite der TBonds ein Tief
melden}
If(
BarsSince(HHVBars("DE, Umlaufrendite", Close, VorlaufRendite)=0,1) >
BarsSince(LLVBars("DE, Umlaufrendite", Close, VorlaufRendite)=0,1)
or
BarsSince(HHVBars("US, Rendite 10j.Anleihen", Close, VorlaufRendite)=0,1) >
BarsSince(LLVBars("US, Rendite 10j.Anleihen", Close, VorlaufRendite)=0,1)
, 1, 0);
Calc Zeit:
NOT Zwischen(DatePart(ww), guenstigende, guenstigbeginn);
{die Hochs und Tiefs des Nasdaq und Dow Utilities werden
zu erst separat berechnet}
Calc KursN:
If(BarsSince(HHVBars("US: Nasdaq Composite", Close, VorlaufKursUp)=0,1) < BarsSince(LLVBars("US: Nasdaq Composite", Close, VorlaufKursDown)=0,1), 1, -1);
Calc KursU:
If(BarsSince(HHVBars("US: Dow Jones Utility", Close, VorlaufKursUp)=0,1) < BarsSince(LLVBars("US: Dow Jones Utility", Close, VorlaufKursDown)=0,1), 1, -1);
{Der Gesamtwert ergibt sich daraus, wann beide Indizes zuletzt
gemeinsam ein Enterlong oder Exitlong Signal gegeben haben}
Calc Kurs: If(BarsSince(KursU=1 and KursN = 1,1) < BarsSince(KursU=-1 and KursN=-1,1),1,0);
{Enterlong wird entsprechend den Vorgaben von Uwe
Lang berechnet}
Calc Enterlong: (((zeit + indiusd + indioel) > 1) + Indirendite + Kurs) > 1;
{Der Indikator ist eine Hilfsgöße; es ist eine Näherung an
Enterlong, die besser zu visualisieren ist }
Calc Indikator: zeit + indiusd + indioel + IndiRendite + Kurs;
Enter: Enterlong
Exit: Not Enterlong
Systemformulierung von mir( HS auf Tagesbasis, Berechnungstitel auf Wochenbasis komprimiert, Zeiträume absolut mit weeks() definiert.
Definitionen:
{Vorlaufzeiten}
Const VorlaufUSD:weeks([Vorlauf USD:15,1,200,5,100,1,3]);
Const VorlaufOel: weeks([Vorlauf Öl:6,1,100,5,20,1,3,I]);
Const VorlaufRendite: weeks([Vorlauf Rendite:38,1,200,5,100,1,3,I]);
Const VorlaufKursUP: weeks([Vorlauf Kurs UP:13,1,200,5,100,1,3,I]);
Const VorlaufKursDown: weeks([Vorlauf Kurs Down:18,1,200,5,100,1,3,I]);
{Indizes}
Const Kurs_EURUS: Komp(#Close("USD Forex EUR/US$")#,#w#);
Const Oil_Fut: Komp(#Close("US: Crude Oil-Fut. NYMEX")#,#w#);
Const DE_UmlRend: Komp(#Close("DE, Umlaufrendite")#,#w#);
Const US_10jRend: Komp(#Close("US, Rendite 10j.Anleihen")#,#w#);
Const NasdaqComp: Komp(#Close("US: Nasdaq Composite")#,#w#);
Const DOW_Utility: Komp(#Close("US: Dow Jones Utility")#,#w#);
{ZeitraumBezug: In Abwandlung vom Original Konzept werden
statt Monaten die Kalenderwochen verwendet.}
Const GuenstigBeginn: [Beginn Guenstig:38,30,52,30,52,1,3,I];
Const GuenstigEnde:[Ende Guenstig:23,1,30,2,26,1,3,I];
{Pro Einflußfaktor nach Uwe Lang wird ein Indikator berechnet.
diese Indikatoren haben den Wert 1, wenn sie ein EnterLong
Signal geben}
Calc IndiUSD:
{Der USD Indikator hat den Wert 1 nach einem Tief
und 0 nach einem Hoch}
If(BarsSince(HHVBars( Kurs_EURUS , VorlaufUSD)=0,1) > BarsSince(LLVBars( Kurs_EURUS , VorlaufUSD)=0,1), 1, 0);
Calc IndiOel:
{Der Öl Indikator hat den Wert 1 nach einem Tief
und 0 nach einem Hoch}
{If(BarsSince(HHVBars("US: Crude Oil-Fut. NYMEX", Close, VorlaufOEL)=0,1) > BarsSince(LLVBars("US: Crude Oil-Fut. NYMEX", Close, VorlaufOEL)=0,1), 1, 0);}
If(BarsSince(HHVBars( Oil_Fut, VorlaufOEL)=0,1) > BarsSince(LLVBars(Oil_Fut, VorlaufOEL)=0,1), 1, 0);
Calc IndiRendite:
{Der Anleihen Rendite Indikator hat den Wert 1, wenn
die Umlaufendite oder die Rendite der TBonds ein Tief
melden}
If(
BarsSince(HHVBars(DE_UmlRend, VorlaufRendite)=0,1) >
BarsSince(LLVBars(DE_UmlRend, VorlaufRendite)=0,1)
or
BarsSince(HHVBars(US_10jRend, VorlaufRendite)=0,1) >
BarsSince(LLVBars(US_10jRend, VorlaufRendite)=0,1)
, 1, 0);
Calc Zeit:
NOT Zwischen(DatePart(ww), guenstigende, guenstigbeginn);
{die Hochs und Tiefs des Nasdaq und Dow Utilities werden
zu erst separat berechnet}
Calc KursN:
If(BarsSince(HHVBars(NasdaqComp, VorlaufKursUp)=0,1) < BarsSince(LLVBars(NasdaqComp, VorlaufKursDown)=0,1), 1, -1);
Calc KursU:
If(BarsSince(HHVBars(DOW_Utility, VorlaufKursUp)=0,1) < BarsSince(LLVBars(DOW_Utility, VorlaufKursDown)=0,1), 1, -1);
{Der Gesamtwert ergibt sich daraus, wann beide Indizes zuletzt
gemeinsam ein Enterlong oder Exitlong Signal gegeben haben}
Calc Kurs: If(BarsSince(KursU=1 and KursN = 1,1) < BarsSince(KursU=-1 and KursN=-1,1),1,0);
{Enterlong wird entsprechend den Vorgaben von Uwe
Lang berechnet}
Calc Enterlong: (((zeit + indiusd + indioel) > 1) + Indirendite + Kurs) > 1;
{Der Indikator ist eine Hilfsgöße; es ist eine Näherung an
Enterlong, die besser zu visualisieren ist }
Calc Indikator: zeit + indiusd + indioel + IndiRendite + Kurs;
Enter: Enterlong
Exit: Not Enterlong