Page 1 of 2

Hilfe: Express Code time channel yesterday HLOC

Posted: 27 Mar 2014 10:13
by Pit
Hallo kolleginn/en,
ich bräuchte mal eine hilfe zu Express und zwar soll für einen einstellbaren Zeitraum für gestern der open close hoch und tief kurs per Linie angezeigt werden. das geht mit dem freundlicherweise programmierten Code:

>>Express PrevDayHiLoClOp_Time

Vars

series Lo1, Hi1, Lo2, Hi2, b, ypO, ypC;
series xHi, xLo, zHi, zLo, wpO, wpC;
numeric MinLo,MaxHi, a, st, f, yHi, yLo ,xpO, xpC, zpO, zpC;
input $from (000,2100,1530) , $upto (005,2200,2200);

Calculation
Calculateateverytick(false);
st = min ($From, $upto);
f = max ($From, $upto);

if IsNewDay() then
begin
MaxHi = 0;
MinLo = 99999;
Hi1 = void;
Lo1 = void;
Hi2 = void;
Lo2 = void;
a = 0;
b = 0;
end

else if (timeOpen < NumericToTime(st)) then
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end

else if(timeOpen < NumericToTime(f)) then
begin
MaxHi = Max(MaxHi, High);
MinLo = Min(MinLo, Low);
Hi1 = MaxHi;
Lo1 = MinLo;
Hi2 = void;
Lo2 = void;
end

else
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end

xHi = MaxHi;
xLo = MinLo;


if timeOpen = NumericToTime(st) then
begin
xpO = open;
end
if timeOpen = NumericToTime(f) then
begin
xpC = close;
end
ypO = xpO;
ypC = xpC;

If IsNewDay() then
begin
xpO = void;
xpC = void;
yHi = xHi[1];
yLo = xLo[1];
zpO = ypO[1];
zpC = ypC[1];
end
zHi = yHi;
zLo = yLo;
wpO = zpO;
wpC = zpC;

if (timeOpen >= NumericToTime($from)) and (timeOpen <= NumericToTime($upto)) then
HighlightRGB("slot",255,255,160);

if zHi = 0 then zHi = void;
if zLo = 99999 then zLo = void;
if zHi <> zHi[1] then zHi[1] = void;
if zLo <> zLo[1] then zLo[1] = void;
if wpO <> wpO[1] then wpO[1] = void;
if wpC <> wpC[1] then wpC[1] = void;
Interpretation
begin
end

plot (wpO, magenta, 2);
plot (wpC, blue, 3);
plot (zLo, green, 2);
plot (zHi, lightred, 2);//@@@cs:611844-3615266-501451_cs@@@ <<


Das einzige Problem dabei ist der Schlußkurs ! und zwar muß ich z.B. im 30er Chart den Zeitkanal auf 21:30 setzen um den 22 Uhr Kurs angezeigt zu bekommen da offensichtlich immer der SK der letzten Kerze genommen wird. Ändere ich dann z.B den chart auf 5 min. muß ich den Zeitkanal auf 21:55 ändern, was ziemlich nervt - Ist wahrscheinlich für Express Profis kein Problem zu ändern aber ich beiß mir daran die Zähne aus :-) vielen Dank für eine Hilfe
LG Peter

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 28 Mar 2014 14:41
by WHS Support
Hallo Peter,

teste einmal mit dieser kleinen Modifikation.

Freundliche Grüße,
Timo
WH SelfInvest

///-----------------------------------------------------
Express PrevDayHiLoClOp_Time

Vars

series Lo1, Hi1, Lo2, Hi2, b, ypO, ypC;
series xHi, xLo, zHi, zLo, wpO, wpC;
numeric MinLo,MaxHi, a, st, f, yHi, yLo ,xpO, xpC, zpO, zpC;
input $from (000,2100,1530) , $upto (005,2200,2200);

Calculation
Calculateateverytick(false);
st = min ($From, $upto);
f = max ($From, $upto);

if IsNewDay() then
begin
MaxHi = 0;
MinLo = 99999;
Hi1 = void;
Lo1 = void;
Hi2 = void;
Lo2 = void;
a = 0;
b = 0;
end

else if (timeOpen < NumericToTime(st)) then
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end

else if(timeOpen < NumericToTime(f)) then
begin
MaxHi = Max(MaxHi, High);
MinLo = Min(MinLo, Low);
Hi1 = MaxHi;
Lo1 = MinLo;
Hi2 = void;
Lo2 = void;
end

else
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end
xHi = MaxHi;
xLo = MinLo;

if timeOpen = NumericToTime(st) then xpO = open;
if timeOpen = NumericToTime(f) then xpC = close[1];
ypO = xpO;
ypC = xpC;

If IsNewDay() then
begin
xpO = void;
xpC = void;
yHi = xHi[1];
yLo = xLo[1];
zpO = ypO[1];
zpC = ypC[1];
end
zHi = yHi;
zLo = yLo;
wpO = zpO;
wpC = zpC;

if (timeOpen >= NumericToTime($from)) and (timeOpen <= NumericToTime($upto)) then
HighlightRGB("slot",255,255,160);

if zHi = 0 then zHi = void;
if zLo = 99999 then zLo = void;
if zHi <> zHi[1] then zHi[1] = void;
if zLo <> zLo[1] then zLo[1] = void;
if wpO <> wpO[1] then wpO[1] = void;
if wpC <> wpC[1] then wpC[1] = void;

Interpretation
begin
end

plot (wpO, magenta, 2);
plot (wpC, blue, 3);
plot (zLo, green, 2);
plot (zHi, lightred, 2);

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 01 Apr 2014 11:16
by Pit
Hallo Timo,
danke für die Mühe , war leider ohne Erfolg
Bsp.: Fdax 5 min. Chart
bei der Zeitangabe 15:30 - 22:00 wird am nächsten Tag kein Schlußkurs des Vortages gezeichnet (genau wie bei nicht durch 5 teilbare Zeitangaben )
bei der Zeitangabe 15:30 - 21:55 wird am nächsten Tag der Schlußkurs der 21:50 Kerze gezeichnet usw.
fällt Dir/ euch dazu noch was ein --- wie bekomme ich den f. 22 Uhr Kurs ??? :?: :cry:
viele Grüße :D
Peter

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 01 Apr 2014 15:51
by WHS Support
Hallo Peter,

am besten wir überprüfen nochmals kurz das wir auch dasselbe meinen. Die Kerze im Chart bei 22:00 ist die Kerze die um 22:00 öffnet und um 22:04:59 schließt. Daher ist der Schlusskurs optisch immer eine Kerze vorher, da wir ja wirklich den Schlusskurs um 22:00 Uhr (in dem Fall 21:59:59 Uhr) sehen möchten und nicht den Kurs um 22:04:59, welcher den Abschluss der 22:00 Uhr Kerze darstellt.

Anbei ein Screenshot zur Verdeutlichung:
aaa.jpg
Freundliche Grüße,
Timo
WH SelfInvest

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 02 Apr 2014 11:25
by Pit
Danke Timo, ihr gebt euch wirklich Mühe

ich versuche es mal mit Bildern :-)

Fdax im 5 min Chart 22 Uhr Kurs nicht als Linie am nächsten Tag sichtbar :
2014-04-02 10 57 WHS.png

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 02 Apr 2014 11:28
by Pit
Zeitkanal auf 21:55 geändert - Close von 21:55 ! sichtbar ist allerdings ein schlechtes Bsp. , da 22:00 Close der selbe Kurs ist
2014-04-02 11 04 WHS.png

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 02 Apr 2014 11:32
by Pit
zum Verdeutlichen den 15 min Chart
2014-04-02 11 08 WHS.png
wie gesagt mir geht es um den 22 Uhr Kurs bei den amerik. Werten klappt es natürlich
nochmal Danke

vG
Peter

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 09 Apr 2014 09:05
by WHS Support
Hallo Peter,

okay, das stimmt in der Tat. Beim nachfolgenden Code wird der Schlusskurs nun korrekt angezeigt, solange man als Endzeit nicht den Tagesschluss einstellt (z.B. beim FDAX 22:00 Uhr). Für diesen spezifischen Fall habe ich leider noch keine Lösung gefunden (das Problem ist, dass die Uhrzeitabfrage immer auf den Eröffnungskurs referiert und man beim Dax leider nicht einfach um 22:05 Uhr den Wert der Vorperiode nehmen kann, da der Dax um 22:05 ja bereits nicht mehr quotiert).
Wir versuchen hierfür allerdings noch eine Lösung zu finden.

Freundliche Grüße,
Timo
WH SelfInvest

///-----------------------------------------------------
Express PrevDayHiLoClOp_timeSpan

Vars

series Lo1, Hi1, Lo2, Hi2, b, ypO, xclose, yclose;
series xHi, xLo, zHi, zLo, wpO;
numeric MinLo,MaxHi, a, st, f, yHi, yLo ,xpO, xpC, zpO, nclose, aclose;
input $from (000,2100,1530) , $upto (005,2200,2200);

Calculation
Calculateateverytick(false);
st = min ($From, $upto);
f = max ($From, $upto);

if IsNewDay() then
begin
MaxHi = 0;
MinLo = 99999;
Hi1 = void;
Lo1 = void;
Hi2 = void;
Lo2 = void;
a = 0;
b = 0;
nclose = xclose[1];
yclose[1] = void;
end

else if (timeOpen < NumericToTime(st)) then
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end

else if(timeOpen < NumericToTime(f)) then
begin
MaxHi = Max(MaxHi, High);
MinLo = Min(MinLo, Low);
Hi1 = MaxHi;
Lo1 = MinLo;
Hi2 = void;
Lo2 = void;
end
else
begin
Lo1 = void;
Hi1 = void;
Hi2 = void;
Lo2 = void;
end
xHi = MaxHi;
xLo = MinLo;
if timeOpen = NumericToTime(st) then xpO = open;
ypO = xpO;

If IsNewDay() then
begin
xpO = void;
xpC = void;
yHi = xHi[1];
yLo = xLo[1];
zpO = ypO[1];
end
zHi = yHi;
zLo = yLo;
wpO = zpO;

if (timeOpen >= NumericToTime($from)) and (timeOpen <= NumericToTime($upto)) then
begin
HighlightRGB("slot",255,255,160);
aclose = close[1];
end
xclose = aclose;
yclose = nclose;
if zHi = 0 then zHi = void;
if zLo = 99999 then zLo = void;
if zHi <> zHi[1] then zHi[1] = void;
if zLo <> zLo[1] then zLo[1] = void;
if wpO <> wpO[1] then wpO[1] = void;

Interpretation
begin
end

plot (wpO, magenta, 2);
plot (zLo, green, 2);
plot (zHi, lightred, 2);
plot (yclose, blue, 2);//@@@cs:621510-3625619-494483_cs@@@

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 11 Apr 2014 10:45
by Pit
Hallo Timo,
voerst schon mal danke - ich sehe ihr knobelt auch gerne :-) , denke die Lösung interessiert auch andere - gibt es ja schon lange bei anderen Plattformen... (meist als Markierung auf der Preisskala- fänd ich auch bei der Future station gut ) - dann noch die intradaykorrekte Volumen Anzeige im chart ... :-)

viele Grüße
Peter

Re: Hilfe: Express Code time channel yesterday HLOC

Posted: 26 Apr 2014 12:57
by cmbigboss
Hallo Peter ich hab die Sache so gelöst, kannst du dir mal anschauen. Ist programmier technisch vielleicht nicht perfekt, funktioniert aber in den Eurex Märken, für die Amis müsste man es anpassen, hab ich auch da. Viele Grüße Carsten