Gekko: il trader bot gratuito e open source per criptovalute
Tool & app

Gekko: il trader bot gratuito e open source per criptovalute

By Stefano Cavalli - 21 Lug 2019

Chevron down

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.

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:

gekko dashboard

La scheda Local Data mostra i dati disponibili su cui applicare il backtest:

gekko dataset exchange

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.

trader bot gekko

Gekko sta importando i dati:

importare i dati criptovalute

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:

import effettuato

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.

backtest su Gekko

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.

criptovalute strategie

Grazie al pulsante Backtest si ottiene questo risultato:

risultati del backtest gekko trader bot

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.

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

live gekko

Bisogna scegliere un exchange di esempio, una strategia, un asset e una currency ricordandosi di spuntare a destra la scelta Paper trader, quindi Start.

trading live

trading live sell crypto

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.

gekko ordine market

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.

risultati performance

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.

gekko bitcoin trading

Ogni operazione può essere tenuta sotto controllo andando a verificare l’order book nell’exchange utilizzato che effettivamente corrisponde agli ordini effettuati da Gekko:

Bitfinex ordini

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.

Stefano Cavalli
Stefano Cavalli

Nato a Parma, classe '92. Laureato in Ingegneria Informatica Elettronica e delle Telecomunicazioni all'Università degli Studi di Parma. Appassionato da anni in tecnologia Blockchain, economia decentralizzata e criptovalute. Esperto in Web-Development & Software-Development.

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.