Testing data processing
This commit is contained in:
+16
-10
@@ -52,7 +52,8 @@ uses
|
||||
DynamicFMXControl,
|
||||
Myc.FMX.Chart,
|
||||
Myc.Trade.Indicators,
|
||||
StrategyTest;
|
||||
StrategyTest,
|
||||
TestMethodCallFromRecordParams;
|
||||
|
||||
type
|
||||
TForm1 = class(TForm)
|
||||
@@ -87,6 +88,7 @@ type
|
||||
procedure StopButtonClick(Sender: TObject);
|
||||
procedure TreeViewDblClick(Sender: TObject);
|
||||
procedure AddWorkspaceActionExecute(Sender: TObject);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
procedure Strat2ButtonClick(Sender: TObject);
|
||||
procedure TestActionExecute(Sender: TObject);
|
||||
procedure StrategyButtonClick(Sender: TObject);
|
||||
@@ -285,6 +287,11 @@ begin
|
||||
Control.Align := TAlignLayout.Top;
|
||||
end;
|
||||
|
||||
procedure TForm1.Button1Click(Sender: TObject);
|
||||
begin
|
||||
Test1(LogMemo.Lines);
|
||||
end;
|
||||
|
||||
function TForm1.CreateStrategy2(Timeframe: TTimeframe): IConsumer<TDataPoint<TOhlcItem>>;
|
||||
type
|
||||
TSignal = record
|
||||
@@ -478,21 +485,20 @@ begin
|
||||
pnlChart.SetXAxisCounter<Double>(equity.Producer);
|
||||
|
||||
////////////
|
||||
var EMAFactory := TEMA.Create;
|
||||
|
||||
var Params := TDataRecord.Create(EMAFactory.Params);
|
||||
Params.SetValue<Integer>('Period', 20);
|
||||
var Params: TEMA.TParam;
|
||||
Params.Period := 20;
|
||||
|
||||
var indi := EMAFActory.CreateIndicator(Params);
|
||||
var indi := TEMA.CreateEMA(Params);
|
||||
|
||||
var EMAConv := TConverter<TDataRecord, TDataRecord>.CreateConverter(indi);
|
||||
var EMAConv := TConverter<TEMA.TInput, TEMA.TResult>.CreateConverter(indi);
|
||||
|
||||
var equityEMA :=
|
||||
equity
|
||||
.Producer
|
||||
.Chain<TDataRecord>(EMAFactory.Input.FieldAsRecord<Double>('Price'))
|
||||
.Chain<TDataRecord>(EMAConv)
|
||||
.Chain<Double>(EMAFactory.Output.FieldOfRecord<Double>('MA'));
|
||||
.Chain<TEMA.TInput>(function(const Value: Double): TEMA.TInput begin Result.Price := Value end)
|
||||
.Chain<TEMA.TResult>(EMAConv)
|
||||
.Chain<Double>(function(const Value: TEMA.TResult): Double begin Result := Value.MA end);
|
||||
|
||||
//////////////
|
||||
|
||||
@@ -675,7 +681,7 @@ begin
|
||||
exit;
|
||||
|
||||
var timeframe := TTimeframe.M15;
|
||||
//ExecuteStrategy(Symbol, timeframe, CreateStrategy2(timeframe));
|
||||
ExecuteStrategy(Symbol, timeframe, CreateStrategy2(timeframe));
|
||||
|
||||
var tstStrat := StrategyTest.CreateStrategy1(timeframe);
|
||||
ExecuteStrategy(Symbol, timeframe, tstStrat.Consumer);
|
||||
|
||||
Reference in New Issue
Block a user