New type system
This commit is contained in:
@@ -797,18 +797,18 @@ begin
|
||||
var paramsType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('FastPeriod', TDataType.Ordinal),
|
||||
TRecordField.Create('SlowPeriod', TDataType.Ordinal),
|
||||
TRecordField.Create('SignalPeriod', TDataType.Ordinal)
|
||||
TDataRecordField.Create('FastPeriod', TDataType.Ordinal),
|
||||
TDataRecordField.Create('SlowPeriod', TDataType.Ordinal),
|
||||
TDataRecordField.Create('SignalPeriod', TDataType.Ordinal)
|
||||
]
|
||||
);
|
||||
var argsType := TDataType.Float;
|
||||
var resultType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('MacdLine', TDataType.Float),
|
||||
TRecordField.Create('SignalLine', TDataType.Float),
|
||||
TRecordField.Create('Histogram', TDataType.Float)
|
||||
TDataRecordField.Create('MacdLine', TDataType.Float),
|
||||
TDataRecordField.Create('SignalLine', TDataType.Float),
|
||||
TDataRecordField.Create('Histogram', TDataType.Float)
|
||||
]
|
||||
);
|
||||
|
||||
@@ -962,21 +962,21 @@ end;
|
||||
class constructor TStochastic.CreateClass;
|
||||
begin
|
||||
var paramsType :=
|
||||
TDataType.RecordOf([TRecordField.Create('KPeriod', TDataType.Ordinal), TRecordField.Create('DPeriod', TDataType.Ordinal)]);
|
||||
TDataType.RecordOf([TDataRecordField.Create('KPeriod', TDataType.Ordinal), TDataRecordField.Create('DPeriod', TDataType.Ordinal)]);
|
||||
|
||||
var ohlcType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('Open', TDataType.Float),
|
||||
TRecordField.Create('High', TDataType.Float),
|
||||
TRecordField.Create('Low', TDataType.Float),
|
||||
TRecordField.Create('Close', TDataType.Float),
|
||||
TRecordField.Create('Volume', TDataType.Float)
|
||||
TDataRecordField.Create('Open', TDataType.Float),
|
||||
TDataRecordField.Create('High', TDataType.Float),
|
||||
TDataRecordField.Create('Low', TDataType.Float),
|
||||
TDataRecordField.Create('Close', TDataType.Float),
|
||||
TDataRecordField.Create('Volume', TDataType.Float)
|
||||
]
|
||||
);
|
||||
|
||||
var argsType := ohlcType;
|
||||
var resultType := TDataType.RecordOf([TRecordField.Create('K', TDataType.Float), TRecordField.Create('D', TDataType.Float)]);
|
||||
var resultType := TDataType.RecordOf([TDataRecordField.Create('K', TDataType.Float), TDataRecordField.Create('D', TDataType.Float)]);
|
||||
|
||||
var indicatorMethodType := TDataType.MethodOf(argsType, resultType);
|
||||
var factoryMethodType := TDataType.MethodOf(paramsType, indicatorMethodType);
|
||||
@@ -1218,14 +1218,14 @@ end;
|
||||
class constructor TBollingerBands.CreateClass;
|
||||
begin
|
||||
var paramsType :=
|
||||
TDataType.RecordOf([TRecordField.Create('Period', TDataType.Ordinal), TRecordField.Create('Multiplier', TDataType.Float)]);
|
||||
TDataType.RecordOf([TDataRecordField.Create('Period', TDataType.Ordinal), TDataRecordField.Create('Multiplier', TDataType.Float)]);
|
||||
var argsType := TDataType.Float;
|
||||
var resultType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('UpperBand', TDataType.Float),
|
||||
TRecordField.Create('MiddleBand', TDataType.Float),
|
||||
TRecordField.Create('LowerBand', TDataType.Float)
|
||||
TDataRecordField.Create('UpperBand', TDataType.Float),
|
||||
TDataRecordField.Create('MiddleBand', TDataType.Float),
|
||||
TDataRecordField.Create('LowerBand', TDataType.Float)
|
||||
]
|
||||
);
|
||||
|
||||
@@ -1316,11 +1316,11 @@ begin
|
||||
var ohlcType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('Open', TDataType.Float),
|
||||
TRecordField.Create('High', TDataType.Float),
|
||||
TRecordField.Create('Low', TDataType.Float),
|
||||
TRecordField.Create('Close', TDataType.Float),
|
||||
TRecordField.Create('Volume', TDataType.Float)
|
||||
TDataRecordField.Create('Open', TDataType.Float),
|
||||
TDataRecordField.Create('High', TDataType.Float),
|
||||
TDataRecordField.Create('Low', TDataType.Float),
|
||||
TDataRecordField.Create('Close', TDataType.Float),
|
||||
TDataRecordField.Create('Volume', TDataType.Float)
|
||||
]
|
||||
);
|
||||
var argsType := ohlcType;
|
||||
@@ -1405,24 +1405,24 @@ end;
|
||||
class constructor TKeltnerChannels.CreateClass;
|
||||
begin
|
||||
var paramsType :=
|
||||
TDataType.RecordOf([TRecordField.Create('Period', TDataType.Ordinal), TRecordField.Create('Multiplier', TDataType.Float)]);
|
||||
TDataType.RecordOf([TDataRecordField.Create('Period', TDataType.Ordinal), TDataRecordField.Create('Multiplier', TDataType.Float)]);
|
||||
var ohlcType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('Open', TDataType.Float),
|
||||
TRecordField.Create('High', TDataType.Float),
|
||||
TRecordField.Create('Low', TDataType.Float),
|
||||
TRecordField.Create('Close', TDataType.Float),
|
||||
TRecordField.Create('Volume', TDataType.Float)
|
||||
TDataRecordField.Create('Open', TDataType.Float),
|
||||
TDataRecordField.Create('High', TDataType.Float),
|
||||
TDataRecordField.Create('Low', TDataType.Float),
|
||||
TDataRecordField.Create('Close', TDataType.Float),
|
||||
TDataRecordField.Create('Volume', TDataType.Float)
|
||||
]
|
||||
);
|
||||
var argsType := ohlcType;
|
||||
var resultType :=
|
||||
TDataType.RecordOf(
|
||||
[
|
||||
TRecordField.Create('UpperBand', TDataType.Float),
|
||||
TRecordField.Create('MiddleBand', TDataType.Float),
|
||||
TRecordField.Create('LowerBand', TDataType.Float)
|
||||
TDataRecordField.Create('UpperBand', TDataType.Float),
|
||||
TDataRecordField.Create('MiddleBand', TDataType.Float),
|
||||
TDataRecordField.Create('LowerBand', TDataType.Float)
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user