Un bot di trading sul tuo laptop è una cattiva idea per un motivo noioso: il tuo laptop non è online 24/7, e i mercati sì. Chiudi il coperchio a metà di un'operazione e il bot smette di gestire una posizione aperta. Freqtrade — il popolare bot di trading open-source in Python — è costruito per girare senza sorveglianza, che è esattamente a cosa serve un piccolo VPS. Ecco cosa serve davvero, come configurarlo con Docker, e i limiti onesti che nessuno menziona finché non li incontri.
Perché un server, non la tua macchina
Due motivi, entrambi pratici:
- Uptime. Il bot deve osservare il mercato e gestire le posizioni 24 ore su 24. Ogni volta che il tuo laptop va in sospensione o si riavvia, il bot è cieco — un ingresso mancato, o peggio, una posizione aperta che nessuno sorveglia.
- Latenza e stabilità. Un VPS sta su una connessione da datacenter con una rotta stabile verso l'exchange. Il jitter del wifi di casa e i reset del NAT non aiutano un bot che reagisce al prezzo.
Questa è la stessa logica dietro il far girare qualsiasi bot di trading su un VPS — Freqtrade rende solo i requisiti concreti.
Cosa serve davvero
Freqtrade in sé è leggero, ma sii realista sul carico:
- Bot live / dry-run: 2 GB di RAM sono un pavimento comodo. L'immagine Docker, una manciata di coppie, gli indicatori e il DB SQLite delle operazioni vogliono tutti un po' di margine. Un $5 Micro (2 vCPU / 2 GB / 25 GB) è il punto di partenza giusto. 1 GB può far girare una singola strategia semplice su poche coppie, ma sei più vicino al limite.
- Molte coppie / più strategie: sali a un $8 Small (4 vCPU / 4 GB / 35 GB) — più coppie significa più calcolo concorrente di indicatori e un dataframe più grande in memoria.
- Disco: modesto. L'immagine, il tuo
user_datae il DB delle operazioni stanno comodamente in 25 GB. I dati storici scaricati per il backtesting sono l'unica cosa che cresce — e quella vive per lo più sulla tua macchina locale (vedi sotto).
Configuralo con Docker Compose
Docker è il modo mantenuto e meno doloroso per far girare Freqtrade. Su una macchina nuova:
sudo apt update && sudo apt install -y docker.io docker-compose-v2
mkdir ~/ft && cd ~/ft
docker run --rm -v "$(pwd)/user_data:/freqtrade/user_data" \
freqtradeorg/freqtrade:stable create-userdir --userdir user_data
Prendi il file compose ufficiale e crea una config in modo interattivo (chiederà del tuo exchange, dello stake e del dry-run):
curl -s https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
docker compose run --rm freqtrade new-config --config user_data/config.json
Prima il dry-run — sempre
Non puntare mai una strategia nuova su denaro reale. Freqtrade è predefinito su dry-run (paper trading) e dovresti lasciarlo lì finché la strategia non si è dimostrata su dati di mercato reali per un po'. In config.json:
{
"dry_run": true,
"dry_run_wallet": 1000
}
Avvialo e osserva:
docker compose up -d
docker compose logs -f
La policy restart: unless-stopped nel file compose è il tuo equivalente di systemd qui — Docker riporta il bot dopo un crash o un riavvio del server, senza passo manuale. (Se preferisci eseguirlo fuori da Docker, una unit systemd con Restart=always fa lo stesso lavoro — stesso principio del tenere vivo qualsiasi bot.)
Chiavi API dell'exchange — la parte che frega la gente
È qui che un setup di trading va storto in modo costoso. Due regole, non negoziabili:
- Solo permesso di trade. Non abilitare mai il prelievo. Se la chiave trapela, il caso peggiore sono operazioni indesiderate — non i tuoi fondi che escono dalla porta. Freqtrade non ha mai bisogno dell'accesso al prelievo.
- Metti la chiave in whitelist IP. La maggior parte degli exchange ti lascia vincolare una chiave API a IP specifici. È un motivo concreto per girare su un piano con IP dedicato: la chiave funziona solo dall'indirizzo fisso del tuo server. Su un piano NAT il bot condivide l'IP in uscita del nodo, che non è solo tuo — va bene perché il bot funzioni, ma non puoi metterlo in whitelist in modo pulito.
Tieni le chiavi in config.json, rendilo non world-readable (chmod 600), ed esegui il container come utente non-root. E blinda prima la macchina — la checklist di sicurezza per un nuovo VPS richiede dieci minuti e chiude le porte che contano.
Fai il backup di user_data
Le tue strategie, la config e la cronologia delle operazioni vivono tutte in user_data. È la cosa che non vuoi perdere:
tar czf ft-backup-$(date +%F).tar.gz user_data
Tira quello fuori dal server periodicamente (o in object storage). Perdere il DB delle operazioni significa perdere la tua cronologia delle performance; perdere una strategia messa a punto significa rifare l'ottimizzazione.
I limiti onesti
- Backtesting e hyperopt sono pesanti — falli localmente. Inchiodano la CPU per tratti prolungati, e un VPS condiviso orientato al burst è costruito per carichi a picco, non per ore di carico sostenuto al 100% (che va anche contro la policy di uso accettabile). Ottimizza sulla tua macchina, distribuisci il risultato per girare in live. Il VPS è per il bot live, non per la ricerca.
- La CPU è condivisa/burst. Ottima per un bot live che per lo più aspetta le candele e reagisce; sbagliata per macinare un anno di dati a 1 minuto attraverso l'hyperopt.
- Una regione, solo-CPU. Il server è in Germania senza GPU. Va bene per Freqtrade (è CPU/logica, non addestramento ML) — utile sapere se la tua strategia si appoggia a un modello ML pesante, che di nuovo è meglio addestrare localmente.
In conclusione
Freqtrade su un VPS è il setup giusto per il bot live: un $5 Micro per una strategia focalizzata, un $8 Small se fai girare molte coppie, Docker Compose con restart: unless-stopped per l'uptime, e una chiave API di solo-trade e in whitelist IP così una fuga non può prosciugarti. Tieni il backtesting e l'hyperopt pesanti sul tuo laptop, fai il backup di user_data, e lascia che il server faccia l'unica cosa in cui è bravo — restare online mentre il mercato si muove. La registrazione è solo con email e paghi in USDC o USDT; un IP dedicato è l'unico upgrade che vale la pena qui, puramente per la whitelist della chiave API.
Pronto per il deploy? Freqtrade è a suo agio su un piano Micro; per backtest più pesanti o molte coppie, sali a Small.
Commenti
Ancora nessun commento. Sii il primo.