is het mogelijk dat je een indicator maakt die een cijfer onder een candle zet, nu komt het, ik heb ook de indexen ind die beginnen om 2.00 uur, maar ik wil beginnen om 9.00 uur met de eerste candle, liefst in het wit het cijfer.
{- Filename: Intraday candle teller -}
procedure TextBelowBar(Bar: integer; Text: string; AColor: TColor);
begin
with CreateText(BarPosition[Bar], Low[Bar], Text) do
begin
VertPosition := vpBottom;
HorzPosition := hpCenter;
Color := AColor;
end;
end;
var
FirstBarTime: TDateTime;
DayNr, NewDayNr, BarNr, i, iFirst: integer;
NCol: TColor;
begin
with Indicator do
begin
RequiredBars := 10;
NewBand := false;
HiddenParams := true;
end;
FirstBarTime := CreateParameterTime('Tijd eerste bar', 9/24);
NCol := CreateParameterColor('Cijferkleur', clSilver);
iFirst := FirstValidIndex(Close);
for i:=iFirst to BarCount-1 do
begin
NewDayNr := trunc(DateTime[i]);
if NewDayNr <> DayNr then
begin
DayNr := NewDayNr;
BarNr := 1;
end;
if frac(DateTime[i]) >= FirstBarTime then
begin
TextBelowBar(i, IntToStr(BarNr), NCol);
BarNr := BarNr+1;
end;
end;
end.
Werkt goed Eric, mijn dank, nog een vraag als ik in een 15 min grafiek bij de 1e candle van 9.00 het cijfer wil hebben moet ik 8.58 invullen toch bij tijd eerste bar?
Dat weet ik niet, want ik weet niet wat jij bedoelt met "de candle van 9:00". Maar je ziet waar de 1 verschijnt toch? Als dat goed is voor jou dan niks meer aan doen.
De regel is: nummer 1 wordt geplaatst bij de eerste bar met een tijd (eindtijd, zoals weergegeven bovenin de grafiek) na de opgegeven tijd.
Het is niet tot op de pixel te regelen, als dit nog niet is wat je wilt moet je het getal 0.9999 op de vijfde regel iets groter of kleiner maken (wel kleiner dan 1).
{- Filename: Intraday candle teller -}
procedure TextBelowBar(Bar: integer; Text: string; AColor: TColor);
begin
with CreateText(BarPosition[Bar], Low[Bar]*0.9999, Text) do
begin
VertPosition := vpBottom;
HorzPosition := hpCenter;
Color := AColor;
end;
end;
var
FirstBarTime: TDateTime;
DayNr, NewDayNr, BarNr, i, iFirst: integer;
NCol: TColor;
begin
with Indicator do
begin
RequiredBars := 10;
NewBand := false;
HiddenParams := true;
end;
FirstBarTime := CreateParameterTime('Tijd eerste bar', 9/24);
NCol := CreateParameterColor('Cijferkleur', clSilver);
iFirst := FirstValidIndex(Close);
for i:=iFirst to BarCount-1 do
begin
NewDayNr := trunc(DateTime[i]);
if NewDayNr <> DayNr then
begin
DayNr := NewDayNr;
BarNr := 1;
end;
if frac(DateTime[i]) >= FirstBarTime then
begin
TextBelowBar(i, IntToStr(BarNr), NCol);
BarNr := BarNr+1;
end;
end;
end.