La creazione di un bot per il trading di criptovalute è un ottimo esercizio per migliorare la tua esperienza dello sviluppo software. Inoltre, puoi commercializzarlo e capitalizzare la rapida crescita delle criptovalute per aumentare l’importo del tuo conto in banca.
Questo contenuto ha lo scopo di introdurti alla creazione di un semplice bot per il trading di criptovalute in Node.js. Approfondirò nel dettaglio la creazione di trading bot più avanzati in prossimi contenuti. Ecco quali sono gli obiettivi che mi pongo di raggiungere le le conosceze che intendo trasmettere:
Come utilizzare le API di GDAX per il trading bot
Come ottenere i prezzi delle criptovalute
Come effettuare operazioni di trading in base a parametri preimpostati
Dal 2018 GDAX è praticamente diventato Coinbase Pro, tuttavia le API da utilizzare per NodeJs rimangono le stesse come da documentazione ufficiale.
Cominciamo | Come realizzare un Trading Bot per Coinbase Pro
Parto dal presupposto che tu già conosca JavaScript, NodeJs, MongoDB e Docker.
Dovresti anche già avere un account su Conbase Pro il quale appunto permette il trading automatico tramite API.
Apri quindi il terminale allo scopo di creare la cartella in cui andrai a realizzare il tuo progetto e dove inserirai la libreria GDAX, indispensabile per la prosecuzione dello stesso.
mkdir coinbase_pro_bot
cd coinbase_pro_bot
npm init
npm install gdax
Utilizziamo le API pubbliche | Come realizzare un Trading Bot per Coinbase Pro
Coinbase Pro ha API pubbliche a cui è possibile accedere senza registrare un account. Usiamo le sua API pubbliche per vedere le criptovalute che offre per il trading. Crea quindi il file index.js ed incolla la seguente porzione di codice.
const CoinbasePro = require("gdax"); const publicClient = new CoinbasePro.PublicClient(); const callback = (error, response, data) => { if (error) console.log(error); console.log(data); } publicClient.getProducts(callback);
Riapri quindi il terminale ed esegui index.js.
Vedrai qualcosa di simile a questo.
Il metodo getProducts ti permette vi dedere tutte le criptovalute che offre Coinbase Pro. Esistono anche altri metodi che puoi utilizzare per ottenere dati sulle loro criptovalute come getCurrencies e getProductHistoricalRates.
Di seguito, come può essere utilizzato il metodo getCurrencies.
const CoinbasePro = require("gdax"); const publicClient = new CoinbasePro.PublicClient(); const callback = (error, response, data) => { if (error) console.log(error); console.log(data); publicClient.getCurrencies(callback);
Utilizziamo ora il metodo getProductHistoricalRate per ottenere dati storici sui prezzi di Bitcoin.
const CoinbasePro = require("gdax"); const publicClient = new CoinbasePro.PublicClient(); const callback = (error, response, data) => { if (error) console.log(error); console.log(data); } publicClient.getProductHistoricRates('BTC-USD', callback);
Utilizziamo le API private | Come realizzare un Trading Bot per Coinbase Pro
Dopo aver effettuato l’accesso al tuo account su Coinbase Pro (se non ne hai uno registrati), avrai accesso alle API private, le quali ti offrono maggiori funzionalità in special modo per la prosecuzione del progetto e quindi per creare un bot automatico che fa operazioni di acquisto e vendita di criptovalute.
Per procedere devi abilitare le API nel tuo account, vai qudi nella sezione impostazioni ed abilitale, ti verranno fornite delle chiavi, in particolare, key, secret e passphrase.
Di seguito come utilizzare questi dati nel progetto riguardante la creazione del trading bot di criptovalute su Coinbase Pro.
const CoinbaseProKey = "KEY"; const CoinbaseProSecret = "SECRET"; const CoinbaseProPassphrase = "PASSPHRASE"; const apiURI = 'https://api.pro.coinbase.com'; const authenticatedClient = new GDAX.AuthenticatedClient(CoinbaseProKey, CoinbaseProSecret, CoinbaseProPassphrase, apiURI);
authenticatedClient.getAccounts(callback);
const INDIVIDUAL_ACCOUNT = "INSERT_ACCOUNT_ID"; authenticatedClient.getAccount(INDIVIDUAL ACCOUNT, callback);
const BTC_USD = 'BTC-USD'; const websocket = new GDAX.WebsocketClient([BTC_USD]); const websocketCallback = (data) => console.dir(data); websocket.on('message', websocketCallback);
const websocketCallback = (data) => { if (!(data.type === 'done' && data.reason === 'filled') return; console.dir(data); }
Inserimento di ordini di acquisto e vendita
È questa la parte del che stavi aspettando di vedere giusto?
Poiché hai tutte le informazioni sui tuoi account, puoi accedere alle API private con le informazioni segrete riguardo le chiavi del tuo account puoi procedere ad implementare la porzione di codice che permette l’acquisto/vendita automatica di criptovlute nel tuo account Coinbase Pro, in modo totalmente automatico.
Ecco un esempio di codice per effettuare ordini di acquisto.
function buy(buyData){ const params = { 'price': buyData.price, 'size': buyData.size, 'product_id': BTC_USD, }; this.buyOrderId = authedClient.buy(params, callback); }
Ecco il codice per piazzare ordini di vendita
function sell(buyData) { const params = { 'price': buyData.price, 'size': buyData.size, 'product_id': BTC_USD, }; this.sellOrderId = authedClient.sell(params, callback); }
É tutto!
Conclusione
Il contenuto ti consente di creare un semplice bot per fare trading in automatico di criptovalute su Coinbase Pro, tuttavia non ti permetterà di avere un trading redditizzio in quanto manca di una adeguata strategia per permettere che le operazioni vadano in profitto, se hai una strategia e vuoi implementarla puoi tranquillamente utilizzare tutto il codice e proseguire nello sviluppo.