Freitag, 19. April 2024, 22:27 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

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