In Evidenza Trading Tutorial

Gekko: la guida completa al trader bot gratuito!

Dopo avervi spiegato cos’é Gekko e come funziona, e dopo aver ricevuto diverse richieste e domande  abbiamo deciso di pubblicare una guida completa all’installazione e all’utilizzo di tutte le sue funzionalità.

Per chi si fosse perso come funziona e quali caratteristiche integra al suo interno questo fantastico trading bot, potete riguardare l’articolo pubblicato qui.

gekko

La guida é strutturata in questo modo per dare spazio ad ogni problematica e per cercare di rispondere ad ogni dubbio che potrebbe sorgervi:

1) Installazione

1.1 Installazione su Windows o Mac

1.1.1 Nodejs

1.1.2 Gekko from Github

1.1.3 Installazione componenti

1.1.4 Update di Gekko

1.2 Installazione su Server

1.3 Installazione su Docker

2) Utilizzo

2.1 Gekko start

2.2 Local data

2.3 Backtesting

2.4 Paper trader

2.4.1 API keys

2.5 Tradebot

2.6 I limit order

3) Strategie

3.1 Esempi

3.2 Strategie custom

4) Conclusioni

4.1 Exchange supportati

4.2 Gekko funziona?

1) Installazione

Sul sito ufficiale vengono fornite due spiegazioni separate per Windows e per Mac, ma ho personalmente testato che 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. Scarichiamolo dunque dal sito ufficiale e completiamo l’installazione, che richiede pochi minuti.

1.1.2 Gekko from Github.

Una volta terminata l’installazione scarichiamo Gekko direttamente da Github utilizzando la riga di comando:

Utenti Windows: aprite il prompt dei comandi.

Utenti Mac: aprite il terminale.

Una volta lanciata la Shell digitate:

git clone git://github.com/askmike/gekko.git -b stable

 Premete dunque Invio. In questo modo 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:

Utenti Windows. Andate sul sito ufficiale di Git, scaricatelo e installatelo stando attenti ad attivare l’opzione: “Run Git from the Window command prompt”.

Utenti Mac. Viene visualizzato il seguente messaggio: “Per il comando -git- sono necessari gli strumenti per sviluppatori da riga di comando. Desideri installarli adesso?”, cliccate dunque su Installa.

Per entrambi i sistemi operativi, Gekko viene installato nella directory: /Utenti/mionome/gekko di conseguenza spostiamoci nella cartella “gekko” con il comando cd:

cd gekko

Nota: Gekko viene montato di default in questa directory. Ogni volta che vorrete utilizzarlo dovrete prima spostarvi nella cartella “gekko” con il comando appena mostrato.

1.1.3 Installazione componenti.

Ora che abbiamo scaricato Gekko possiamo installarne le “dependencies” che servono per l’utilizzo.
Restate nella Shell e digitate:

npm install --only=production

Nota: Se viene generato qualche errore legato a nodejs, rimuovetelo e scaricate una versione più avanzata, quindi installatelo nuovamente. Vi ricordo che il requisito minimo è la versione 6.

Installiamo le Broker’s dependencies:

cd exchange
npm install --only=production
cd ..

L’ultimo comando server per tornare nella cartella precedente di modo da poter lanciare l’interfaccia grafica.

1.1.4 Update di Gekko.

Non è necessario ora poichè avete appena scaricato l’ultima versione stabile disponibile, ma in futuro potrebbe tornare utile il comando per aggiornare Gekko:

git pull
npm install --only=production

Nota: Se avete dei “Local Data” già scaricati o alcune vostre strategie già realizzate e volete mantenere i dati attuali, dovete copiare il contenuto della vecchia cartella “history” all’interno di quella nuova e fare la stessa cosa con la cartella “strategies”.

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.

Andate nel percorso gekko/web/vue/ e aprite il file “UIconfig.js” con un semplice editor di testo.
Sostituite 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'
}

Adesso potete accedere a Gekko specificando questo percorso nel vostro browser:

http://x.x.x.x:3000

Dove x.x.x.x è l’indirizzo IP del vostro server.

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

Gekko può essere utilizzato in varie modalità differenti tra loro e tutte quante molto utili. Vediamole insieme partendo dall’avvio di Gekko.

2.1 Gekko Start

Per avviare Gekko basta aprire una Shell e digitare un paio di comandi.

Utenti Windows: aprite il prompt dei comandi.

Utenti Mac: aprite il terminale.

Dopodiché spostatevi nella cartella di Gekko e avviatelo:

cd gekko 
node gekko --ui

Nota: Se non dovesse aprirsi automaticamente la pagina del browser, avviatene una voi con indirizzo:
http://localhost:3000

2.2 Local data

I local data sono quegli intervalli temporali su cui Gekko applica il backtesting. Vediamo subito un esempio di come importare il grafico di Bitcoin/USD relativo a ieri e oggi dall’exchange Bitfinex:

Questa è la schermata che ci si trova davanti una volta avviato Gekko:

gekko

Fate click sulla scheda “Local Data”, e si aprirà una schermata di questo tipo:

gekko

Qui potrete scegliere se visualizzare tutti dati raccolti fino ad ora o se importarne di nuovi (che è ciò che interessa a noi). Cliccate quindi su “Go to the importer!”.

Impostiamo come exchange Bitfinex, come currency e asset rispettivamente USD e BTC, infine un intervallo di tempo di due giorni e premiamo “Import”.

gekko

Gekko sta importando i dati per noi come mostrato in questa immagine:

gekko

Come si può notare c’è una frase in basso la quale indica la possibilità di fare il backtesting sui dati scaricati fino ad ora anche se Gekko non ha ancora finito di scaricarli tutti. Una volta raggiunto il 100% Gekko vi avvisa:

gekko
2.3 Backtesting

Spostiamoci quindi su backtest. Il backtest significa andare a testare una strategia, propria o predefinita, su un lasso temporale passato per verificare i profitti o le perdite che ci avrebbe fatto ottenere quella strategia.

gekko

Ora clicchiamo su “Select a dataset” per scegliere il nostro arco temporale, che può essere ulteriormente segmentato con il pulsante “Adjust range”.
Poi impostate la strategia come segue utilizzando l’indicatore RSI che è uno dei più famosi, con candele della dimensione di 20 minuti. Lasciamo stare il pulsante “Change paper trader settings” che serve solamente per gestire le fees che il vostro exchange adotta.

gekko

Premiamo dunque il pulsante “Backtest” e otteniamo questo risultato:

gekko

gekko

Come possiamo notare, avremmo avuto una perdita del 2,64% circa, inoltre il Roundtrips mostra tutte le azioni che sono state eseguite dal bot.

2.4 Paper trader

Con la modalità Paper trader si può eseguire la strategia in tempo reale e simulare il trading (utilizzando “fake money”) per vedere in tempo reale la rendita della strategia.

2.4.1 API keys. Per questa modalità è necessario fornire a Gekko le API dell’exchange che desideriamo utilizzare. Il procedimento per inserire le API è facilissimo, basta andare nella scheda “Config” e premere sul pulsante “Add an API key”.

gekko

Come fa notare il software, è importante che le API generate abbiamo il permesso di modificare gli ordini e di visualizzare il saldo disponibile sull’attuale exchange. Anche se per questa modalità verranno utilizzati soldi finti.

Spostiamoci quindi nella scheda “Live Gekkos”.

gekko

Scegliamo un exchange di esempio, una strategia, asset e currency e ricordatevi di spuntare a destra la scelta “Paper trader”. Quando siete pronti: “Start”.

gekko

gekko

Si può notare come viene applicata la strategia in tempo reale, con i “fake money” ovviamente.
Questa è un’ottima modalità per verificare la robustezza di una strategia applicata ad un preciso mercato.

2.5 Tradebot

Questa è 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 applicheremo in tempo reale con i soldi o la valuta realmente disponibili sul nostro exchange.

Anche in questo caso è necessario fornire a Gekko le nostre API keys con il procedimento che abbiamo appena visto per il Paper trader.

Una volta fatto ciò scegliamo la scheda “Live Gekkos” e impostiamo il tipo di modalità in “Tradebot”. In questo caso analizzeremo una strategia “custom” che compra al primo prezzo disponibile e vende dopo qualche minuto. Utilizzerò come exchange Bitfinex, come currency e asset rispettivamente USD e IOTA.

Nota: Questa strategia non ha lo scopo di dare un consiglio dal punto di vista del trading, serve solamente per spiegarvi come funziona questa modalità.

Nell’immagine sottostante c’è la configurazione.

gekko

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, e il prezzo cambia “repentinamente” senza più raggiungere il limit order, allora questo 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 ci insegna che in un minuto il prezzo può cambiare repentinamente.

Riprendiamo l’utilizzo del bot.
Gekko ha eseguito l’ordine di buy (pallino verde) acquistando alcune IOTA. Ora aspettiamo che esegua anche quello di sell. In questo grafico il pallino verde non è esattamente sul grafico solo perché il time-frame è davvero molto breve, ma se lasciassimo andare Gekko per qualche ora, allargando il time-frame il pallino starebbe esattamente sul grafico.

gekko

Gekko ha eseguito il sell dopo qualche minuto, come impostato nella nostra strategia custom.
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 pochissimo in circa 15 minuti di conseguenza ho registrato una perdita dello 0.18% dovuta anche alle fees trattenute da Bitfinex.

gekko

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

gekko

Oppure controllando il terminale e verificando che il bot stia realmente acquisendo informazioni dall’exchange.

gekko

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. Tutte queste strategie sono collocate nella cartella “strategies”.

3.2 Strategie custom: ma la strategia giusta?

La strategia perfetta non esiste, e se esiste di sicuro noi non l’abbiamo. 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, in cui ogni moneta 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.

Il consiglio che mi permetto di dare a chiunque decida di utilizzare Gekko è quello di testare più e più volte in backtest la vostra strategia, cercando di analizzare più dati possibili estrapolandoli da diversi exchange.

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 mi riservo di affermare che, basandosi su ciò che viene scritto nella strategia, 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 plug-in integrabili.

Sperando che l’articolo sia chiaro ed esaustivo vi invitiamo a seguirci sui nostri canali social dove possiamo discuterne insieme!

Vi invitiamo a seguirci sul nostro canale Telegram ed anche sul gruppo ufficiale Telegram, dove sarà possibile discutere insieme delle notizie e dell’andamento del mercato, sulla nostra pagina Facebook e sul nostro account Twitter.

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.
Follow Me:

Related Posts

  1. Ciao Stefano sarei molto interessato a provare questo bot vorrei installarlo su un sistema linux se potresti scrivere gentilmente i passaggi (io purtroppo non sono un utente avanzato su sistemi operativi linux) così per avere un po’ più di sicurezza mentre lo installo.

  2. salve, io ho installato come da guida su windows 7 e si apre senza problemi ma quando vado per importare dati non ce niente, cioè ci sono le varie opzioni per selezionare l’exchange ecc. ma sono vuote non ce niente che io possa selezionare. potete darmi una mano per favore. grazie in anticipo.

    • Ciao Michele. Diversi utenti hanno riscontrato dei problemi, specialmente su Windows 7.
      Non hai la possibilità di testare su un ambiente Linux?
      Nel caso rifaccio la procedura su Windows e appena trovo il problema te lo faccio sapere.
      Purtroppo con l’ultimo aggiornato ci sono stati diversi problemi.

    • Ciao Alessandro.
      Ci sono stati degli update e aggiornerò la guida più tardi.

      Per il momento, se sei all’interno della cartella Gekko, spostati dentro alla cartella Exchange in questo modo:

      cd exchange

      Dopodiché installa le Gekko Broker’s dependencies:

      npm install --only=production

      Ricordati ora di uscire dalla cartella Exchange e di tornare in quella principale in questo modo:

      cd ..

      Dopodiché:

      node gekko --ui

      E dovrebbe funzionare. Fammi sapere se hai risolto 🙂

Rispondi