Hilfe: Express Code time channel yesterday HLOC

Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Hilfe: Express Code time channel yesterday HLOC

Post 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
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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);
Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
You do not have the required permissions to view the files attached to this post.
Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
You do not have the required permissions to view the files attached to this post.
Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
You do not have the required permissions to view the files attached to this post.
Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
WHS Support
Posts: 2430
Joined: 14 Feb 2013 10:27

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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@@@
Pit
Posts: 25
Joined: 05 Aug 2013 09:53

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
cmbigboss
Posts: 22
Joined: 10 Sep 2013 09:26

Re: Hilfe: Express Code time channel yesterday HLOC

Post 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
You do not have the required permissions to view the files attached to this post.
Post Reply

Return to “WHS NANOTRADER - EXPRESS PROGRAMMING”