Generic indicator factory
This commit is contained in:
@@ -6,6 +6,7 @@ uses
|
||||
System.SysUtils,
|
||||
System.Classes,
|
||||
Myc.Data.Records,
|
||||
Myc.Data.Pipeline,
|
||||
Myc.Trade.Indicators;
|
||||
|
||||
type
|
||||
@@ -61,7 +62,7 @@ uses
|
||||
class function TMyWorker.CreateFactory: TIndicatorFactoryProc<TParams, TArgs, TResult>;
|
||||
begin
|
||||
Result :=
|
||||
function(const Params: TParams): TIndicatorProc<TArgs, TResult>
|
||||
function(const Params: TParams): TConvertFunc<TArgs, TResult>
|
||||
begin
|
||||
var Log := TStrings(Params.Log);
|
||||
var text := Params.text;
|
||||
@@ -101,7 +102,7 @@ end;
|
||||
class function TSmaIndicator.CreateFactory: TIndicatorFactoryProc<TParams, TArgs, TResult>;
|
||||
begin
|
||||
Result :=
|
||||
function(const Params: TParams): TIndicatorProc<TArgs, TResult>
|
||||
function(const Params: TParams): TConvertFunc<TArgs, TResult>
|
||||
var
|
||||
// State for the indicator closure
|
||||
period: Integer;
|
||||
@@ -150,7 +151,7 @@ procedure TestSma(const Log: TStrings);
|
||||
var
|
||||
fact: TGenericIndicatorFactory;
|
||||
params: TDataRecord;
|
||||
indi: TIndicatorProc<TDataRecord, TDataRecord>;
|
||||
indi: TConvertFunc<TDataRecord, TDataRecord>;
|
||||
args: TDataRecord;
|
||||
res: TDataRecord;
|
||||
smaValue: Double;
|
||||
|
||||
Reference in New Issue
Block a user