Files
Encelado/TradingBot
Alberto Balbo b2f04b6600 Supporto Docker/Unraid: build, healthcheck, docs
Aggiunti Dockerfile multi-stage, .dockerignore e docker-compose.yml per deployment containerizzato (con healthcheck, volumi persistenti, limiti risorse). Script di build per Linux/Mac e Windows. In Program.cs aggiunto endpoint /health e health checks per orchestrazione. Documentazione estesa: guide Unraid, quickstart Docker, workflow Git/DevOps, best practices su sicurezza, backup, monitoring. Progetto ora pronto per deploy e gestione professionale in ambienti Docker/Unraid.
2025-12-12 23:40:34 +01:00
..

?? TradingBot - Automated Crypto Trading Simulator

Un'applicazione Blazor Server avanzata per simulare e testare strategie di trading automatizzato su criptovalute.

?? Caratteristiche Principali

?? Dashboard

  • Panoramica Portfolio: Visualizzazione completa del valore totale e performance
  • Metriche Chiave: Profitto totale, operazioni eseguite, asset attivi
  • Asset Attivi: Grid dei top 6 asset con performance in tempo reale
  • Attività Recente: Storico delle ultime 8 operazioni

?? Strategie

  • Gestione Strategie: Crea, modifica ed elimina strategie di trading
  • Template Predefiniti:
    • Scalping Veloce
    • Trend Following
    • Mean Reversion
    • Conservative
  • Strategia Attiva: RSI + MACD Cross (personalizzabile)
  • Parametri Configurabili: Stop Loss, Take Profit, condizioni BUY/SELL

?? Asset (NUOVO!)

  • Vista Completa Asset: Tutti i 15 asset disponibili
  • Due Modalità di Visualizzazione:
    • Grid View: Card dettagliate con metriche
    • List View: Tabella compatta per overview rapido
  • Assegnazione Strategie: Dropdown per ogni asset
  • Toggle On/Off: Attiva/disattiva trading per asset
  • Filtri: Tutti / Solo Attivi / Solo Inattivi
  • Metriche Real-time: Prezzo, variazione 24h, holdings, profitto
  • Azioni Rapide: Configura e Visualizza Grafico

?? Trading

  • 15 Asset Simulati: BTC, ETH, BNB, SOL, ADA, XRP, DOT, AVAX, MATIC, LINK, UNI, ATOM, LTC, ALGO, VET
  • Gestione Asset: Toggle on/off per ogni asset
  • Monitoraggio Real-time: Prezzi, holdings, profitti aggiornati ogni 3 secondi
  • Tabella Operazioni: Storico completo con filtri e ricerca

?? Analisi Mercato

  • Grafici Interattivi: Visualizzazione prezzi con SVG rendering
  • Indicatori Tecnici:
    • RSI (14) con stati Overbought/Oversold/Neutral
    • MACD con signal e histogram
    • EMA (12, 26)
  • Selector Asset: Cambia asset per analisi dettagliate

?? Statistiche

  • Overview Portfolio: Metriche aggregate di tutti gli asset
  • Breakdown per Asset: Tabella dettagliata con ROI, win rate, trades
  • Best/Worst Performers: Identificazione automatica
  • Analisi Dettagliata: Drilldown su singolo asset con:
    • Performance trading completa
    • Analisi profitti/perdite
    • Operazioni recenti

?? Impostazioni

  • Persistenza Automatica: Tutte le modifiche salvate su file
  • Configurazioni:
    • Modalità simulazione
    • Notifiche desktop
    • Auto-start bot
    • Conferma operazioni manuali
    • Intervallo aggiornamento (2-10 secondi)
    • Log level
  • Notifiche Visive: Feedback immediato sui salvataggi

??? Architettura

Frontend

  • Blazor Server (.NET 10): Rendering server-side con SignalR
  • Sidebar Collapsible: Navigazione verticale espandibile/minimizzabile
  • Responsive Design: Ottimizzato per desktop, tablet e mobile
  • Dark Theme: Design moderno con palette Indigo/Purple

Backend Services

  • TradingBotService: Core logic per trading automatizzato
  • SimulatedMarketDataService: Generazione dati di mercato realistici
  • SettingsService: Persistenza configurazioni su file JSON
  • SimpleMovingAverageStrategy: Strategia di trading con RSI e MACD

Models

  • AssetConfiguration: Configurazione per singolo asset
  • AssetStatistics: Metriche e performance tracking
  • MarketPrice: Dati di mercato in tempo reale
  • TechnicalIndicators: RSI, MACD, EMA
  • AppSettings: Configurazioni globali applicazione

?? Quick Start

Prerequisiti

  • .NET 10 SDK
  • Visual Studio 2022+ o VS Code

Installazione Locale

# Clone repository
git clone https://192.168.30.23/Alby96/Encelado
cd TradingBot

# Restore packages
dotnet restore

# Run application
dotnet run

?? Deployment Docker

Development

# Build
docker-compose build

# Run
docker-compose up -d

# Access
http://localhost:8080

Production (Unraid)

Vedi documentazione completa:

Uso

  1. L'applicazione si avvia automaticamente in modalità simulazione
  2. Tutti i 15 asset sono attivi di default
  3. Il bot inizia il trading automaticamente (configurabile in Impostazioni)
  4. Usa la sidebar per navigare tra le sezioni

?? Struttura Progetto

TradingBot/
??? Components/
?   ??? Layout/
?   ?   ??? MainLayout.razor           # Layout principale con sidebar
?   ?   ??? MainLayout.razor.css
?   ??? Pages/
?   ?   ??? Dashboard.razor            # Homepage overview
?   ?   ??? Strategies.razor           # Gestione strategie
?   ?   ??? Trading.razor              # Trading view
?   ?   ??? Market.razor               # Analisi mercato
?   ?   ??? Statistics.razor           # Statistiche dettagliate
?   ?   ??? Settings.razor             # Configurazioni
?   ?   ??? Assets.razor               # Gestione asset (NUOVA PAGINA)
?   ??? Shared/
?       ??? AdvancedChart.razor        # Componente grafico SVG
?       ??? AssetSettings.razor        # Config singolo asset
??? Models/
?   ??? AssetConfiguration.cs
?   ??? AssetStatistics.cs
?   ??? AppSettings.cs
?   ??? MarketPrice.cs
?   ??? TechnicalIndicators.cs
?   ??? ...
??? Services/
?   ??? TradingBotService.cs          # Core trading logic
?   ??? SimulatedMarketDataService.cs # Simulazione mercato
?   ??? SettingsService.cs            # Persistenza settings
?   ??? ITradingStrategy.cs           # Interface strategia
?   ??? SimpleMovingAverageStrategy.cs
?   ??? TechnicalAnalysis.cs          # Calcolo indicatori
??? wwwroot/
?   ??? app.css                        # Stili globali
??? Program.cs                         # Entry point + DI

?? STRUTTURA FINALE APPLICAZIONE

7 Sezioni Principali

  1. ?? Dashboard (/)

    • Overview portfolio completo
    • 4 summary cards con metriche
    • Top 6 asset attivi
    • Ultimi 8 trades
  2. ?? Strategie (/strategies)

    • Gestione strategie di trading
    • Strategia attiva: RSI + MACD Cross
    • Template predefiniti
    • Performance tracking
  3. ?? Asset (/assets) ? NUOVA PAGINA!

    • Vista completa tutti i 15 asset
    • Grid view / List view
    • Assegnazione strategia per asset
    • Toggle attivazione
    • Filtri e ricerca
    • Metriche real-time
  4. ?? Trading (/trading

    • Tutti 15 asset in grid
    • Toggle on/off per ogni asset
    • Metriche real-time
    • Tabella operazioni complete
  5. ?? Analisi Mercato (/market)

    • Grafici interattivi SVG
    • Indicatori tecnici (RSI, MACD, EMA)
    • Selector asset
    • Dati aggiornati ogni 3 secondi
  6. ?? Statistiche (/statistics)

    • Overview portfolio dettagliato
    • Breakdown per asset
    • Best/Worst performers
    • Analisi P&L completa
    • Drilldown su singolo asset
  7. ?? Impostazioni (/settings)

    • Tutte le configurazioni globali
    • Salvataggio automatico
    • Notifiche di conferma
    • Reset a defaults

?? Design System

Colori

  • Primary: #6366f1 (Indigo)
  • Secondary: #8b5cf6 (Purple)
  • Success: #10b981 (Green)
  • Danger: #ef4444 (Red)
  • Warning: #f59e0b (Amber)
  • Background: #0a0e27 (Dark Blue)

Typography

  • Headers: System Font Stack
  • Monospace: Courier New (per valori numerici)

?? Configurazione

Le impostazioni vengono salvate automaticamente in:

%LocalAppData%/TradingBot/appsettings.json

Esempio appsettings.json

{
  "SimulationMode": true,
  "DesktopNotifications": false,
  "AutoStartBot": true,
  "ConfirmManualTrades": false,
  "UpdateIntervalSeconds": 3,
  "LogLevel": "Info",
  "SidebarCollapsed": false
}

?? Indicatori Tecnici Implementati

RSI (Relative Strength Index)

  • Periodo: 14
  • Overbought: > 70
  • Oversold: < 30
  • Neutro: 30-70

MACD (Moving Average Convergence Divergence)

  • Fast EMA: 12 periodi
  • Slow EMA: 26 periodi
  • Signal: 9 periodi
  • Histogram: MACD - Signal

EMA (Exponential Moving Average)

  • EMA 12: Media breve termine
  • EMA 26: Media lungo termine

?? Strategia di Trading

Condizioni BUY

  • RSI < 40 (asset ipervenduto)
  • MACD Histogram > 0 (momentum positivo)
  • Budget disponibile >= MinTradeAmount

Condizioni SELL

  • RSI > 60 (asset ipercomprato)
  • MACD Histogram < 0 (momentum negativo)
  • Holdings > 0
  • Oppure:
    • Profitto >= Take Profit (10%)
    • Perdita >= Stop Loss (5%)

Risk Management

  • Max Daily Trades: 50 per asset
  • Max Position Size: $5000 per asset
  • Min Trade Amount: $10
  • Trade Size: 30% del balance disponibile (max)
  • Min Interval: 10 secondi tra trades

?? Aggiornamenti Real-time

  • Prezzi: Ogni 3 secondi (configurabile)
  • Indicatori: Calcolati ad ogni aggiornamento prezzo
  • Stats Portfolio: Aggiornate ad ogni trade
  • UI: SignalR per aggiornamenti istantanei

?? Responsive Breakpoints

  • Desktop: > 1024px (full features)
  • Tablet: 768px - 1024px (layout adattato)
  • Mobile: < 768px (sidebar collapsible automatico)

?? Debug & Logging

I log vengono stampati nella console del browser e nel terminal di Visual Studio.

Livelli disponibili:

  • Error: Solo errori critici
  • Warning: Warning e errori
  • Info: Informazioni generali (default)
  • Debug: Dettagli completi per debugging

?? Note Importanti

  1. Modalità Simulazione: Sempre attiva, dati non reali
  2. Dati Persistenti: Solo impostazioni, non trades storici
  3. Reset Dati: Riavvio applicazione = reset portfolio
  4. Performance: Ottimizzata per 15 asset simultanei

?? Future Enhancements

  • Backtesting su dati storici
  • Multi-strategy support
  • Export/import configurazioni
  • Alert system con notifiche
  • Paper trading con dati reali
  • Machine learning per ottimizzazione strategie

????? Sviluppatore

Alberto - Encelado Project

?? Licenza

Progetto privato - Tutti i diritti riservati


Note: Questa è un'applicazione di simulazione a scopo educativo. Non utilizzare con denaro reale senza test approfonditi e comprensione completa dei rischi del trading.