Metastock: Validierung mit Cum () Funktion
Hallo metatrader,
vor längerer Zeit hast Du mehrmals ein variables Stop-System hier vorgestellt, das ich gut nachvollziehen kann. Nur eine Zeile kapiere ich nicht:
In:=Cross(C,Mov(C,pds,E)); {Kaufsignal}
Out:=0; {Verkaufssignal}
Init:=Cum(In+Out>-1)=1; {Validierung}
ein anderes Beispiel war:
Signal mit Cum
Buy:=Cross(C,Mov(C,200,S));
Sell:=Cross(Mov(C,200,S),C);
i:=Cum(buy>-1 AND sell>-1)=1;
BarsSince(i OR buy)<=BarsSince(i OR sell)=0
Die angegebenen Charts sind zwar eindeutig, aber wie funktioniert diese spezielle Anwendung der Cum() Funktion.
Welchen Value hat der Cum-Klammerausdruck (Anzahl der vorhandenen Perioden??), da die Klammerglieder buy und sell nur die Werte 1(true) oder 0(false), nie aber -1 annehmen.
Wo ist der Unterschied zu Cum(1)?
Kann Init bzw. I jemals einen anderen Wert als 1 haben?
Habe nur ich Probleme mit dem Verständnis der Cum() Funktion als Summen-/bzw. Zähl-Formel.
Schon mal vielen Dank für eine easy-Erklärung.
MfG
trader41
@ trader41 [#1]
Die Cum Funktion liefert die Anzahl der Datenpunkte in einem Chart, die einer bestimmten Bedingungen entsprechen.
Cum(1) liefert die Anzahl der geladenen Bars eines Charts.
Buy:=Cross(C,Mov(C,200,S));
Sell:=Cross(Mov(C,200,S),C);
i:=Cum(buy>-1 AND sell>-1)=1;
i:=Cum(buy>-1 AND sell>-1)=1; liefert den Punkt, an dem die 200er Mov zum ersten Mal definiert ist => 200 Bars. I ist daher genau einmal 1, ansonsten immer 0.
@ metatrader,
besten Dank für die Nachhilfe.
Wenn ich das richtig verstanden habe, könnte man das auch als IF Funktion schreiben :
i:=If(Cum(buy>-1 AND sell>-1)=1,1,0);
Hoffentlich liege ich damit nicht falsch, denn dann hätte ich es nicht verstanden.
Mit euren komprimierten Formeln habe ich so meine Schwierigkeiten.
Mit freundlichem Gruß
der Novize trader41