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
Hilfe: Express Code time channel yesterday HLOC
- WHS Support
- Posts: 2430
- Joined: 14 Feb 2013 10:27
Re: Hilfe: Express Code time channel yesterday HLOC
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);
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
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 ???
viele Grüße
Peter
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 ???
viele Grüße
Peter
- WHS Support
- Posts: 2430
- Joined: 14 Feb 2013 10:27
Re: Hilfe: Express Code time channel yesterday HLOC
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: Freundliche Grüße,
Timo
WH SelfInvest
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: Freundliche Grüße,
Timo
WH SelfInvest
You do not have the required permissions to view the files attached to this post.
Re: Hilfe: Express Code time channel yesterday HLOC
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 :
ich versuche es mal mit Bildern
Fdax im 5 min Chart 22 Uhr Kurs nicht als Linie am nächsten Tag sichtbar :
You do not have the required permissions to view the files attached to this post.
Re: Hilfe: Express Code time channel yesterday HLOC
Zeitkanal auf 21:55 geändert - Close von 21:55 ! sichtbar ist allerdings ein schlechtes Bsp. , da 22:00 Close der selbe Kurs ist
You do not have the required permissions to view the files attached to this post.
Re: Hilfe: Express Code time channel yesterday HLOC
zum Verdeutlichen den 15 min Chart
wie gesagt mir geht es um den 22 Uhr Kurs bei den amerik. Werten klappt es natürlich
nochmal Danke
vG
Peter
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.
- WHS Support
- Posts: 2430
- Joined: 14 Feb 2013 10:27
Re: Hilfe: Express Code time channel yesterday HLOC
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@@@
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
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
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
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.