Metastock 7.02: Turtle-Indikatoren im Expert-Advisor
Hallo an alle!
Ich möchte gern fragen, warum erhalte ich keine echten Verkaufsignale bei Verwendung im Expert dieser Zeilen (vom Stockcentral):
enter long:H>Ref(HHV(H,20),-1)
Close Long:L<Ref(LLV(L,10),-1)
enter short:L<Ref(LLV(L,20),-1)
Close short:H>Ref(HHV(H,10),-1)
Falls sich jemand mit diesem Problem schon konfrontiert hat bzw. es gelöst hat, würde mir es vielleicht sehr vom Nutzen sein.
Danke
Konstantin
Geschrieben von Gast (nicht überprüft)
am
Im Expert-Advisor wird das auch nicht funktionieren. Du hast die Bedingungen sicher in der Reihenfolge, wie du sie hier aufgeführt hast, eingegeben. Dann wird vor der Bedingung "EnterShort" die Bedingung "CloseLong" ausgewertet und angezeigt. Und wenn Low Ref(LLV(Low,20),-1) dann gilt ebenfalls Low Ref(LLV(Low,10),-1). D.h. der Expert Advisor hört bei der Auswertung der "CloseLong" Bedingung auf.
Abhilfe: Zwei Experten anlegen oder aber in einem Expert Advisor lassen und zwei "Durchläufe" machen, indem man alternativ die Häkchen vor den Long bzw. Short-Bedingungen wegnimmt.
Viel Erfolg
Bernd Kürbs
Korrektur: Man kann es in Grenzen doch in einem Advisor packen, wenn man bei CloseLong schreibt "L= Ref(LLV(L,20),-1)" analog bei ExitShort. Das kann aber auch zu Fehlern führen, da es denkbar ist, dass der Markt in Rutsch bis unter Ref(LLV(L,20),-1) gappt.
Wenn man zu dem Enter nur ein ExitSignal möchte und kein Exit- ohne Enter-Signal muss man wohl ein bisschen mehr tun.
Viel Spaß
Bernd Kürbs
Danke für deine Hilfe, Bernd, werde es gleich probieren :=)
Hallo,
man könnte es so machen:
Diese Formel in allen Signalen einbauen
-----------------------------
EL:=H>Ref(HHV(H,20),-1);
CL:=L<Ref(LLV(L,10),-1);
ES:=L<Ref(LLV(L,20),-1);
CS:=H>Ref(HHV(H,10),-1);
Signal:=If(Cum(1)=1,0,If(EL,1,If(ES,-1,If((CL AND PREV=1) OR (CS AND PREV=-1),0,PREV))));
------------------------------
Enter Long:
Signal=1 AND Ref(Signal,-1)<1
Exit long:
Signal=0 AND Ref(Signal,-1)=1
Enter short:
Signal=-1 AND Ref(Signal,-1)>-1
Exit Short:
Signal=0 AND Ref(Signal,-1)=-1
-------------------------------
Highlights:
long/green: Signal = 1
short/Red: Signal=-1
grey/neutral: 1
Viel Wege führen nach Rom (zum Glück) , deswegen noch ein Lösungsvorschlag.
Im Expert Advisor unter "Symbols" die folgende Reihenfolge der Signale anlegen:
EnterLong
EnterShort
ExitLong
ExitShort
Die Reihenfolge habe ich deshalb geändert, weil "CloseLong" und "EnterShort" gleichzeitig auftreten können und der Advisor nur ein Signal darstellen kann. Das tritt z.B. beim SP500 auch tatsächlich auf, siehe beigefügten Chart.
Zur Definition der einzelnen Signale:
Unter EnterLong:
------------------
EnterLong := Cross(HIGH, Ref(HHV(HIGH,20),-1));
CloseLong := Cross( Ref(LLV(LOW,10),-1), LOW);
BinWavL := If(EnterLong,
If(BarsSince(Ref(EnterLong,-1))<BarsSince(CloseLong),0,1),0);
BinWavL
=====================================================================
Unter EnterShort:
------------------
EnterShort := Cross( Ref(LLV(LOW,20),-1),LOW);
CloseShort := Cross(HIGH, Ref(HHV(HIGH,10),-1));
BinWavS := If(EnterShort,
If(BarsSince(Ref(EnterShort,-1))<BarsSince(CloseShort),0,1),0);
BinWavS
======================================================================
Unter ExitLong:
------------------
EnterLong := Cross(HIGH, Ref(HHV(HIGH,20),-1));
CloseLong := Cross( Ref(LLV(LOW,10),-1), LOW);
BinWavLX := If(CloseLong,
If(BarsSince(Ref(CloseLong,-1))<BarsSince(EnterLong),0,1),0);
BinWavLX
======================================================================
Unter ExitShort:
---------------------
EnterShort := Cross( Ref(LLV(LOW,20),-1),LOW);
CloseShort := Cross(HIGH, Ref(HHV(HIGH,10),-1));
BinWavSX := If(CloseShort,
If(BarsSince(Ref(CloseShort,-1))<BarsSince(EnterShort),0,1),0);
BinWavSX
=====================================================================
Viel Spaß
Bernd Kürbs
Und so sieht das andere System aus
Also Leute,
Ich bin Ihnen allen sehr dankbar ! :=)))
Konstantin