Commit Graph

92 Commits

Author SHA1 Message Date
Michael Schimmel 6f0b927a05 TTicker 2025-07-14 16:44:29 +02:00
Michael Schimmel d0ad547aa3 Units renamed & Chart refactored 2025-07-14 15:07:36 +02:00
Michael Schimmel 661faba75c Test 2025-07-13 21:55:33 +02:00
Michael Schimmel 87a3a505b1 Fix 2025-07-13 21:52:23 +02:00
Michael Schimmel 4d67d9acbe Chart X grid, standard timeframes 2025-07-13 21:49:42 +02:00
Michael Schimmel 840904e42d Chart panels 2025-07-13 16:57:58 +02:00
Michael Schimmel 6e5c0de876 Added some standard indicators 2025-07-13 16:22:46 +02:00
Michael Schimmel f6fff24f10 Concurrent data processing 2025-07-13 14:20:30 +02:00
Michael Schimmel 9ce608ba09 Chart: Mutable parameters 2025-07-13 11:46:02 +02:00
Michael Schimmel e75cb2ecb3 Chart data logic separation 2025-07-13 10:04:47 +02:00
Michael Schimmel 956c47ba36 Fix chart left data range fail 2025-07-12 22:20:23 +02:00
Michael Schimmel a06640665a Chart now solid 2025-07-12 21:19:11 +02:00
Michael Schimmel 45ff69fd92 Code-Formatting 2025-07-12 17:10:01 +02:00
Michael Schimmel ce915e503a Code Formatting 2025-07-12 16:59:27 +02:00
Michael Schimmel 1b0f93c633 Chart Panning+Zooming 2025-07-12 16:58:34 +02:00
Michael Schimmel 4727db1a01 Process.Update for synchronization 2025-07-12 12:11:16 +02:00
Michael Schimmel cf17e06e32 Process.Update for synchronization 2025-07-12 11:38:23 +02:00
Michael Schimmel 021ff61774 Processor-Result 2025-07-11 12:00:36 +02:00
Michael Schimmel 487169afe0 Implementing first "strategy" for proof of concept 2025-07-11 11:06:18 +02:00
Michael Schimmel 644b6074d6 Chart 2025-07-03 21:27:10 +02:00
Michael Schimmel 58ce84e567 Chart Control V1 2025-07-02 14:49:33 +02:00
Michael Schimmel b453236b1e 1st Aura Project Layout 2025-06-28 12:43:19 +02:00
Michael Schimmel 9802c8c924 Refactoring 2025-06-25 15:38:45 +02:00
Michael Schimmel 10b653e16f TaskManager refactoring 2025-06-25 15:00:51 +02:00
Michael Schimmel e2a262bc5a Fixed protected mutable Exchange 2025-06-25 10:45:55 +02:00
Michael Schimmel dce0d83e18 ProtectedMutable 2025-06-25 10:44:33 +02:00
Michael Schimmel e1159e883b Writeables revised
Read-ahead for DataStream Processing
2025-06-25 10:07:00 +02:00
Michael Schimmel f791667264 parallel PathData creation 2025-06-24 21:40:06 +02:00
Michael Schimmel 13c41d01b5 TaskManager.RunTask() & TFuture.Chain(Proc) 2025-06-24 20:17:04 +02:00
Michael Schimmel a65a5f2b0a TWriteable<T> 2025-06-24 19:11:29 +02:00
Michael Schimmel 3797507d95 Bugfix in TEvent, DataServer Push-Mode 2025-06-24 18:32:32 +02:00
Michael Schimmel 35413f5966 GUI Signals 2025-06-24 14:37:38 +02:00
Michael Schimmel 3048c28fe3 DataSeries.Copy 2025-06-24 12:42:28 +02:00
Michael Schimmel 6077d094f7 Chart visible in View 2025-06-24 12:02:49 +02:00
Michael Schimmel 9022f60376 Bugfix Race Condition in Notifier List 2025-06-24 11:31:29 +02:00
Michael Schimmel ed8619650c Code formatting 2025-06-24 11:18:10 +02:00
Michael Schimmel fdea3cf26a Notifier-Subscription-List robustness 2025-06-24 11:17:29 +02:00
Michael Schimmel 6ea0f94e36 Refactoring IState - ISignal 2025-06-24 09:24:37 +02:00
Michael Schimmel a3da63ad6a DataPoint 2025-06-24 08:11:46 +02:00
Michael Schimmel 6c7cc2569b DataProvider 2025-06-23 12:09:26 +02:00
Michael Schimmel a9aff8c41a AuraTrader Sample 2025-06-17 21:49:09 +02:00
Michael Schimmel f81337c98d Data file handling 2025-06-15 20:07:18 +02:00
Michael Schimmel 2c56f6e750 Data file handling 2025-06-15 17:29:56 +02:00
Michael Schimmel bbd9d1752a Pascal Interface Extract 2025-06-13 16:13:03 +02:00
Michael Schimmel ba8dd7b464 Prompt Update 2025-06-13 13:26:40 +02:00
Michael Schimmel 4d67e587ba # Projektplan: Meilenstein Daten-Infrastruktur
*Datum: 13. Juni 2025*

## Status: Design-Phase abgeschlossen, Basis-Implementierung erfolgt

---

## Stufe 1: Asynchrone Datenstrom-Schnittstelle (`IDataStream<T>`) - **ABGESCHLOSSEN**

* **Motivation**: Das ursprüngliche, zustandsbehaftete Design war für die Verarbeitung asynchron eintreffender Daten (z.B. von `TFuture`-Objekten) zu komplex und fehleranfällig.

* **Ziel**: Die Schaffung eines robusten, ereignisgesteuerten und non-blocking Modells, das den Datenproduzenten sauber vom Konsumenten entkoppelt.

* **Ergebnis**:
    * Die `IDataStream<T>`-Schnittstelle wurde überarbeitet. Die `HasData`-Eigenschaft liefert nun ein `TSignal`, das Konsumenten aktiv über potenziell neue Daten informiert.
    * Die Referenzimplementierung `TAuraFileStream<T>` wurde erfolgreich angepasst und nutzt eine saubere Ereignis-Kopplung (`Subscribe`) für eine robuste und wartungsarme Logik.
    * Die korrekte Funktionalität wurde durch eine angepasste DUnitX-Test-Suite verifiziert.

---

## Stufe 2: Abstraktion für Handelssysteme (`IDataSeriesProvider`) - **ENTWORFEN**

* **Motivation**: Ein Handelssystem benötigt einen stets validen und kontinuierlichen Daten-Lookback. Ein roher `IDataStream<T>` kann dies nicht garantieren, da Lücken in den Daten auftreten können (z.B. beim Übergang von Historie zu Live).

* **Ziel**: Die Konzeption einer übergeordneten Abstraktionsschicht, die diese komplexe Anforderung kapselt, die Datenintegrität sicherstellt und dem Handelssystem eine einfache, sichere Schnittstelle bietet.

* **Ergebnis**:
    Entworfen wurde der `IDataSeriesProvider`, der als "Black Box" für das Handelssystem fungiert und die Komplexität der Datenbeschaffung vollständig verbirgt. Er wurde mit zwei unterschiedlichen, vom Anwender wählbaren Betriebsmodi konzipiert:

    ### Modus 1: "Live-Handel"
    * **Motivation**: Um einen echten **"Sofort-Start"** im Live-Handel zu ermöglichen, muss die Lücke zwischen den statischen, lokalen Historiendaten und dem aktuellen Zeitpunkt geschlossen werden.
    * **Ziel**: Ein lückenloser, tagesaktueller Start des Handelssystems ohne manuelles Eingreifen oder lange Wartezeiten für den Nutzer.
    * **Ergebnis**: Das Design einer **Drei-Phasen-Synchronisation**: (1) Lokale History laden, (2) "Catch-up"-Daten vom Broker holen, (3) auf den Live-Stream umschalten.

    ### Modus 2: "Simulation & Backtest"
    * **Motivation**: Für Entwicklung, Test und Analyse muss die Software **völlig autonom** und ohne Abhängigkeit von einer externen, potenziell nicht verfügbaren Broker-API lauffähig sein.
    * **Ziel**: Einen "Sofort-Start" für Backtests zu jedem beliebigen Zeitpunkt in der Vergangenheit zu ermöglichen, der rein auf lokalen Dateien basiert.
    * **Ergebnis**: Ein Design, bei dem der relevante Datenkontext in den Speicher geladen wird, um von dort aus einen schnellen Start und ein "Playback" der Daten zu ermöglichen.
2025-06-13 10:50:40 +02:00
Michael Schimmel 8ca85473d7 TSeries 2025-06-11 13:38:24 +02:00
Michael Schimmel 7f6672db24 TSeries 2025-06-11 13:33:46 +02:00
Michael Schimmel d282d2c40d TDataPoint<T> review 2025-06-11 08:53:30 +02:00
Michael Schimmel 3cfca1f167 Blockly review 2025-06-11 01:33:52 +02:00