Handelshistorie fasst Optionsschluessel; Order-ID landet in der Bindung
Zwei Maengel, sichtbar geworden beim Pruefen der vier Tabellen nach dem Order-Nachweis (#293). core_trade_history.Symbol war varchar(20) und traegt seit der Optionserweiterung den Instrumentenschluessel statt des Ticker-Symbols. "MSFT|20260918|P|302.5" sind 21 Zeichen - gekuerzt auf "MSFT|20260918|P|302." liest sich das als Strike 302. Ein still verfaelschter Eintrag in der Handelshistorie ist schlimmer als gar keiner. Jetzt 64 wie core_position.ContractKey. MarkSubmittedAsync rief niemand auf: im synchronen Pfad gibt es keinen beobachtbaren Zeitpunkt zwischen Absenden und Endstatus. BrokerOrderId blieb dadurch leer, und der Abgleich beim Neustart haette keine Bindung einer Order zuordnen koennen - genau die Aufgabe, fuer die die Spalte da ist. Die ID wird jetzt beim Abschluss festgehalten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -243,8 +243,9 @@ public class ExecutionServiceTests
|
||||
await CreateSut().ExecuteAsync(BuySignal);
|
||||
|
||||
// Reserviert wurde mit Puffer, ausgefuehrt zum echten Preis: 5 x 100 = 500 fliessen als
|
||||
// tatsaechlicher Bedarf zurueck, der Rest wird freigegeben.
|
||||
await _capital.Received(1).SettleReservationAsync(1, 5, 500m, Arg.Any<CancellationToken>());
|
||||
// tatsaechlicher Bedarf zurueck, der Rest wird freigegeben. Die Order-ID gehoert dazu -
|
||||
// ohne sie kann der Abgleich beim Neustart keine Bindung einer Order zuordnen.
|
||||
await _capital.Received(1).SettleReservationAsync(1, 5, 500m, "O1", Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user