mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-07-24 04:45:55 +02:00
52 lines
865 B
ObjectPascal
52 lines
865 B
ObjectPascal
unit frmOHLC;
|
|
|
|
{$mode ObjFPC}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils,
|
|
Forms, Controls,
|
|
TAGraph, TAChartUtils, TAMultiSeries;
|
|
|
|
type
|
|
TOHLCFrame = class(TFrame)
|
|
Chart: TChart;
|
|
OpenHighLowCloseSeries: TOpenHighLowCloseSeries;
|
|
private
|
|
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
constructor TOHLCFrame.Create(AOwner: TComponent);
|
|
var
|
|
ylist: array[1..4] of Double;
|
|
i, j: Integer;
|
|
y, y0: Double;
|
|
begin
|
|
inherited;
|
|
|
|
OpenHighLowCloseSeries.ListSource.YCount := 4;
|
|
y := 50;
|
|
for i := 1 to 50 do begin
|
|
y += Random(80) / 10 - 4;
|
|
ylist[1] := y;
|
|
for j := 1 to 3 do begin
|
|
ylist[j] += Random(20) / 10 + 1;
|
|
ylist[j + 1] := ylist[j];
|
|
end;
|
|
if Random(3) = 1 then
|
|
Exchange(ylist[1], ylist[2]);
|
|
OpenHighLowCloseSeries.AddXY(i, y, ylist);
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|