unit untTrade;
interface
uses
untIDateTime,
untPair,
untHistoricalList;
type
TTradeRecord = record
private
Public
Pair : TPair;
TimeStep: TTimeStep;
procedure Init();
procedure Assign(aTradeRecord: TTradeRecord);
end;
TTradeList = record
private
function getCount: Integer;
Public
Items: Array of TTradeRecord;
procedure Init();
procedure Assign(aTradeList: TTradeList);
procedure Add(aTradeRecord: TTradeRecord);
property Count: Integer read getCount;
end;
implementation
{ TTradeRecord }
procedure TTradeRecord.Assign(aTradeRecord: TTradeRecord);
begin
Self.Pair := aTradeRecord.Pair;
Self.TimeStep := aTradeRecord.TimeStep;
end;
procedure TTradeRecord.Init;
begin
Self.Pair := peUSDJPY;
Self.TimeStep.enum := ts1Hour;
end;
{ TTradeList }
procedure TTradeList.Add(aTradeRecord: TTradeRecord);
begin
SetLength(Self.Items, Length(Self.Items) + 1);
Self.Items[High(Self.Items)].Assign(aTradeRecord);
end;
procedure TTradeList.Assign(aTradeList: TTradeList);
var
i: Integer;
begin
SetLength(Self.Items, aTradeList.Count);
for i := 0 to Self.Count - 1 do
Self.Items[i].Assign(aTradeList.Items[i]);
end;
function TTradeList.getCount: Integer;
begin
Result := Length(Self.Items);
end;
procedure TTradeList.Init;
begin
SetLength(Self.Items, 0);
end;
end.
10日目 構造体を使ったリスト
コメントをどうぞ