Dienstag, 23. April 2024, 20:01 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

KTB

unregistriert

1

Freitag, 8. April 2005, 03:06

Suche Schaff-Trend-Cycle-Indikator !

Ich benötige dringend den Schaff-Trend-Cycle-Indikator für Investox XL 4.0.35
Wer kann mir weiterhelfen ?


- Vielen Dank-
MfG
KTB

Chris

unregistriert

2

Freitag, 8. April 2005, 16:58

RE: Suche Schaff-Trend-Cycle-Indikator !

Hallo,

vielleicht kann man das ja jemand von Metastock noch Investox übertragen: ?(


{ Automatic trigger levels }
{ Also see:
"MACD oscillator - Schaff Trend Cycle" }
{ josesilva22@yahoo.com }
{ With thanks to Tim Straiton, www.stoploss.ch }

{ variables input }
buffer:=Input("Long/Short buffer zone %",
0,100,0)/100;
pdsCy:=Input("Schaff cycle periods",2,252,10);
pdsSh:=Input("Short periods",1,252,10);
pdsLg:=Input("Long periods",2,2520,21);

{ Schaff Trend Cycle }
MCD:=Wilders(MP(),pdsSh)-Wilders(MP(),pdsLg);
ST:=(MCD-LLV(MCD,pdsCy))
/(HHV(MCD,pdsCy)-LLV(MCD,pdsCy))*100;
STC:=Wilders(ST,pdsCy/2);

{ Schaff Trend Cycle }
MCD:=Wilders(MP(),pdsSh)-Wilders(MP(),pdsLg);
ST:=(MCD-LLV(MCD,pdsCy))
/(HHV(MCD,pdsCy)-LLV(MCD,pdsCy))*100;
STC:=Wilders(ST,pdsCy/2);

{ automatic trigger levels }
pk:=Ref(STC,-1)>STC AND Ref(STC,-1)>Ref(STC,-2);
pkVal:=If(pk,Ref(STC,-1),0);
pkAvg:=Cum(pkVal)/(Cum(pk)+.000001);
pkAvg:=If(pkAvg=0,100,pkAvg);
tr:=Ref(STC,-1)<STC AND Ref(STC,-1)<Ref(STC,-2);
trVal:=If(tr,Ref(STC,-1),0);
trAvg:=Cum(trVal)/(Cum(tr)+.000001);

{ STC crossover signals }
In:=Cross(pkAvg,STC);
Out:=Cross(STC,trAvg);
InInit:=Cum(In)=1;
Init:=Cum(In+Out>-1)=1;
flag:=BarsSince(Init OR In)
< BarsSince(Init OR Out)+InInit;
signals:=(InInit AND Alert(InInit=0,2)
OR flag AND Alert(flag=0,2))
-(flag=0 AND Alert(flag,2));

{ trend support/resistance levels }
STCI:=If(flag,ValueWhen(1,signals,L*(1-buffer)),
ValueWhen(1,signals=-1 OR Init,H*(1+buffer)));

{ alternative STC crossover signals method}
{bb:=BarsSince(Cross(STC,trAvg));
bs:=BarsSince(Cross(pkAvg,STC));
tb:=ValueWhen(1,Cross(STC,trAvg),H*(1+buffer));
ts:=ValueWhen(1,Cross(pkAvg,STC),L*(1-buffer));
STCI:=If(bb<bs,tb,ts);}

{ plot on price chart }
STCI

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

3

Montag, 11. April 2005, 12:00

RE: Suche Schaff-Trend-Cycle-Indikator !

Hallo,

die Übertragung von Metastock-Code ist in der Regel relativ einfach:

1) Definitionen mit := werden in Investox mit Const bzw. Calc vorgenommen, also statts
MCD:=Wilders(MP(),pdsSh)-Wilders(MP(),pdsLg);
ist zu schreiben:
calc MCD: Wilders(MP(),pdsSh)-Wilders(MP(),pdsLg);

2) Variablen-Inputs können durch Const-Angaben oder als Parameter in Anwenderindikatoren umgesetzt werden.

3) Spezifische Indikatoren von MetaStock müssen ersetzt bzw. angepasst oder umbenannt werden, hier ist das:
- MP() - der Midpoint (High+Low)/2
- Wilders() - eine spezielle Glättung nach Wilders, die näherungsweise durch die expon. Glättung ersetzt werden kann.

Als Beispiel hier:
----------------------------
{ variables input }
const buffer: 0.5;
const pdsCy: 25;
const pdsSh: 5;
const pdsLg: 15;
const pdsCy2: pdsCy/2;
{ Schaff Trend Cycle }
calc MP: (High+Low)/2; {MP=Midpoint high/low}
calc MCD: GD(MP,pdsSh,e)-GD(MP,pdsLg,e);
calc ST: (MCD-LLV(MCD,pdsCy))/(HHV(MCD,pdsCy)-LLV(MCD,pdsCy))*100;
calc STC: GD(ST,pdsCy2,e);
STC
----------------------------

Viele Grüße
Andreas Knöpfel

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

4

Montag, 11. April 2005, 12:22

Die orginal (Grund)Einstellungen des STC:

const pdsCy: 10;
const pdsSh: 23;
const pdsLg: 50;
const pdsCy2: pdsCy/2;
{ Schaff Trend Cycle }
calc MP: (High+Low)/2; {MP=Midpoint high/low}
calc MCD: GD(MP,pdsSh,e)-GD(MP,pdsLg,e);
calc ST: (MCD-LLV(MCD,pdsCy))/(HHV(MCD,pdsCy)-LLV(MCD,pdsCy))*100;
calc STC:GD(ST,pdsCy2,e);
STC


Alternativ mit dem T3 geglättet:

const pdsCy: 10;
const pdsSh: 23;
const pdsLg: 50;
const pdsCy2: pdsCy/2;
{ Schaff Trend Cycle }
calc MP: (High+Low)/2; {MP=Midpoint high/low}
calc MCD: GD(MP,pdsSh,e)-GD(MP,pdsLg,e);
calc ST: (MCD-LLV(MCD,pdsCy))/(HHV(MCD,pdsCy)-LLV(MCD,pdsCy))*100;
calc STC:T3(ST, pdsCy2, 0.1);
STC



Vorteil: Glättung kann zusätzlich verfeinert werden!Die Formel kann komplett als eigener Indikator (XL Version) angelegt, und von dort aus alle Variablen gesteuert werden!



@ Herrn Knöpfel:

Welche Funktion hat "buffer"?
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

5

Montag, 11. April 2005, 12:44

Die besten Annäherungen an WILDERS erhält man nach meinen "Schnelltests" mit dem T3!

Zum vergleichen im Chart der WILDERS:

-----------------------------
const Perioden:5;
calc Array: Close;
calc A: 1/Perioden;
calc B: 1-A;
(A * Array + B *Prev)
-----------------------------

Vorsicht! Der Indikator beinhaltet PREV! Bitte nicht bei hoher PC Auslastung
und sehr langer Historie testen!
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

6

Montag, 11. April 2005, 16:09

Hallo,

eine Kleinigkeit sollte noch erwähnt werden weil es m.M. in der kopierten Formel von Chris falsch ist:Der STC rechnet nicht mit MP (MID POINT) sondern mit TYPICAL PRICE: (O+C+L)/3

Dies wirkt sich aber bei so vielen Glättungen so gut wie nicht aus-wollte es nur noch der Vollständigkeit halber schreiben...
Happy Trading