Reworking DataRecords and DataFlow

This commit is contained in:
Michael Schimmel
2025-07-22 14:44:48 +02:00
parent bf4ef71cba
commit 5b8b475da7
7 changed files with 191 additions and 234 deletions
+4 -4
View File
@@ -579,17 +579,17 @@ end;
constructor TEMA.Create;
begin
inherited
Create(TDataRecord.TLayout.CreateFrom<TParam>, TDataRecord.TLayout.CreateFrom<TInput>, TDataRecord.TLayout.CreateFrom<TResult>)
Create(TDataRecord.TLayout.FromRecord<TParam>, TDataRecord.TLayout.FromRecord<TInput>, TDataRecord.TLayout.FromRecord<TResult>)
end;
function TEMA.CreateIndicator(const Params: TDataRecord): TIndicatorFactory.TFunc;
begin
var Period := Params.GetValue<Integer>('Period');
var Input := TDataRecord.TLayout.CreateFrom<TInput>;
var Input := TDataRecord.TLayout.FromRecord<TInput>;
var inPrice := Input.IndexOf('Price');
var Output := TDataRecord.TLayout.CreateFrom<TResult>;
var Output := TDataRecord.TLayout.FromRecord<TResult>;
var outMA := Output.IndexOf('MA');
var CalcEMA := TIndicators.CreateEMA(Period);
@@ -602,7 +602,7 @@ begin
var MA := CalcEMA(Price);
Result := TDataRecord.CreateFrom(Output);
Result := TDataRecord.FromRecord<TResult>;
Result.SetValue(outMA, MA);
end;
end;