. StdDev() functie is gewijzigd voor standaarddeviatie berekening "gehele populatie"
. StdDevS() functie is toegevoegd voor standaarddeviatie berekening "steekproef"
. Indicator.FutureBars voor vrijhouden ruimte (in bars) in de toekomst
. Indicator.HiddenParams voor verbergen parameters in grafiektitel
. Indicator.BkColor / BkColor2 voor instelling achtergrondkleur / verlopend naar
. IndicatorLine.UpColor, DownColor en NeutralColor voor instelling aparte lijnkleuren
. FillLinesRegion en FillLinesRegionShaded functies is toegevoegd voor vullen/arceren van gebieden
. CreateParameterColor functie is toegevoegd voor kleurkeuze parameter
Met de nieuwe functies FillLinesRegion en FillLinesRegionShaded kan het gebied tussen twee indicatorlijnen worden gevuld. Hiermee kunnen bepaalde situaties eenvoudig worden gevisualiseerd. Een voorbeeld:
Code: Selecteer alles
{- Filename: MA dual -}
var
nMA1, nMA2: integer;
sMA1, sMA2: TSeries;
bShaded: boolean;
nFillStyle: integer;
cl1, cl2: TColor;
begin
nMA1 := CreateParameterInteger('MA1', 1, 999, 10, true);
nMA2 := CreateParameterInteger('MA2', 1, 999, 26, true);
bShaded := CreateParameterBoolean('Verlopende kleuren', true, false);
nFillStyle := CreateParameterSelect('Arcering', 'Solid'#9'Horizontal'#9'Vertical'#9'FDiagonal'#9'BDiagonal'#9'Cross'#9'DiagCross', 1, false);
cl1 := CreateParameterColor('Kleur 1', clLime);
cl2 := CreateParameterColor('Kleur 2', clRed);
{ Indicator eigenschappen }
with Indicator do
begin
RequiredBars := nMA2*5;
NewBand := false;
ScaleRange := srCommon;
end;
{ Indicatorberekening }
sMA1 := MA(Close, maExponential, nMA1);
sMA2 := MA(Close, maExponential, nMA2);
if bShaded then
FillLinesRegionShaded(0, 1, clYellow, cl1, clYellow, cl2)
else
case nFillStyle of
0: FillLinesRegion(0, 1, cl1, cl2, bsSolid);
1: FillLinesRegion(0, 1, cl1, cl2, bsHorizontal);
2: FillLinesRegion(0, 1, cl1, cl2, bsVertical);
3: FillLinesRegion(0, 1, cl1, cl2, bsFDiagonal);
4: FillLinesRegion(0, 1, cl1, cl2, bsBDiagonal);
5: FillLinesRegion(0, 1, cl1, cl2, bsCross);
6: FillLinesRegion(0, 1, cl1, cl2, bsDiagCross);
end;
with CreateLine(sMA1) do
begin
Name := 'MA1';
Visible := true;
end;
with CreateLine(sMA2) do
begin
Name := 'MA2';
Visible := true;
end;
end.
Eric