L’istanza bot di MagicTradeBot è un eseguibile multipiattaforma compatibile con Windows, Linux e macOS. È progettata per funzionare in modalità standalone o insieme a più istanze, con la configurazione gestita tramite un file centrale .yaml
.
Ogni istanza si connette all’API dell’App di Gestione di MagicTradeBot per l’autenticazione, l’esecuzione degli scambi e l’analisi del mercato in tempo reale. Questo documento spiega i parametri di configurazione e le migliori pratiche per una comunicazione sicura.
📄 Struttura di configurazione YAML
La configurazione principale di ogni istanza bot è memorizzata in un file config.yaml
. Ecco un layout di riferimento:
server:
# Nome
botName: "Bybit_Mainnet_Trading_Bot" # Nome univoco per l'istanza bot
# CHIAVE LICENZA
licenseKey: "hRnWOLo91ESUiZ8SkN986w" # Necessaria per attivare e convalidare l'istanza
# MODALITÀ DEMO
isDemo: true # true = modalità simulazione; false = trading reale
# CONFIGURAZIONE API
api: "https://localhost:7225/" # URL dell’API di gestione di MagicTradeBot
# CONTROLLO ESECUZIONE
refreshRate: 5 # Intervallo di scansione del mercato in secondi
totalConcurrentTrades: 0 # Numero massimo di scambi simultanei (0 = illimitato)
# GESTIONE DEL RISCHIO (0 = disabilitato)
maxLoss: 0 # Il bot si arresta se le perdite cumulative raggiungono questa soglia
maxProfit: 0 # Il bot si arresta se i profitti cumulativi raggiungono questa soglia
# IMPOSTAZIONI ACCOUNT
exchangeId: 0 # ID dell’account per il trading (recuperato dall’app di gestione)
# IMPOSTAZIONI TEMPLATE
templateId: 0 # ID del template strategico (0 = predefinito)
# STRATEGIA DI TRADING
strategy: 0 # ID strategia (vedi elenco sotto)
strategyMaxCount: 55 # Max. passi di progressione (0 = illimitato)
# RIFERIMENTO STRATEGIE:
# 0: Nessuna strategia
# 1: Martingala 2: Martingala inversa
# 3: Fibonacci 4: Fibonacci inversa
# 5: 3-2-6-3 6: 3-2-6-3 inversa
# 7: D'Alembert 8: D'Alembert inversa
timeZone: "UTC" # Fuso orario per la pianificazione e le operazioni di trading
# IMPOSTAZIONI SISTEMA
debug: true # Abilita log dettagliati
🔐 Linee guida per la comunicazione sicura
Poiché le istanze bot interagiscono con l’API di gestione per recuperare simboli, scansionare i mercati ed eseguire operazioni, è fondamentale proteggere tale comunicazione. Di seguito le pratiche da seguire:
1. Usa HTTPS per gli endpoint API
- Assicurati che il campo
api
utilizzi un URL HTTPS - Utilizza certificati TLS validi (es. Let’s Encrypt) per crittografare il traffico
- Rifiuta tutte le connessioni HTTP non sicure all'app di gestione
2. Forza l'autenticazione JWT
- All’avvio, l’istanza richiede un token JWT fornendo le credenziali
- Dopo la convalida, l’app restituisce un token firmato, usato in ogni richiesta con l’intestazione
Authorization
- I token devono avere una scadenza breve e vanno archiviati in modo sicuro in memoria
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
3. Limita l’accesso con whitelist IP
- Consenti l'accesso all'API solo dagli indirizzi IP noti in cui girano i bot
- Implementa regole firewall per bloccare l’accesso esterno non autorizzato
4. Proteggi le chiavi API e di licenza
- Non scrivere mai i segreti nel codice sorgente o nei log
- Carica i segreti da variabili di ambiente o da un gestore cifrato
- Ruota periodicamente le chiavi API e le licenze
5. Isola ogni istanza bot
- Assegna a ogni bot un
botName
univoco ed eseguilo in contenitori o ambienti isolati - Limita i permessi per istanza se usi ACL a livello OS
6. Monitora e verifica l’uso delle API
- Abilita i log di audit nell’app di gestione
- Registra tutti i tentativi JWT e gli accessi non validi
- Configura allarmi tramite Sentry, Pushover o LogDNA per rilevare anomalie
✅ Raccomandazioni
- 📌 Usa password forti e comunicazione cifrata tra tutti i servizi
- 📌 Isola l’infrastruttura del bot da esposizione pubblica
- 📌 Applica aggiornamenti software regolari sia sull’app di gestione che sui bot
- 📌 Pianifica backup automatici delle configurazioni bot e della cronologia operazioni