Utilizzare l'API di Binance per il trading consente di automatizzare l'acquisto/vendita di criptovalute, recuperare dati in tempo reale/storici, gestire ordini, controllare i saldi e costruire bot o strategie di trading — tutto in modo programmatico senza utilizzare manualmente il sito/app di Binance.Ecco una guida pratica passo-passo (focalizzata sul trading spot, il punto di partenza più comune; i futures/margin seguono schemi simili ma utilizzano endpoint diversi).1. Crea un Account Binance e Genera Chiavi API
Registrati/accedi su binance.com.
Vai a Profilo → Gestione API (o direttamente: https://www.binance.com/en/my/settings/api-management).
Clicca Crea API.
Etichettalo (ad es., "Bot di Trading").
Abilita permessi:
Abilita Lettura (sempre necessario)
Abilita Trading Spot & Margin (per effettuare/annullare ordini)
Non abilitare prelievi a meno che non sia assolutamente necessario (rischio per la sicurezza!)
Facoltativamente, limita a indirizzi IP fidati.
Copia immediatamente la tua API Key e Secret Key — il segreto viene mostrato solo una volta.
Suggerimento di sicurezza: Non condividere le chiavi, non committarle su GitHub, conservale in modo sicuro (ad es., variabili d'ambiente).2. Scegli il tuo approccio
Più facile per i principianti: Usa la libreria python-binance ufficiale.
Installala:
bash
pip install python-binance
Alternative: CCXT (supporta più di 100 exchange), connettori ufficiali in Node.js, Java, ecc.
3. Connessione di base & esempi (Python)
python
from binance.client import Client
from binance.enums import *
# Usa le tue vere chiavi (non codificarle mai in produzione!)
api_key = "your_api_key_here"
api_secret = "your_api_secret_here"
client = Client(api_key, api_secret)
# Testa la connessione: Ottieni il saldo dell'account
balance = client.get_account()
print(balance) # Mostra tutti i tuoi saldi
# Ottieni il prezzo attuale di BTC/USDT
ticker = client.get_symbol_ticker(symbol="BTCUSDT")
print(ticker) # {'symbol': 'BTCUSDT', 'price': '62345.67'}
4. Effettuare scambi (parte centrale del trading)Ordine di mercato (compra/vendi istantaneamente al prezzo attuale)
python
# Compra 0.001 BTC con USDT (acquisto di mercato)
ordine = client.create_order(
symbol='BTCUSDT',
side=SIDE_BUY,
type=ORDER_TYPE_MARKET,
quoteOrderQty=50 # Spendi 50 USDT (o usa quantity=0.001 per l'importo in BTC)
)
print(ordine)
Ordine Limit (compra/vendi a un prezzo specifico)
python
# Vendi 0.001 BTC a $65,000
ordine = client.create_order(
symbol='BTCUSDT',
side=SIDE_SELL,
type=ORDER_TYPE_LIMIT,
timeInForce=TIME_IN_FORCE_GTC, # Buono fino a cancellato
quantity=0.001,
price=65000.00
)
Controlla / Annulla ordini
python
# Ottieni ordini aperti
open_orders = client.get_open_orders(symbol='BTCUSDT')
# Annulla un ordine
client.cancel_order(symbol='BTCUSDT', orderId=12345678)
5. Ottieni dati di mercato (essenziali per le strategie)
Candele storiche (per TA come medie mobili):
python
klines = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_1HOUR, "30 giorni fa UTC")
# Restituisce un elenco di [open_time, open, high, low, close, volume, ...]
Aggiornamenti in tempo reale tramite WebSockets (raccomandato per bot live):
python
from binance.websockets import BinanceSocketManager
def process_message(msg):
print(msg) # ad es., aggiornamenti dei prezzi correnti
bm = BinanceSocketManager(client)
bm.start_symbol_ticker_socket('BTCUSDT', process_message)
bm.start() # Esegue per sempre finché non viene fermato
6. Pratiche consigliate importanti & avvertimenti
Inizia su Testnet → Usa https://testnet.binance.vision/ (crea chiavi API testnet separate) per evitare di perdere soldi veri.
Rispetta i limiti di richiesta (Binance li applica rigorosamente — ad es., 1200 richieste/minuto).
Gestisci gli errori (ad es., saldo insufficiente, errori API) con try/except.
Usa il trading simulato / backtesting prima di andare live.
I bot di trading possono perdere denaro rapidamente — non rischiare più di quanto puoi permetterti.
Per futures/opzioni → Usa i metodi client.futures_* o un client futures separato.
Risorse ufficiali
Documentazione principale: https://developers.binance.com/docs/binance-spot-api-docs
Libreria Python: https://python-binance.readthedocs.io
Collezione Postman (ottima per testare gli endpoint): Cerca "Binance API Postman" su GitHub.
Inizia in piccolo, testa tutto su testnet e costruisci gradualmente la tua strategia!#BinanceAPI #binanceDev #CryptoTrading #TradingBot