Ls,
In dit forum is wel eens de wens geuit om signalen van indicatoren van verschillende timeframes te kunnen combineren.
In dit geval gaat het om het gebruik van dagindicatoren in een intradaygrafiek.
Ik heb een indicator ?DAG ?gemaakt en op zich werkt het goed, maar de toepassing werkt nog niet.
Er zijn series gedefinieerd van de dagkoersen en de bedoeling is om bv na 20 dagen vanaf de current bar naar het verleden een reeks te hebben van 20 dagkoersen en na 30 dagen een reeks van 30 dagen.
De reeksen blijven de gehele dag gelijk en veranderen alleen bij de eerste bar van de nieuwe dag. dan wordt de laatste dagkoers de dagkoers van de vorige dag. ?
Bij alle andere bars geduerende de dag schuif ik alle dagkoersen een bar op, zodanig dat in de current bar steeds de laatste dagkoers staat.
?
Aan het eind staat wat testcode en daaraan kan je zien dat het misschien werkt.
De toepassing is als volgt.
Stel je hebt in de designer een module toegevoegd aan een intraday grafiek. Bv module xTest met een variabele xTrend.
Je wilt nu de ema berekenen en tekenen van de variabele xTrend. Je voegt de ema in als aparte indikator en als series geef je op xTest.xtrend.
Vestics berekent dan de ema van xtrend.
Bij de indicator dag heten de koersen (series) xDayOpen,xDayClose etc.
Stel je wilt een ema berekenen over de dagclose.
Je voegt de ema in en als series geef je op Dag.xDayClose en de ema wordt getekend.
En hier gaat het fout!!!!!!!!!!!!
Bv een 5 daagse ema over de dagclose. Deze zou in principe gedurende de dag NIET van waarde mogen veranderen want de reeks van dagclosen is voor alle bars van die dag gelijk.
Zouden de Vesticode cracks er eens naar willen kijken.
Als het zou werken dan hebben we misschien een eerste kleine stap gedaan naar het gebruik van dagindikatoren in intraday grafieken.
Als je de code wilt kopieren in vestics, kun je dat het beste doen vanuit de editor. (dwz net doen of je wilt reageren op deze posting en dan de zaak kopieren).
Ik ben benieuwd
groetjes
cees
value function Dag
BEGIN
value Newday,xDOpen,xDHigh,xDLow,xDClose,
? ? ?xDayOpen[],xDayHigh[],xDayLow[],xDayClose[],
? ? ?xDays,xCounter;
{ ?---initalisation of xDays---}
? ? ? ? ? ? ?
if currentBar=1 then xDays:=0;
{------ ?test of a new day-------}
if date>date[1] then newday=1 else newday:=0;
{---actions taken at start of New Day---}
if newday=1 then
begin
{-- put dayprices of yesterday in current Bar---}
xDayOpen :=xDOpen;
xDayHigh :=xDHigh;
xDayLow ?:=xDLow;
xDayClose:=Close[1];
{--- start values of dayprices of to-day--}
xDopen :=Open;
xDHigh :=High;
xDLow ?:=Low;
xDays:=xDays+1;
end;
{---- move all existing dayprices one bar ahead----}
if Newday=0 then
begin
for xCounter:=0 to xDays-1 do
? begin
? ?xDayOpen [xCounter]:=xDayOpen [xCounter+1];
? ?xDayHigh [xCounter]:=xDayHigh [xCounter+1];
? ?xDayLow ?[xCounter]:=xDayLow ?[xCounter+1];
? ?xDayClose[xCounter]:=xDayClose[xCounter+1];
? end;
end;
{--Calculation of Day High and Low--}
if xDHigh<High then xDHigh:=High;
if xDLow >Low ?then xDLow :=Low;
Plot1(xDayClose);
{--- de volgende code is alleen voor testen !!!!!---}
{---- testcode begint hier----}
print(time,' ',xDayClose[0],' ',xDayclose[1],' ',xDayClose[2],
? ? ? ' ',xDayClose[3],' ',xDayClose[4],' ',xDayClose[5]);
if CurrentBar=vLastBar then
begin
for xCounter:=0 to xDays-1
begin
? ?print('xDayClose ?:',xDayClose[xCounter]);
end;
end;
{-- testcode eindigt hier----}
END;