Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Posts aus dem alten Userforum » 20 Tage Hoch im Stundenchart » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
_Phil
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 75

_Phil ist offline
  20 Tage Hoch im StundenchartAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Wie kann ich in einem Stundenchart die 20 Tage Hoch Linie verwenden?
Ich hab s mit 2 Datenreihen probiert (data1 Stunde, data2 Tag), berechne highest(high of data2, 20) und bekomme dennoch das 20 Stunden Hoch?!
Das ganze wird in einem Signal verwendet.

Bin ich zu blöd oder doch die TS ?
phil

28.02.2001, 12:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Phil senden Homepage von _Phil
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: 20 Tage Hoch im StundenchartAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo, phil!

Die Lösung dieses Problems ruft nach einer Function-Programierung. Dennoch möchte ich hier erst eine Lösung als Indikator vorstellen:


input: xDays(20);

vars: xDayHighest(0), xDayLowest(99999999), counter(0);

arrays: xDayHigh[50](0), xDayLow[50](0);

if date>date[1] then
begin
xDayHighest=0;
for counter= MinList(xDays,50) downto 1
begin
xDayHigh[counter]=xDayHigh[counter-1];
if xDayHighest end;

xDayHigh[0]=0;

xDayLowest=99999999;
for counter= xDays downto 1
begin
xDayLow[counter] = xDayLow[counter-1];
if xDayLowest > xDayLow[counter] then xDayLowest = xDayLow[counter];
end;
xDayLow[0]=99999999;

end;

if high > xDayHighest then xDayHighest=high;
if high > xDayHigh[0] then xDayHigh[0]=high;


if low < xDayLowest then xDayLowest=low;
if low < xDayLow[0] then xDayLow[0]=low;

plot1(xDayHighest,"xDayHighest");
plot2(xDayLowest,"xDayLowest");


Die For-Schleife ist bewußt in zwie Teiel belassen um die Hichs und Tiefansätze zu trennen. Es würden also zwei Function-Codes entstehen, die als Rückgave wert die gesuchte Größe liefert.

z.B.
Function : xDaysHighest


input: xDays(NumericSimple);

vars: xDayH(0), counter(0);
arrays: xDayHigh[50](0), xDayLow[50](0);

if date>date[1] then
begin
xDayH=0;
for counter= xDays downto 1
begin
xDayHigh[counter]=xDayHigh[counter-1];
if xDayH end;
xDayHigh[0]=0;
end;

if high > xDayH then xDayH=high;
if high > xDayHigh[0] then xDayHigh[0]=high;

xDaysHighest=xDayH;


somit würde sich ein Funktionsaufruf in einem Programm entsprechend vereinfachen:

value=xDaysHighest(LenX);

Vielleicht hat s geholfen
Uwe

(P.S.: Funktion nicht gestestet!)

28.02.2001, 14:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: 20 Tage Hoch im Stundenchart / ProgrammkorrekturAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen


for counter= MinList(xDays -1, 50) downto 1

Die Korrektur muß sein, um xTage nach dem Eintreten des Hochs, den Hinweis darauf noch zu bekommen (da heute mit 0) wobei der Tag des Hochs mitgezählt wird! Ansonsten würde der Wert xTage+1 bestehen bleiben.

In der Funktionsanweisrung sollte die gleiche For-Zeile benutzt werden, um zu vermeiden, daß eine Größe gewählt wird, die Anzahl der zulässigen Feldülatze sprengt, zu verhindern.

Uwe

28.02.2001, 14:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
_Phil
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 75

_Phil ist offline
  RE: 20 Tage Hoch im Stundenchart ;-)Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Uwe!

Vielen Dank für den Lösungsvorschlag, er hat mich auf den richtigen Weg gewiesen.
Da ich ganz gerne mit 2 Datenreihen arbeite, habe ich das ganze jetzt so gelöst:

Inputs: len(20);
Variables: hi(0),counter(0), h2(0);

{data1: Intraday, data2: Tagesdaten}

h2=high of data2; {Tageshoch}

array: highwerte[50](0); {Enthaelt die Tageshochs}

if time=sess1Endtime then begin { Verschiebt die Tageshochs um 1 nach hinten}
for counter=len downto 1 begin
highwerte[counter]=highwerte[counter-1];
End;
highwerte[1]=h2; {Schreibt das neue Tageshoch ins Array}
End;

hi=0;
for counter=1 to len begin {ermittelt den neuen Highest Wert}
if highwerte[counter] > hi then hi=highwerte[counter];
End;

plot1(hi);

phil

28.02.2001, 16:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Phil senden Homepage von _Phil
  « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR