door cees » ma 18 aug 2003, 11:24
Hannie,
Ik heb een tijdje geleden een indicator gemaakt die de data checkt. De indicator is nog niet klaar, want ik wil er nog de (onterechte) ?spikes uitfilteren
Er zijn 3 checks
1 Integriteit.
?bv Close mag niet lager zijn dan low en niet hoger dan high ?etc.
2 gelijke koersen.
?Als de Open,High,Low,Close aan elkaar gelijk zijn geeft hij een foutmelding.
3 geen koersen.
?Hierbij wordt gecheckt of de koersen van de huidige bar gelijk zijn aan de koersen van de vorige bar.
De 3 soorten fouten komen in aparte subgrafieken op het scherm en als rapport komt er een overzicht uit van het aantal fouten per type fout.
De bedoeling is dat je deze indicator toevoegt aan een grafiek, zonder verdere indicatoren of systemen etc.
Hieronder volgt de code
groetjes
cees
Value Function zCheckData
BEGIN
value xIntegrity[],xSameData[],xNoData[],
? ? ?xTotal1,xTotal2,xTotal3;
{ininialisation of variables}
if CurrentBar=1 then
begin
xTotal1:=0;xTotal2:=0;xTotal3:=0;
end;
{check integrity of data}
xIntegrity:=0;
if Open ?> High or
? Low ? > High or
? Close > High or
? Open ?< Low ?or
? Close < Low ?then
begin
xIntegrity:=1;
xTotal1:=xTotal1+1;
end;
{check wether prices are the same}
xSameData:=0;
if Open=High and Open=Low and Open=Close then
begin
xSameData:=1;
xTotal2:=xTotal2+1;
end;
{check availability of prices}
xNoData:=0;
if CurrentBar>1 then
begin
if Open =Open[1] ?and
? ? High =High[1] ?and
? ? Low ?=Low[1] ? and
? ? Close=Close[1] then ? ? ?
begin
?xNoData:=1;
xTotal3:=xTotal3+1;
end;
end;
plot1(xIntegrity,'Integrity Error');
plot2(xSameData,'Same Data ');
plot3(xNoData,'No Data');
if CurrentBar=vLastBar then
begin
Print('Overzicht aantal fouten in koersdata');
Print('Type fout ? ? ? ? ? ? ?Aantal');
Print('Integriteit ? ? ? ? ?: ',xTotal1);
Print('Gelijke koersen ? ? ?: ',xTotal2);
Print('Geen koersen ? ? ? ? : ',xTotal3);
end;
END;