dagkoersen in intradaygrafiekn - gebruik van "dag"koersen en

Vragen en suggesties over Vesticode

Moderator: Perry

dagkoersen in intradaygrafiekn - gebruik van "dag"koersen en

Berichtdoor cees » zo 07 sep 2003, 14:13

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;
cees
 
Berichten: 51
Geregistreerd op: wo 27 feb 2002, 19:48

dagkoersen in intradaygrafiekn

Berichtdoor Pierre » wo 10 sep 2003, 11:04

Hallo Cees,

Allereerst mijn complimenten voor je slimme opzet!
In principe heb je het helemaal goed opgezet.

Als je de functie vEMA vervangt door de functie Average dan zie je ook het effect dat je zou verwachten, namelijk dat er elke dag ??n vaste MA-waarde uitkomt.

De functie Average gaat goed omdat deze functie, steeds als hij weer aangeroepen wordt, de som berekent over de laatste 5 bars en die dan door 5 deelt. Dus ook als je die functie steeds bij elke bar aanroept, dan berekent hij braaf weer de som en deelt door 5.

De EMA is helaas een heel apart geval. Bij de EMA wordt namelijk niet echt het gemiddelde van de afgelopen 5 waarden gebruikt, maar wordt gebruik gemaakt van de vorige EMA-waarde en vervolgens wordt een deel van de nieuwe waarde er bij genomen. Dus als je op 'n dag 34 keer de EMA aanroept met steeds dezelfde waardes in de afgelopen 5 bars, dan alleen maar gekeken naar de laatste bar, en wordt de EMA-waarde van de vorige bar gecombineerd met de laatste close om een nieuwe EMA-waarde te berekenen.

De oplossing is om de EMA-waarde maar ??n keer per dag te berekenen en die waarde dan elke bar te dupliceren.

Je zou overigens nog kunnen overwegen om de test van Date<>Date[1] te veranderen in Date<>Date[-1], waardoor je de dag afsluit bij de laatste bar van vandaag ipv bij de eerste bar van morgen. Maakt niet echt veel uit maar is toch net effe logischer.

Nogmaals mijn complimenten voor de opzet van het geheel!

vr. groeten,
Pierre Dolmans
Vestico
Pierre
 
Berichten: 412
Geregistreerd op: di 02 okt 2001, 9:46
Woonplaats: Leerdam

dagkoersen in intradaygrafiekn

Berichtdoor cees » do 11 sep 2003, 21:29

Ls

DE volgende post heb ik gezet bij Handelssystemen en indicatoren, omdat het onderwerp daar meer op zijn plaats is
cees
 
Berichten: 51
Geregistreerd op: wo 27 feb 2002, 19:48


Keer terug naar Vesticode

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 11 gasten

cron