@using TradingBot.Services @using TradingBot.Models @inject IndicatorsService IndicatorsService @inject TradingBotService BotService @implements IDisposable

Indicatori Attivi

Configura
@foreach (var indicator in enabledIndicators.Take(6)) {
@indicator.Name @indicator.Type
@if (topAssets.Any()) { var symbol = topAssets.First(); var status = IndicatorsService.GetIndicatorStatus(indicator.Id, symbol); if (status != null) {
@status.CurrentValue.ToString("F2") @status.Condition
@status.Recommendation
} else {
Calcolo...
} } else {
Nessun asset attivo
}
}
@if (enabledIndicators.Count() > 6) {
Vedi tutti (@enabledIndicators.Count())
}
@code { private List enabledIndicators = new(); private List topAssets = new(); protected override void OnInitialized() { LoadData(); IndicatorsService.OnIndicatorsChanged += HandleUpdate; BotService.OnStatusChanged += HandleUpdate; } private void LoadData() { enabledIndicators = IndicatorsService.GetEnabledIndicators().ToList(); topAssets = BotService.AssetConfigurations.Values .Where(c => c.IsEnabled) .OrderByDescending(c => c.CurrentBalance + (c.CurrentHoldings * (BotService.GetLatestPrice(c.Symbol)?.Price ?? 0))) .Select(c => c.Symbol) .Take(1) .ToList(); } private void HandleUpdate() { LoadData(); InvokeAsync(StateHasChanged); } public void Dispose() { IndicatorsService.OnIndicatorsChanged -= HandleUpdate; BotService.OnStatusChanged -= HandleUpdate; } }