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
@@ -13,13 +13,15 @@ namespace PolyTraderSharp.Services
|
||||
public class TraderAnalyticsJob : BackgroundService
|
||||
{
|
||||
private readonly TradingState _state;
|
||||
private readonly CopyTradingState _copyState;
|
||||
private readonly TerminalLogger _logger;
|
||||
private readonly IMongoDatabase _db;
|
||||
private readonly JobStatusRow _jobStatus;
|
||||
|
||||
public TraderAnalyticsJob(TradingState state, TerminalLogger logger, IMongoDatabase db, JobManager jobManager)
|
||||
public TraderAnalyticsJob(TradingState state, CopyTradingState copyState, TerminalLogger logger, IMongoDatabase db, JobManager jobManager)
|
||||
{
|
||||
_state = state;
|
||||
_copyState = copyState;
|
||||
_logger = logger;
|
||||
_db = db;
|
||||
|
||||
@@ -108,7 +110,7 @@ namespace PolyTraderSharp.Services
|
||||
|
||||
foreach (var mtId in recentMTs)
|
||||
{
|
||||
var mtInfo = _state.Traders.Values.FirstOrDefault(t => t.Id == mtId);
|
||||
var mtInfo = _copyState.Traders.Values.FirstOrDefault(t => t.Id == mtId);
|
||||
string name = mtInfo?.DisplayName ?? $"MT #{mtId}";
|
||||
string address = mtInfo?.WalletAddress ?? "";
|
||||
|
||||
@@ -141,7 +143,7 @@ namespace PolyTraderSharp.Services
|
||||
}
|
||||
|
||||
// Save to cache
|
||||
_state.TraderAnalyticsCache[acc.AccountId] = results;
|
||||
_copyState.TraderAnalyticsCache[acc.AccountId] = results;
|
||||
}
|
||||
|
||||
_logger.Info("✅ Trader Analytics erfolgreich abgeschlossen und im Cache aktualisiert.");
|
||||
|
||||
Reference in New Issue
Block a user