Gekko è uno fra i migliori trader bot gratuiti per criptovalute che si possono trovare online. Essendo un software di autotrading, racchiude al proprio interno un meccanismo abbastanza complesso ma comunque presente su GitHub e, chiaramente, open source.
Questi programmi sono in grado di aprire ai trader, neofiti o esperti, infinite possibilità di approccio al mercato delle criptovalute. Gekko è un software che garantisce sia il trading automatico che il backtesting, è scritto in javascript e funziona grazie a nodejs.
Una volta installato, si può sviluppare ed impostare la propria strategia di trading o iniziare con quelle di esempio che sono già integrate nel pacchetto software. Ad ogni modo, Gekko funziona in tre diverse modalità:
- Backtest: si effettua una simulazione della strategia su un periodo di dati storici. Gekko, dunque, mostra cosa sarebbe successo se avessimo applicato tale strategia in passato. Riporta su un grafico tutti i buy e sell che avrebbe effettuato, così come le varie metriche di rischio insieme a tanti altri fattori;
- Paper Trader: si può eseguire la strategia in tempo reale e simulare il trading utilizzando del denaro finto, per vedere in tempo reale la rendita della strategia;
- Tradebot: può eseguire la strategia real time e compiere automaticamente gli ordini in base a come è stato programmato. Vengono sfruttate le API degli exchange che sono di interesse.
Tutte queste modalità possono essere eseguite dall’interfaccia utente, la quale mostrerà grafici e statistiche sul rendimento e sul rischio. L’interfaccia di Gekko è molto semplice da utilizzare, qualsiasi sia la modalità scelta.
Summary
1) Installazione di Gekko
Sul sito ufficiale vengono fornite due spiegazioni separate per Windows e per Mac, ma non è necessario dividere tutto ciò in due parti, poiché c’è un modo più semplice e veloce per installare Gekko su entrambi i sistemi operativi.
1.1 Installazione su Windows e Mac
1.1.1 nodejs
Per far funzionare Gekko serve nodejs (almeno la versione 6), un runtime javascript su cui è basato tutto il software. Basta scaricarlo dal sito ufficiale e completare l’installazione che richiede pochi minuti.
1.1.2 Gekko da Github
Una volta terminata, bisogna scaricare Gekko e per farlo è necessario aprire un terminale e digitare:
git clone git://github.com/askmike/gekko.git -b stable
Premendo Invio verrà scaricata l’ultima versione stabile disponibile.
Rimuovendo invece l’ultima parte del comando:
-b stable
la versione che verrà scaricata sarà l’ultima in ordine di rilascio, ma si consiglia sempre quella più stabile.
Nota: se la Shell dovesse riportare il seguente errore:
-git- non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.
sarà sufficiente installare Git sul sito web ufficiale.
Per entrambi i sistemi operativi, Gekko viene installato nella directory:
/Utenti/username/gekko
di conseguenza bisogna spostarsi nella cartella Gekko con il comando cd:
cd gekko
Nota: Gekko viene montato di default in questa directory. Ogni volta che si vuole utilizzarlo, bisognerà sempre spostarsi nella cartella gekko con il comando appena mostrato.
1.1.3 Installazione delle componenti
Per installare le dependencies, necessarie all’utilizzo di Gekko, basterà digitare nel terminale:
npm install --only=production
Nota: Se viene generato qualche errore legato a nodejs, andrà rimosso e scaricata una versione più avanzata, quindi reinstallato. Il requisito minimo è la versione 6.
Installazione delle Broker’s dependencies:
cd exchange
npm install --only=production
cd ..
L’ultimo comando serve per tornare nella cartella precedente di modo da riuscire a lanciare l’interfaccia grafica.
1.1.4 Update di Gekko
In futuro potrebbe tornare utile il comando per aggiornare Gekko, anche se in questo momento non è richiesto:
git pull
npm install --only=production
1.2 Installazione su Server
Gekko viene utilizzato sui computer portatili, fissi, ma anche su server locali o sul cloud. La vera funzione di un bot è quella di essere eseguito runtime giorno e notte, di conseguenza la soluzione più classica è quella di un semplice server.
Tutta la parte legata all’installazione è uguale alla precedente per Windows e Mac. Tuttavia, per avere accesso da remoto, bisognerà aprire e modificare un file di configurazione.
Basta recarsi nel percorso gekko/web/vue/ e aprire il file UIconfig.js con un semplice editor di testo sostituendo tutto il contenuto del file con il seguente codice:
const CONFIG = {
headless: true,
api: {
host: '0.0.0.0',
port: 3000,
},
ui: {
ssl: false,
host: 'x.x.x.x', //IP del server che ospita Gekko
port: 3000,
path: '/'
},
adapter: 'sqlite'
}
Ora si può accedere a Gekko specificando questo percorso all’interno del browser:
http://x.x.x.x:3000
Dove x.x.x.x è l’indirizzo IP del server su cui si trova Gekko.
1.3 Installazione su Docker
Il software “Docker” è una tecnologia di containerizzazione che consente la creazione e l’utilizzo dei container Linux. Installare Gekko in un container Docker è molto semplice, basta aprire il terminale e digitare:
$ docker-compose build
$ docker-compose up -d
e collegandosi a http://localhost:3000 ci si troverà davanti alla schermata di Gekko.
2) Utilizzo di Gekko
2.1 Gekko Start
Per avviare Gekko basta aprire una Shell e digitare un paio di comandi:
cd gekko
node gekko --ui
Nota: Se non dovesse aprirsi automaticamente la pagina del browser, va avviata manualmente digitando nell’url:
http://localhost:3000
2.2 Local data
I local data sono quegli intervalli temporali su cui Gekko applica il backtesting. Questo esempio mostra come importare il grafico di bitcoin contro il dollaro, BTC/USD, su Bitfinex.
Ecco la schermata principale di Gekko:
La scheda Local Data mostra i dati disponibili su cui applicare il backtest:
Cliccando su Go to the importer! sarà possibile importare da diversi exchange i dati delle criptovalute su cui applicare le strategie una volta scelta come piattaforma Bitfinex e come currency e asset rispettivamente USD e BTC.
Gekko sta importando i dati:
Come si può notare in basso, Gekko offre la possibilità di fare il backtesting sui dati scaricati fino a quel momento anche se il download non è ancora completo. Una volta raggiunto il 100%, il software avvisa l’utente:
2.3 Backtesting
Backtest significa andare a testare una strategia, propria o predefinita, su un lasso temporale passato in modo da verificare i profitti o le perdite che quella strategia avrebbe generato.
Select a dataset permette di scegliere i dati che sono appena stati scaricati. Una strategia molto utilizzata è quello di seguire l’indicatore RSI, uno dei più famosi nell’analisi tecnica.
Grazie al pulsante Backtest si ottiene questo risultato:
In questo caso il report mostra una perdita del 2.64% circa, il roundtrips permette di controllare tutte le azioni che sono state eseguite dal bot.
2.4 Paper trader
Con la modalità Paper trader si può seguire la strategia in tempo reale e simulare il trading (utilizzando soldi finti) per vedere in tempo reale la rendita, o le perdite.
2.4.1 API keys. Per questa modalità è necessario fornire a Gekko le API dell’exchange che desideriamo utilizzare. Il procedimento per inserirle è molto semplice, basta andare nella scheda Config e premere sul pulsante Add an API key.
Come fa notare il software, è importante che le API generate abbiano il permesso di modificare gli ordini e di visualizzare il saldo disponibile sull’attuale exchange. Anche se per questa modalità verranno utilizzati soldi finti.
La scheda che interessa ora è quella chiamata Live Gekkos.
Bisogna scegliere un exchange di esempio, una strategia, un asset e una currency ricordandosi di spuntare a destra la scelta Paper trader, quindi Start.
Si può notare come viene applicata la strategia in tempo reale, questa è un’ottima idea per verificarne la robustezza.
2.5 Tradebot
Traderbot è la modalità di utilizzo fondamentale del software. Una volta eseguito il backtest su dati locali scaricati dagli exchange, e analizzata la strategia mediante il Paper bot, ora la si potrà applicare in tempo reale con i soldi o la valuta realmente disponibili su un determinato exchange.
Anche in questo caso è necessario fornire a Gekko le API keys con il procedimento appena visto per il Paper trader.
2.6 I limit order
Gekko non elabora ordini di tipo market, per via della poca ma inevitabile latenza di interconnessione tra il software e l’exchange, di conseguenza utilizza ordini di tipo limit. Se nel momento in cui Gekko prende la decisione di fare un buy o un sell il prezzo cambia repentinamente, senza più raggiungere il limit order, allora questo ordine non verrà mai eseguito.
Si consiglia infatti di non utilizzare il bot con candele di dimensione 1 minuto, poiché la volatilità del mercato delle criptovalute insegna che in un minuto il prezzo può cambiare repentinamente.
Gekko ha eseguito l’ordine di buy (pallino verde) acquistando alcune IOTA. Dopo un po’ di tempo è stato eseguito anche l’ordine di sell. Anche se non sembra esattamente sul grafico, basterà zoommare indietro il timeframe per visualizzarlo correttamente.
Vengono mostrati: strategia utilizzata, profit report, market graph e roundtrips i quali visualizzano tutte le operazioni effettuate con i relativi profitti/perdite.
Nota: In questo caso il prezzo è calato di poco in circa 15 minuti, di conseguenza si è registrata una perdita dello 0.18% dovuta anche alle fee trattenute da Bitfinex.
Ogni operazione può essere tenuta sotto controllo andando a verificare l’order book nell’exchange utilizzato che effettivamente corrisponde agli ordini effettuati da Gekko:
Oppure controllando il terminale e verificando che il bot stia realmente acquisendo informazioni dall’exchange.
3) Strategie
In Gekko le strategie sono scritte in Javascript. Per chiunque conosca qualche cenno di programmazione, non sarà per niente difficile mettere mano a quelle predefinite o crearsene una propria.
3.1 Esempi
Ci sono alcune strategie predefinite e già collaudate su Gekko. Ognuna di queste è inoltre basata su alcuni parametri che possono essere impostati a piacimento. Tutti questi script sono collocati nella cartella strategies.
3.2 Strategie custom: ma la strategia giusta?
La strategia perfetta non esiste. La maggior parte dei forum, e lo stesso creatore di Gekko, consigliano di combinare differenti indicatori per crearsi una o più strategie custom. Essi sono particolarmente utili in un mercato in cui la volatilità è all’ordine del giorno e ogni crypto risponde in maniera diversa all’andamento generale.
4) Conclusioni
Cercando bene all’interno dei forum troverete tante risposte a questa domanda, ma diffidate da chi mostra uno screenshot facendovi vedere un profitto del 1000% . Ci sono strategie che funzionano perfettamente in backtest, ma che si rilevano pessime per un utilizzo real time.
4.1 Exchange supportati
Questi sono tutti gli exchange che Gekko supporta e nelle varie colonne sono mostrate tutte le modalità in cui può operare per ogni exchange.
Exchange | Monitoring | Live Trading | Importing |
Poloniex |
✓ |
✓ |
✓ |
GDAX |
✓ |
✓ |
✓ |
BTCC |
✓ |
✓ |
✓ |
Bitstamp |
✓ |
✓ |
✓ |
Kraken |
✓ |
✓ |
✓ |
Bitfinex |
✓ |
✓ |
✓ |
Bittrex |
✓ |
✓ |
✕ |
coinfalco |
✓ |
✓ |
✓ |
wex.nz |
✓ |
✓ |
✕ |
Gemini |
✓ |
✓ |
✕ |
okcoin.cn |
✓ |
✓ |
✕ |
cex.io |
✓ |
✕ |
✕ |
BTC Markets |
✓ |
✓ |
✕ |
bitX |
✓ |
✕ |
✕ |
lakeBTC |
✓ |
✕ |
✕ |
meXBT |
✓ |
✕ |
✕ |
zaif |
✓ |
✕ |
✕ |
bx.in.th |
✓ |
✕ |
✕ |
bitcoin.co.id |
✓ |
✓ |
✕ |
Quadriga CX |
✓ |
✓ |
✕ |
Binance |
✓ |
✓ |
✓ |
4.2 Gekko funziona?
Tutte le informazioni che si trovano all’interno di questo articolo sono puramente a scopo informativo. Non viene dato alcun consiglio sul trading o su una qualsiasi modalità di guadagno con l’utilizzo di Gekko. Tuttavia, per rispondere alla domanda, Gekko funziona molto bene e sono in corso altri progetti correlati ad esso, come ad esempio GekkoAG (con l’utilizzo di algoritmi genetici) e tanti altri plugin integrabili.