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.
9.9 KiB
9.9 KiB
?? 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:
- ?? UNRAID_DEPLOYMENT.md - Guida completa Unraid + Gitea
- ?? DOCKER_QUICKSTART.md - Quick start rapido
Uso
- L'applicazione si avvia automaticamente in modalità simulazione
- Tutti i 15 asset sono attivi di default
- Il bot inizia il trading automaticamente (configurabile in Impostazioni)
- 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
-
?? Dashboard (
/)- Overview portfolio completo
- 4 summary cards con metriche
- Top 6 asset attivi
- Ultimi 8 trades
-
?? Strategie (
/strategies)- Gestione strategie di trading
- Strategia attiva: RSI + MACD Cross
- Template predefiniti
- Performance tracking
-
?? 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
-
?? Trading (
/trading- Tutti 15 asset in grid
- Toggle on/off per ogni asset
- Metriche real-time
- Tabella operazioni complete
-
?? Analisi Mercato (
/market)- Grafici interattivi SVG
- Indicatori tecnici (RSI, MACD, EMA)
- Selector asset
- Dati aggiornati ogni 3 secondi
-
?? Statistiche (
/statistics)- Overview portfolio dettagliato
- Breakdown per asset
- Best/Worst performers
- Analisi P&L completa
- Drilldown su singolo asset
-
?? 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
- Modalità Simulazione: Sempre attiva, dati non reali
- Dati Persistenti: Solo impostazioni, non trades storici
- Reset Dati: Riavvio applicazione = reset portfolio
- 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.