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

Code
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

Code
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

Code
TCP_SERVER_PORT = 55110

Definisce 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

Code
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

Code
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

Code
TCP_SERVER_PORT = 55110

Definisce 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

Code
INITIAL_CAPITAL = 1000.0

Definisce 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

Code
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

Code
"lot_size": 0.5

Quantità 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

Code
"position_size": 18.0

Allocazione 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

Code
"take_profit_percent": 2.81

Percentuale 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

Code
"stop_loss_percent": 1.41

Percentuale 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

Code
"trail_activation_percent": 1.3

Soglia 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

Code
"trail_distance_percent": 0.8

Distanza 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

Code
"trail_tight_distance_percent": 0.5

Una 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

Code
"min_ema200_3m_slope": -0.008

Pendenza 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

Code
"min_ema20_1m_slope": 0.01

Pendenza 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

Code
"min_ema50_1m_slope": 0.005

Pendenza 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

Code
"volume_spike_coeff": 1.2

Moltiplicatore 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

Code
"max_candle_size": 0.8

Percentuale 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

Code
"min_ema50_ema200_distance": 0.06

Distanza 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

Code
"min_ema20_ema50_distance": 0.10

Distanza 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

Code
"max_portfolio_exposure": 90.0

Percentuale 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

Code
"max_consecutive_losses": 10

Numero 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

Code
"max_daily_drawdown_per_symbol": 3.0

Percentuale 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

Code
"max_total_drawdown_per_symbol": 6.0

Percentuale 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

Code
"max_daily_drawdown": 5.0

Percentuale 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

Code
"max_total_drawdown": 10.0

Drawdown 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.