Riferimento Configurazione
Spiegazione Completa dei Campi Config
Il Trading Bot ByNinja utilizza molteplici moduli di configurazione per separare le responsabilità tra esecuzione degli scambi, connettività allo scambio e comunicazione Telegram.
Il sistema di configurazione è intenzionalmente leggero e basato su file, consentendo una facile distribuzione, una rapida modifica e un comportamento di avvio prevedibile.
Configurazione Telegram
Il modulo di configurazione Telegram contiene tutti i parametri necessari per la comunicazione con l'API del Bot Telegram e l'integrazione TCP.
TELEGRAM_BOT_TOKEN
TELEGRAM_BOT_TOKEN = "your_telegram_bot_token"Il token del bot Telegram utilizzato per l'autenticazione con l'API del Bot Telegram.
Questo token viene generato tramite BotFather all'interno di Telegram e identifica in modo univoco l'istanza del bot.
Responsabilità:
- •Autentica le richieste API
- •Consente l'invio di notifiche
- •Consente la ricezione di comandi utente
- •Concede l'accesso alle funzionalità del bot Telegram
Importante:
- •Non esporre mai il token pubblicamente
- •Non committarlo mai in repository pubblici
- •Trattalo come una credenziale privata
TELEGRAM_CHAT_ID
TELEGRAM_CHAT_ID = "your_private_telegram_chat_id"L'ID privato della chat Telegram dove vengono consegnate le notifiche e gli avvisi di trading.
Il bot utilizza questo ID per limitare la comunicazione solo al proprietario autorizzato.
Responsabilità:
- •Instrada avvisi e notifiche
- •Limita l'accesso non autorizzato
- •Consente l'esecuzione di comandi privati
Uso tipico:
- •Notifiche di trading personali
- •Gestione remota del bot
- •Monitoraggio dell'esecuzione delle operazioni
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Definisce la porta TCP utilizzata per la comunicazione tra il server Telegram e il bot di trading.
Entrambe le applicazioni devono utilizzare lo stesso valore di porta.
Responsabilità:
- •Trasporto messaggi TCP
- •Routing comandi remoti
- •Inoltro log in tempo reale
Importante:
- •La porta deve essere disponibile sul sistema
- •Potrebbe essere necessario regolare le regole del firewall
- •Entrambi i processi devono condividere una configurazione identica
Configurazione Binance
Il modulo di configurazione Binance contiene le credenziali di autenticazione dello scambio e le impostazioni di comunicazione per il trading.
BINANCE_API_KEY
BINANCE_API_KEY = "your_binance_api_key"Chiave API pubblica generata dall'account Binance.
Utilizzata per autenticare le richieste ai servizi Binance.
Responsabilità:
- •Accesso ai dati di mercato
- •Permessi per il piazzamento ordini
- •Accesso alle informazioni dell'account
Raccomandazioni di sicurezza:
- •Abilita restrizioni IP se possibile
- •Utilizza permessi di solo trading
- •Evita di abilitare i permessi di prelievo
BINANCE_API_SECRET
BINANCE_API_SECRET = "your_binance_api_secret"Segreto API privato abbinato alla chiave API Binance.
Utilizzato per la firma delle richieste e la verifica dell'autenticazione.
Importante:
- •Deve rimanere strettamente privato
- •Non esporlo mai pubblicamente
- •Non inviarlo mai tramite log o screenshot
TCP_SERVER_PORT
TCP_SERVER_PORT = 55110Definisce la porta di comunicazione TCP utilizzata dal client TCP del bot di trading.
Questo valore deve corrispondere alla configurazione del server Telegram.
Configurazione Trading
Il modulo di configurazione del trading definisce l'allocazione del capitale, le coppie di trading, il comportamento della strategia e la gestione del rischio del portafoglio.
INITIAL_CAPITAL
INITIAL_CAPITAL = 1000.0Definisce il capitale iniziale virtuale o tracciato per il sistema di trading.
Utilizzato per:
- •Calcoli delle performance
- •Calcoli del drawdown
- •Tracciamento esposizione portafoglio
- •Statistiche gestione rischio
Il valore è espresso in USDT.
TRADING_PAIRS
TRADING_PAIRS = [
"AVAXUSDT",
"LINKUSDT",
"DOTUSDT",
"XRPUSDT",
"ATOMUSDT"
]Elenco dei simboli di criptovalute monitorati e scambiati dal sistema.
Ogni simbolo deve esistere anche all'interno del dizionario TRADING_PARAMETERS .
Responsabilità:
- •Definisce i mercati di trading attivi
- •Controlla le sottoscrizioni ai simboli
- •Abilita l'esecuzione della strategia per simbolo
Consiglio Pro: Usa un Editor di Codice
Per un'esperienza molto migliore durante la modifica dei file di configurazione, raccomandiamo di utilizzare un editor di codice professionale come Visual Studio Code.
Download VS Code ↗Riferimento Parametri di Trading
Ogni coppia di trading contiene un profilo di configurazione della strategia indipendente.
Questo design consente a ogni mercato di utilizzare parametri personalizzati di volatilità, trend e rischio.
lot_size
"lot_size": 0.5Quantità minima dell'ordine per la coppia di trading.
Il valore deve rispettare i requisiti di lot size dello scambio Binance.
Scopo:
- •Previene dimensioni di ordine non valide
- •Garantisce la compatibilità con lo scambio
- •Controlla la precisione minima dell'operazione
position_size
"position_size": 18.0Allocazione massima di capitale in USDT per una singola operazione.
Scopo:
- •Controlla esposizione posizione
- •Limita il rischio per operazione
- •Previene sovra-allocazione
Valori più alti aumentano:
- •Profitto potenziale
- •Perdita potenziale
- •Esposizione del portafoglio
take_profit_percent
"take_profit_percent": 2.81Percentuale di profitto target relativa al prezzo di entrata.
Quando il mercato raggiunge questo livello, il bot chiude la posizione in profitto.
Scopo:
- •Blocca i guadagni
- •Definisce l'obiettivo di ricompensa
- •Standardizza le uscite
Esempio:
- •Entrata a 100 USDT
- •Take profit al 2.81%
- •Target uscita = 102.81 USDT
stop_loss_percent
"stop_loss_percent": 1.41Percentuale massima di perdita consentita al di sotto del prezzo di entrata.
La posizione viene chiusa automaticamente se il mercato si muove contro l'operazione.
Scopo:
- •Limita il rischio di ribasso
- •Protegge il capitale di trading
- •Previene grandi drawdown
Esempio:
- •Entrata a 100 USDT
- •Stop loss all'1.41%
- •Uscita a 98.59 USDT
trail_activation_percent
"trail_activation_percent": 1.3Soglia di profitto richiesta prima di attivare il sistema di trailing stop.
Prima dell'attivazione:
- •Viene utilizzato lo stop loss standard
Dopo l'attivazione:
- •Inizia la protezione dinamica del trailing
Scopo:
- •Protegge le operazioni redditizie
- •Permette ai profitti di correre
- •Riduce le uscite premature
trail_distance_percent
"trail_distance_percent": 0.8Distanza tra il massimo di mercato attuale e il livello di trailing stop.
Scopo:
- •Protegge i profitti non realizzati
- •Permette il movimento naturale del mercato
- •Crea uscite dinamiche
Valori più piccoli:
- •Protezione più stretta
- •Uscite più rapide
- •Comportamento più sensibile
Valori più grandi:
- •Maggiore flessibilità
- •Durata operazione più lunga
- •Maggiore tolleranza ai pullback
trail_tight_distance_percent
"trail_tight_distance_percent": 0.5Una distanza di trailing stop più stretta utilizzata in condizioni di forte resistenza o inversione.
Scopo:
- •Protezione aggressiva del profitto
- •Uscite più rapide vicino alla resistenza
- •Riduzione della restituzione del profitto
min_ema200_3m_slope
"min_ema200_3m_slope": -0.008Pendenza minima consentita dell'indicatore EMA200 a 3 minuti.
Utilizzato come filtro di trend su timeframe superiore.
Scopo:
- •Evita di fare trading durante forti trend al ribasso
- •Filtra le deboli strutture di mercato
- •Migliora l'allineamento al trend
min_ema20_1m_slope
"min_ema20_1m_slope": 0.01Pendenza minima richiesta per l'indicatore EMA20 a 1 minuto.
Utilizzato per la conferma del momentum a breve termine.
Scopo:
- •Rileva l'accelerazione al rialzo
- •Conferma momentum rialzista
- •Filtra condizioni di mercato piatte
min_ema50_1m_slope
"min_ema50_1m_slope": 0.005Pendenza minima richiesta per l'indicatore EMA50 a 1 minuto.
Agisce come conferma aggiuntiva del trend.
Scopo:
- •Conferma la direzione a medio termine
- •Riduce i falsi segnali
- •Migliora la qualità dell'entrata
volume_spike_coeff
"volume_spike_coeff": 1.2Moltiplicatore di volume richiesto rispetto al volume medio.
Il bot entra in operazioni solo se il volume corrente supera la soglia configurata.
Scopo:
- •Rileva una forte partecipazione al mercato
- •Evita entrate a bassa liquidità
- •Conferma la forza del breakout
Esempio:
- •Volume medio = 1000
- •Coefficiente = 1.2
- •Volume richiesto = 1200+
max_candle_size
"max_candle_size": 0.8Percentuale massima consentita della dimensione della candela prima di bloccare l'entrata.
Scopo:
- •Evita di entrare dopo candele fuori misura
- •Previene l'inseguimento di movimenti eccessivi
- •Riduce le entrate FOMO
min_ema50_ema200_distance
"min_ema50_ema200_distance": 0.06Distanza percentuale minima richiesta tra EMA50 ed EMA200.
Scopo:
- •Conferma la separazione del trend di mercato
- •Filtra trend deboli
- •Valida la struttura del trend
Valori di distanza più alti indicano generalmente trend più forti.
min_ema20_ema50_distance
"min_ema20_ema50_distance": 0.10Distanza minima richiesta tra gli indicatori EMA20 ed EMA50.
Scopo:
- •Conferma la forza del momentum a breve termine
- •Filtra entrate deboli
- •Migliora la qualità del segnale
Riferimento Parametri di Rischio
Il sistema di gestione del rischio protegge sia i singoli simboli che l'intero portafoglio.
max_portfolio_exposure
"max_portfolio_exposure": 90.0Percentuale massima del capitale del portafoglio che può essere allocata simultaneamente a posizioni aperte.
Scopo:
- •Previene la sovraesposizione
- •Mantiene liquidità di riserva
- •Riduce il rischio sistemico
max_consecutive_losses
"max_consecutive_losses": 10Numero massimo di operazioni perdenti consecutive consentite prima che il trading si interrompa per il simbolo.
Scopo:
- •Rileva condizioni di mercato instabili
- •Previene la logica di overtrading emozionale
- •Limita i periodi di degrado della strategia
max_daily_drawdown_per_symbol
"max_daily_drawdown_per_symbol": 3.0Percentuale di perdita giornaliera massima consentita per una singola coppia di trading.
Se superata:
- •Il trading per il simbolo viene temporaneamente interrotto
Scopo:
- •Limita il danno specifico del simbolo
- •Previene perdite ripetute in mercati instabili
max_total_drawdown_per_symbol
"max_total_drawdown_per_symbol": 6.0Percentuale di perdita cumulativa massima consentita per una coppia di trading in tutte le sessioni.
Scopo:
- •Rileva simboli con prestazioni costantemente inferiori
- •Previene l'erosione del capitale a lungo termine
max_daily_drawdown
"max_daily_drawdown": 5.0Percentuale di perdita giornaliera massima consentita per il portafoglio.
Se superata:
- •Tutta l'attività di trading si interrompe
Scopo:
- •Protegge il portafoglio durante condizioni di mercato estreme
- •Limita le perdite giornaliere catastrofiche
max_total_drawdown
"max_total_drawdown": 10.0Drawdown cumulativo massimo del portafoglio nell'intero ciclo di vita del trading.
Scopo:
- •Agisce come meccanismo finale di protezione del capitale
- •Previene il fallimento completo della strategia
- •Applica la disciplina del rischio a lungo termine
Una volta raggiunto:
- •Le operazioni di trading dovrebbero rimanere disabilitate fino a quando non viene effettuata una revisione manuale.