From 7aa0056799e7efdc9c517d2fd2da04dfea248229 Mon Sep 17 00:00:00 2001 From: Michael Schimmel Date: Mon, 8 Dec 2025 10:54:22 +0100 Subject: [PATCH] Renaming --- Src/Data/Myc.Data.Records.pas | 2 +- Src/Myc.Trade.DataStream.pas | 156 +++++++++++++++++----------------- 2 files changed, 79 insertions(+), 79 deletions(-) diff --git a/Src/Data/Myc.Data.Records.pas b/Src/Data/Myc.Data.Records.pas index 03277ea..341b4c0 100644 --- a/Src/Data/Myc.Data.Records.pas +++ b/Src/Data/Myc.Data.Records.pas @@ -3,7 +3,7 @@ unit Myc.Data.Records; interface uses - system.generics.collections, + System.Generics.Collections, Myc.Data.Keyword, Myc.Data.Value; diff --git a/Src/Myc.Trade.DataStream.pas b/Src/Myc.Trade.DataStream.pas index c8f4594..9a620d3 100644 --- a/Src/Myc.Trade.DataStream.pas +++ b/Src/Myc.Trade.DataStream.pas @@ -27,7 +27,7 @@ type // Aura files // Represents metadata for a single data file. - TAuraDataFile = record + TDataFile = record private FExtension: String; FPath: String; @@ -49,12 +49,12 @@ type end; // Generic server for loading and managing sequential time-series data from files. - TAuraDataServer = class(TInterfacedObject, IDataServer) + TDataServer = class(TInterfacedObject, IDataServer) private FCachedFiles: TDataFileCache>>>; FPath: String; // The cache now holds a sorted array of all files for each symbol. - FSymbols: TFuture>>; + FSymbols: TFuture>>; function GetPath: String; function ProcessChunks( @@ -64,7 +64,7 @@ type ): TState; function ProcessFile( - FileInfo: TAuraDataFile; + FileInfo: TDataFile; const DataFile: TFuture>>>; const Terminated: TState; Processor: IConsumer>> @@ -78,7 +78,7 @@ type // Used by cache to actually load an uncached file. Now virtual and abstract. function DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; virtual; abstract; // Gets the next consecutive data file from the cached, sorted list. - function GetNextFile(const Curr: TAuraDataFile): TAuraDataFile; virtual; + function GetNextFile(const Curr: TDataFile): TDataFile; virtual; public constructor Create(const APath: String); @@ -87,12 +87,12 @@ type procedure ClearCache; procedure UpdateSymbols; // Scans a directory to find the oldest file for a specific symbol. - function FindFirstFile(const Symbol: string): TFuture; - function ParseFileName(const FileName: string): TAuraDataFile; virtual; abstract; + function FindFirstFile(const Symbol: string): TFuture; + function ParseFileName(const FileName: string): TDataFile; virtual; abstract; function EnumerateSymbols: TFuture>; // Load data file and split content into chunks. - function LoadDataFile(const DataFile: TAuraDataFile): TFuture>>>; + function LoadDataFile(const DataFile: TDataFile): TFuture>>>; function ProcessData(const Symbol: String; const Terminated: TState; const Processor: IConsumer>>): TState; @@ -101,23 +101,23 @@ type // Aura tick data file Ask-Bid - TAuraAskBidFileItem = packed record + TAskBidFileItem = packed record Ask: Single; Bid: Single; end; - TAuraTABFileServer = class(TAuraDataServer) + TAskBidFileServer = class(TDataServer) private - class function ReadCompressedData(const InputStream: TStream): TArray>>; - class function ReadUncompressedData(const InputStream: TStream): TArray>>; + class function ReadCompressedData(const InputStream: TStream): TArray>>; + class function ReadUncompressedData(const InputStream: TStream): TArray>>; protected - function DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; override; + function DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; override; public - function ParseFileName(const FileName: string): TAuraDataFile; override; + function ParseFileName(const FileName: string): TDataFile; override; end; // File record for cTrader M1 data - TAuraM1FileItem = packed record + TM1FileItem = packed record OADateTime: Double; Open: Int64; High: Int64; @@ -130,14 +130,14 @@ type // File server for cTrader M1 data. Note that the generic type is TOhlcItem, // as the server converts the file data into standard OHLC items. - TAuraM1FileServer = class(TAuraDataServer) + TM1FileServer = class(TDataServer) private class function ReadCompressedData(const InputStream: TStream): TArray>>; class function ReadUncompressedData(const InputStream: TStream): TArray>>; protected function DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; override; public - function ParseFileName(const FileName: string): TAuraDataFile; override; + function ParseFileName(const FileName: string): TDataFile; override; end; implementation @@ -153,9 +153,9 @@ const // The number of records per data chunk when loading files. ChunkSize = 512; -{ TAuraDataFile } +{ TDataFile } -constructor TAuraDataFile.Create(const APath, ASymbol, AExtension: String; AYear, AMonth: Integer; const ABasename: String); +constructor TDataFile.Create(const APath, ASymbol, AExtension: String; AYear, AMonth: Integer; const ABasename: String); begin FPath := APath; FSymbol := ASymbol; @@ -165,24 +165,24 @@ begin FBasename := ABasename; end; -function TAuraDataFile.GetBaseFileName: string; +function TDataFile.GetBaseFileName: string; begin Result := FBasename; end; -function TAuraDataFile.GetFullFileName: string; +function TDataFile.GetFullFileName: string; begin Result := TPath.Combine(FPath, GetBaseFileName + FExtension); end; -function TAuraDataFile.GetIsValid: Boolean; +function TDataFile.GetIsValid: Boolean; begin Result := (FSymbol <> '') and (FYear > 0); end; -{ TAuraDataServer } +{ TDataServer } -constructor TAuraDataServer.Create(const APath: String); +constructor TDataServer.Create(const APath: String); begin inherited Create; FPath := APath; @@ -197,38 +197,38 @@ begin ); end; -destructor TAuraDataServer.Destroy; +destructor TDataServer.Destroy; begin ClearCache; FCachedFiles.Free; inherited Destroy; end; -procedure TAuraDataServer.AfterConstruction; +procedure TDataServer.AfterConstruction; begin inherited; UpdateSymbols; end; -procedure TAuraDataServer.ClearCache; +procedure TDataServer.ClearCache; begin FCachedFiles.Clear; end; -procedure TAuraDataServer.UpdateSymbols; +procedure TDataServer.UpdateSymbols; begin FSymbols := - TFuture>>.Construct( + TFuture>>.Construct( FSymbols.Done, - function: TDictionary> + function: TDictionary> var fileNames: TArray; - tempSymbolMap: TDictionary>; - dataFile: TAuraDataFile; - symbolList: TList; + tempSymbolMap: TDictionary>; + dataFile: TDataFile; + symbolList: TList; begin - Result := TDictionary>.Create; - tempSymbolMap := TDictionary>.Create; + Result := TDictionary>.Create; + tempSymbolMap := TDictionary>.Create; try if not TDirectory.Exists(FPath) then exit; @@ -241,7 +241,7 @@ begin begin if not tempSymbolMap.TryGetValue(dataFile.Symbol, symbolList) then begin - symbolList := TList.Create; + symbolList := TList.Create; tempSymbolMap.Add(dataFile.Symbol, symbolList); end; symbolList.Add(dataFile); @@ -252,8 +252,8 @@ begin begin symbolList := kvp.Value; symbolList.Sort( - TComparer.Construct( - function(const Left, Right: TAuraDataFile): Integer + TComparer.Construct( + function(const Left, Right: TDataFile): Integer begin if Left.Year < Right.Year then Result := -1 @@ -277,37 +277,37 @@ begin FSymbols.Manage; end; -function TAuraDataServer.EnumerateSymbols: TFuture>; +function TDataServer.EnumerateSymbols: TFuture>; begin Result := FSymbols.Chain>( - function(const Symbols: TDictionary>): TArray begin Result := Symbols.Keys.ToArray; end + function(const Symbols: TDictionary>): TArray begin Result := Symbols.Keys.ToArray; end ); end; -function TAuraDataServer.FindFirstFile(const Symbol: string): TFuture; +function TDataServer.FindFirstFile(const Symbol: string): TFuture; begin var symName := Symbol; Result := - FSymbols.Chain( - function(const Symbols: TDictionary>): TAuraDataFile + FSymbols.Chain( + function(const Symbols: TDictionary>): TDataFile var - symbolFiles: TArray; + symbolFiles: TArray; begin if Symbols.TryGetValue(symName, symbolFiles) and (Length(symbolFiles) > 0) then Result := symbolFiles[0] else - Result := Default(TAuraDataFile); + Result := Default(TDataFile); end ); end; -function TAuraDataServer.GetNextFile(const Curr: TAuraDataFile): TAuraDataFile; +function TDataServer.GetNextFile(const Curr: TDataFile): TDataFile; var - allSymbolFiles: TArray; + allSymbolFiles: TArray; foundIndex: Integer; begin - Result := Default(TAuraDataFile); + Result := Default(TDataFile); if not Curr.IsValid or not FSymbols.Done.IsSet then exit; @@ -330,12 +330,12 @@ begin end; end; -function TAuraDataServer.GetPath: String; +function TDataServer.GetPath: String; begin Result := FPath; end; -function TAuraDataServer.ProcessData( +function TDataServer.ProcessData( const Symbol: String; const Terminated: TState; const Processor: IConsumer>> @@ -347,13 +347,13 @@ begin Result := FindFirstFile(Symbol) .Chain( - function(const FirstFileInfo: TAuraDataFile): TState + function(const FirstFileInfo: TDataFile): TState begin Result := ProcessFile(FirstFileInfo, LoadDataFile(FirstFileInfo), cTerminated, cProc); end); end; -function TAuraDataServer.LoadDataFile(const DataFile: TAuraDataFile): TFuture>>>; +function TDataServer.LoadDataFile(const DataFile: TDataFile): TFuture>>>; begin if DataFile.IsValid then Result := FCachedFiles.GetOrAdd(DataFile.GetFullFileName) @@ -361,7 +361,7 @@ begin Result := TFuture>>>.Construct(TArray>>(nil)); end; -function TAuraDataServer.ProcessChunks( +function TDataServer.ProcessChunks( const DataChunks: TArray>>; Terminated: TState; Processor: IConsumer>> @@ -387,8 +387,8 @@ begin end end; -function TAuraDataServer.ProcessFile( - FileInfo: TAuraDataFile; +function TDataServer.ProcessFile( + FileInfo: TDataFile; const DataFile: TFuture>>>; const Terminated: TState; Processor: IConsumer>> @@ -417,11 +417,11 @@ begin ); end; -{ TAuraTABFileServer } +{ TAskBidFileServer } -function TAuraTABFileServer.DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; +function TAskBidFileServer.DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; begin - Result := TFuture>>>.Null; + Result := TFuture>>>.Null; if not TFile.Exists(FileName) then exit; @@ -432,8 +432,8 @@ begin Result := TFuture .Construct(Gate.Enqueue, function: TBytes begin Result := TFile.ReadAllBytes(capFileName); end) - .Chain>>>( - function(bytes: TBytes): TArray>> + .Chain>>>( + function(bytes: TBytes): TArray>> begin var compMemoryStream := TBytesStream.Create(bytes); try @@ -447,9 +447,9 @@ begin else begin Result := - TFuture>>>.Construct( + TFuture>>>.Construct( Gate.Enqueue, - function: TArray>> + function: TArray>> begin if TFile.Exists(capFileName) then begin @@ -465,13 +465,13 @@ begin end; end; -function TAuraTABFileServer.ParseFileName(const FileName: string): TAuraDataFile; +function TAskBidFileServer.ParseFileName(const FileName: string): TDataFile; var fileNameNoPath, nameForParsing, baseName, ext, path, symbol: string; year, month: Integer; parts: TArray; begin - Result := Default(TAuraDataFile); + Result := Default(TDataFile); path := TPath.GetDirectoryName(FileName); fileNameNoPath := TPath.GetFileName(FileName); @@ -509,10 +509,10 @@ begin if symbol = '' then exit; - Result := TAuraDataFile.Create(path, symbol, fileExt, year, month, baseName); + Result := TDataFile.Create(path, symbol, fileExt, year, month, baseName); end; -class function TAuraTABFileServer.ReadCompressedData(const InputStream: TStream): TArray>>; +class function TAskBidFileServer.ReadCompressedData(const InputStream: TStream): TArray>>; var decompressionStream: TStream; localHeader: TZipHeader; @@ -551,11 +551,11 @@ begin end; end; -class function TAuraTABFileServer.ReadUncompressedData(const InputStream: TStream): TArray>>; +class function TAskBidFileServer.ReadUncompressedData(const InputStream: TStream): TArray>>; type TFileRecord = packed record TimeStamp: TDateTime; - Data: TAuraAskBidFileItem; + Data: TAskBidFileItem; end; var fileSize: Int64; @@ -592,15 +592,15 @@ begin raise EReadError.CreateFmt('Read error. Expected %d bytes, read %d.', [SizeOf(TFileRecord), bytesRead]); // Corrected syntax: Assign the newly created record instance. - Result[chunkIndex][indexInChunk] := TDataPoint.Create(rec.TimeStamp, rec.Data); + Result[chunkIndex][indexInChunk] := TDataPoint.Create(rec.TimeStamp, rec.Data); Inc(indexInChunk); end; end; end; -{ TAuraM1FileServer } +{ TM1FileServer } -function TAuraM1FileServer.DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; +function TM1FileServer.DoLoad(const FileName: string; const Gate: TLatch): TFuture>>>; begin Result := TFuture>>>.Null; @@ -628,13 +628,13 @@ begin end; end; -function TAuraM1FileServer.ParseFileName(const FileName: string): TAuraDataFile; +function TM1FileServer.ParseFileName(const FileName: string): TDataFile; var path, fileNameNoPath, baseName, ext, symbol: string; year, month: Integer; parts, dateParts: TArray; begin - Result := Default(TAuraDataFile); + Result := Default(TDataFile); path := TPath.GetDirectoryName(FileName); fileNameNoPath := TPath.GetFileName(FileName); @@ -670,11 +670,11 @@ begin if symbol = '' then exit; - // The TAuraDataFile only represents the start date of the file batch. - Result := TAuraDataFile.Create(path, symbol, ext, year, month, baseName); + // The TDataFile only represents the start date of the file batch. + Result := TDataFile.Create(path, symbol, ext, year, month, baseName); end; -class function TAuraM1FileServer.ReadCompressedData(const InputStream: TStream): TArray>>; +class function TM1FileServer.ReadCompressedData(const InputStream: TStream): TArray>>; var decompressionStream: TStream; localHeader: TZipHeader; @@ -725,9 +725,9 @@ begin end; end; -class function TAuraM1FileServer.ReadUncompressedData(const InputStream: TStream): TArray>>; +class function TM1FileServer.ReadUncompressedData(const InputStream: TStream): TArray>>; type - TFileRecord = TAuraM1FileItem; + TFileRecord = TM1FileItem; var fileSize: Int64; totalRecordCount, bytesRead, chunkIndex, indexInChunk, recordIndex: Integer;