Phase 5.2: TradingState-Split (Core-State vs. CopyTradingState)
- Core TradingState (in Core): globale Schalter, Accounts, MarketCache, GlobalPnl. - Neuer CopyTradingState (im Modul): Traders, MasterTraderPositions, TraderAnalyticsCache, TotalCopyTrades/GetNextTradeId, PendingOrderTimestamps, SixSharesMinimum. - 10 Konsumenten umgestellt (Program, frm_main, CopyTradingEngine, TraderMonitor, Alchemy, WSS, Snapshot, StartupHydration, beide Analytics-Jobs): Modul-Felder von _state.* auf _copyState.* umgeleitet, CopyTradingState via DI. - Rein mechanische Feld-Umleitung, keine Logikänderung. Build 0 Fehler. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
55050a19e5
commit
f8d395b2a3
@@ -18,6 +18,7 @@ namespace PolyTraderSharp.Services
|
||||
public class StartupHydrationService : IHostedService
|
||||
{
|
||||
private readonly TradingState _state;
|
||||
private readonly CopyTradingState _copyState;
|
||||
private readonly IAccountRepository _accountRepo;
|
||||
private readonly IPositionRepository _positionRepo;
|
||||
private readonly IMongoDatabase _db;
|
||||
@@ -25,12 +26,14 @@ namespace PolyTraderSharp.Services
|
||||
|
||||
public StartupHydrationService(
|
||||
TradingState state,
|
||||
CopyTradingState copyState,
|
||||
IAccountRepository accountRepo,
|
||||
IPositionRepository positionRepo,
|
||||
IMongoDatabase db,
|
||||
TerminalLogger logger)
|
||||
{
|
||||
_state = state;
|
||||
_copyState = copyState;
|
||||
_accountRepo = accountRepo;
|
||||
_positionRepo = positionRepo;
|
||||
_db = db;
|
||||
@@ -58,10 +61,10 @@ namespace PolyTraderSharp.Services
|
||||
var tradersCol = _db.GetCollection<TrackedTrader>("trackers");
|
||||
foreach (var trd in tradersCol.Find(_ => true).ToList())
|
||||
{
|
||||
_state.Traders[trd.Id] = trd;
|
||||
_copyState.Traders[trd.Id] = trd;
|
||||
}
|
||||
|
||||
_logger.Info($"Startup-Hydration abgeschlossen: {_state.Accounts.Count} Accounts, {_state.Traders.Count} Trader geladen.");
|
||||
_logger.Info($"Startup-Hydration abgeschlossen: {_state.Accounts.Count} Accounts, {_copyState.Traders.Count} Trader geladen.");
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user