Metastock Formel: Meyers Parabolic Sar

Gibt es eine Metastock Formel für den Parabolic SAR in Modifizierung nach Meyers? So wie hier beschrieben wurde:

http://www.nrcm.de/pdf/meyersparabolicsar.pdf

Hat jemand versucht "The Five Parameter Parabolic Noise Filter System" nach Meyers für MS zu programmieren?

http://www.meyersanalytics.com/parabxot.htm

Welches Ergebnis?

mfG

J.

Geschrieben von Gast (nicht überprüft) am
select
Mitglied seit 11 Jahre 1 Monat

"Gibt es eine MS Formel für den Parabolic SAR in Modifizierung nach Meyers?"

Ich würde auch die "geheime Formel" gebrauchen. :-)

Im Link ab Seite 11 ist auch ein Bericht zufinden.

http://warrants.bnpparibas.com/de/doc/wz_04_01.pdf

Gruß select

norma
Mitglied seit 10 Jahre 9 Monate

Bescheidene Frage an metatrader:

Wie sieht es aus mit dem Meyer Parabolic?

Ist dieser in Deinem Metastock Arsenal vorhanden?

Gruß
Williams

metatrader
Mitglied seit 11 Jahre 1 Monat

@Williams,

die genaue Formel kann ich dir nicht geben, hier musst du wohl oder übel das System von Meyers für 199$ kaufen.

Anbei ein Lösungsvorschlag, wie man den SAR dürch Einbeziehung eines Stopps in stärkeren Trendphasen etwas "entschärfen" kann. Zunächst den Indikator anlegen, danach den Expert. Der Indikator verwendet vier verschiedene Stopps, 4 ist eher langfristig, 1 eher kurzfristig.

Indikator: Sar System
Val:=Input("Stop Val1=1 Val2=2 Val3=3 Val4=4",1,4,4);
SarStep:=Input("Sar Step",.01,.2,.1);
SarMax:=.02;
SarLong:=BarsSince(Cross(SAR(SarStep,SarMax),H))>0;
SarShort:=BarsSince(Cross(L,SAR(SarStep,SarMax)))>0;

RWH:=(H-Ref(L,-30))/(ATR(30)*Sqrt(30));
RWL:=(Ref(H,-30)-L)/(ATR(30)*Sqrt(30));
Pk:=Mov((RWH-RWL),3,W);
AVTR:=Mov(HHV(H,2) - LLV(L,2),20, S);
SD:=Stdev(HHV(H,2) - LLV(L,2),20);
Stp := If(val=1,If(Pk>0,HHV(H-AVTR,20),LLV(L+AVTR,20)),If(val=2,If(Pk>0,HHV(H-AVTR-SD,20),LLV(L+AVTR+SD,20)),If(val=3,If(Pk>0,HHV(H-AVTR-2*SD,20),LLV(L+AVTR+2*SD,20)),If(Pk>0,HHV(H-AVTR-3*SD,20),LLV(L+AVTR+3*SD,20)))));

EL:= c> SAR(SarStep,SarMax) AND (stp<C);
CL:= (stp>C) OR c< SAR(SarStep,SarMax);
ES:= c< SAR(SarStep,SarMax) AND (stp>C);
CS:= ( (stp<C)) OR c> SAR(SarStep,SarMax);
State:=If(Cum(1)=1,0,If(EL,1,If(ES,-1,If((CL AND PREV=1) OR (CS AND
PREV=-1),0,PREV))));
State

Expert Symbols:
state:=Fml("Sar System");
State=1 AND Ref(State,-1)<1 {EL}

state:=Fml("Sar System");
State=-1 AND Ref(State,-1)>-1 {ES}

state:=Fml("Sar System");
State=0 AND Ref(State,-1)=1 {CL}

state:=Fml("Sar System");
State=0 AND Ref(State,-1)=-1 {CS}

Expert Highlights

state:=Fml("Sar System");
State=1 {long}

state:=Fml("Sar System");
State=-1 {short}

norma
Mitglied seit 10 Jahre 9 Monate

@ metatrader

Fabelhafter Service, dann auch noch tief in der Nacht.

Thanks a million again.

Gruß
Williams

aureleus.b
Mitglied seit 11 Jahre 1 Monat

Ein schönes Trendfolgesystem, aber wie alle Systeme die auf Trendfolge basieren, versagt es seit Jänner 2004 völlig...nur 2 von 10 Trades profitabel.

2004 wäre ein Oszillator-Jahr gewesen.

Gast

@METATRADER

Eine zusätzliche Frage. Wie kann man den Parabolic-SAR in MS so anpassen, daß ich im ID-Chart eine Version des SAR angezeigt bekomme, der das Open heute dem Close gestern gleichsetzt ?

Gruss Appz

Janusch
Mitglied seit 11 Jahre 1 Monat

@ Metatrader,

die Frage, die Appz stellte, interessiert mich auch brennend. In den Intraday Charts wird der Verlauf vom Parabolic durch die oft vorkommenden GAPs verzerrt. Ebenfalls größere Kurssprünge im Laufe des Tages machen den Gebrauch von Parabolic für ID Trading oft unmöglich. Eine selbstanpassende Variante wäre sehr wünschenswert. Angeblich gibt so was in Trade Station. Wäre das auch für Metastock 9.0 RT möglich?

MfG
Janusch

metatrader
Mitglied seit 11 Jahre 1 Monat

@appzon, Janusch.

Der Sar ist eine vorefinierte Funktion, die als Eingabeparameter nur Step und Maimum zulassen. Mir ist (mit Ausnahme einer DLL-Eigenprogrammierung) bekannt, mit der man hier Einfluss auf die Berücksichtigung von anderen Eingabegrößen nehmen könnte.

Wenn man sich aber den EasyLanguage Code für den Parabolic Sar ansieht
(
Inputs: AcclFact(NumericSimple);
Variables: Pos(-1), SAR(Close), AF(.02), HighValue(High), LowValue(Low);

If CurrentBar = 1 Then
Pos = 1
Else
If CurrentBar > 1 Then Begin
If High > HighValue Then
HighValue = High;
If Low < LowValue Then
LowValue = Low;
If Pos = 1 Then Begin
If Low <= Parabolic[1] Then
Pos = -1; {Reverse Pos}
End
Else Begin
If High >= Parabolic[1] Then
Pos = 1; {Reverse Pos}
End;
End;

If Pos = 1 Then Begin
If Pos[1] <> 1 Then Begin
SAR = LowValue;
AF = AcclFact;
LowValue = Low;
HighValue = High;
End
Else Begin
SAR = SAR[1] + AF * (HighValue - SAR[1]);
If HighValue > HighValue[1] AND AF < 0.2 Then
AF = AF + MinList(AcclFact, (0.2 - AF));
End;
If SAR > Low Then
SAR = Low;
If SAR > Low[1] Then
SAR = Low[1];
End
Else Begin
If Pos[1] <> -1 Then Begin
SAR = HighValue;
AF = AcclFact;
LowValue = Low;
HighValue = High;
End
Else Begin
SAR = SAR[1] + AF * (LowValue - SAR[1]);
If LowValue < LowValue[1] AND AF < 0.2 Then
AF = AF + MinList(AcclFact, (0.2 - AF));
End;
If SAR < High Then
SAR = High;
If SAR < High[1] Then
SAR = High[1];
End;

Parabolic = SAR;
)

stellt man fest, dass hier auch "nur" mit Highs, Lows und Multiplikatoren arbeitet und z.B. ein Open überhaupt nicht berücksichtigt.

Janusch
Mitglied seit 11 Jahre 1 Monat

@ Metatrader,

danke, vielen Dank für Ihre Mühe.

Ich muss wohl oder übel eine andere Lösung des Problems finden.

Gruß
Janusch

Gast

@METATRADER

Mir scheint Du kennst die Version nicht, die sich am Tagesanfang den Kursen von gestern nicht anpasst, sondern den neuen Tag als neue Referenz nimmt. Damit vermeidet man verschiebungen in der Signalgebung des ParSAR durch Gaps.

Folgende TS Codierung stellt dies dar . Vielleicht kannst Du damit mehr anfangen. Ich frage ja nur, weil ich in MS überhaupt keine Ahnung bzgl. der Programmierung habe.

Appz

TS Code :

Funktion : Intra_ParabolicSAR

inputs:
AfStep( numericsimple ),
AfLimit( numericsimple ),
oParCl( numericref ),
oParOp( numericref ),
oPosition( numericref ),
oTransition( numericref ) ;

variables:
TradeHH( 0 ),
TradeLL( 0 ),
Af( 0 ) ;

if CurrentBar = 1 or Date <> Date[1] then
begin
oParOp = High ;
oPosition = -1 ;
TradeHH = High ;
TradeLL = Low ;
end ;

if Date = Date[1] then
begin
oTransition = 0 ;
if High > TradeHH then TradeHH = High ;
if Low < TradeLL then TradeLL = Low ;
if oPosition = 1 then begin
if Low <= oParOp then begin
oPosition = -1 ;
oTransition = -1 ;
oParCl = TradeHH ;
TradeHH = High ;
TradeLL = Low ;
Af = AfStep ;
if oParOp < High then oParOp = High ;
if oParOp < High[1] then oParOp = High[1] ;
end
else
begin
oParCl = oParOp ;
if TradeHH > TradeHH[1] and Af < AfLimit then
Af = MinList( Af + AfStep, AfLimit ) ;
oParOp = oParCl + Af * ( TradeHH - oParCl ) ;
if oParOp > Low then oParOp = Low ;
if oParOp > Low[1] then oParOp = Low[1] ;
end ;
end
else begin
if High >= oParOp then begin
oPosition = 1 ;
oTransition = 1 ;
oParCl = TradeLL ;
TradeHH = High ;
TradeLL = Low ;
Af = AfStep ;
oParOp = oParCl + Af * ( TradeHH - oParCl ) ;
if oParOp > Low then oParOp = Low ;
if oParOp > Low[1] then oParOp = Low[1] ;
end
else begin
oParCl = oParOp ;
if TradeLL < TradeLL[1] and Af < AfLimit then
Af = MinList( Af + AfStep, AfLimit ) ;
oParOp = oParCl + Af * ( TradeLL - oParCl ) ;
if oParOp < High then oParOp = High ;
if oParOp < High[1] then oParOp = High[1] ;
end ;
end ;
end ;

Intra_ParabolicSAR = 1 ;

Indikator : NewSessParSAR

inputs: AfStep( 0.02), AfLimit( 0.2 ) ;
variables: oParCl( 0 ), oParOp( 0 ), oPosition( 0 ), oTransition( 0 ), Str( "" ) ;

Value1 = Intra_ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ;

if Date = Date[1] then
Plot1( oParCl, "NewSAR" ) ;

metatrader
Mitglied seit 11 Jahre 1 Monat

@appzon,

hier ist die Lösung für dein SAR Problem, du musst dir lediglich unter dem nachfolgenden Link die Wilders DLL herunterladen.

TF:=Input("1=hour 2=day 3=week 4=month 5=year ",1,5,2);
NW:=If(TF=1,ROC(Minute(),1,$)<0,If(TF=2,ROC(Hour(),1,$)<0, If(TF=3,ROC(DayOfWeek(),1,$)<0,If(TF=4,ROC(DayOfMonth(),1,$)<0,ROC(Month(),1,$)<0))));

NSAR:=If(nw=1,Ref(C,-1),C);
ExtFml( "JWWILDER.CSAR", NSAR, .2); {Grün mit Open = Close vom Vortag}
SAR(0.2,0.2); {Original Blau}
ExtFml( "JWWILDER.CSAR", CLOSE, .2) {Custom Sar Rot}

YingYang
Mitglied seit 11 Jahre 1 Monat

@ metatrader #12

'hier ist die Lösung für dein SAR Problem, du musst dir lediglich unter dem nachfolgenden Link die Wilders DLL herunterladen'

Ich suche vergeblich nach einem Link.

metatrader
Mitglied seit 11 Jahre 1 Monat

@YingYang

hier der Link:

http://forum.equis.com/drm_main.php?mode=drm_cat_view&cat=8

Registrierung erforderlich. Bekannten Forenmitgliedern, die sich nicht registrieren möchten, kann ich die dll auch zusenden.

Hast du einen Fehler in meinen Berechnungen des corrected ema gefunden oder weichen die Ergebnisse wirklich auseinander?

Rückrufservice
Beschreiben Sie bitte Ihr Anliegen, damit wir uns auf den Rückruf vorbereiten können.
Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und willige ein, dass die von mir angegebenen Daten inklusive der Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung meiner Anfrage genutzt und nicht ohne Einwilligung weitergegeben. Diese Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.

Jetzt registrieren

Jetzt registrieren und ZMP Live+ 14 Tage kostenlos testen!
  • Dauerhaft kostenfrei
  • Keine Zahlungsinformationen erforderlich