Devavir / zenbot

“Per seguire il percorso, guardare al maestro, seguire il maestro, camminare con il maestro, vedere attraverso il maestro, diventare il maestro.”- Proverbio Zen

Nuovo! Chatta con altri utenti Zenbot

Zenbot ha di nuovo una Discordia chat! Puoi entrare attraverso questo link di invito.

Descrizione

Zenbot è un bot di trading di criptovaluta da riga di comando che utilizza Node.js e MongoDB. È dotato di:

  • Approccio di trading completamente automatizzato basato sull’analisi tecnica
  • Supporto completo per GDAX e Poloniex, il lavoro su un ulteriore supporto di scambio è in corso.
  • architettura a Plugin per implementare il supporto di exchange, o la scrittura di nuove strategie
  • Simulatore per l’analisi di Backtesting strategie contro i dati storici
  • “Carta” modalità di negoziazione, opera su di una simulazione di equilibrio mentre si guarda il mercato, in tempo reale
  • Configurabile smette di vendere, acquistare ferma, e (finale) utile fermate
  • Flessibile periodo di campionamento e commercio frequenza media 1-2 di transazioni al giorno con 1h periodo, 10/giorno con 15m periodo

Disclaimer

  • Zenbot NON è un sicuro profitto macchina. Usalo A TUO RISCHIO E PERICOLO.
  • La cripto-valuta è ancora un esperimento, e quindi lo è anche Zenbot. Significato, entrambi possono fallire in qualsiasi momento.
  • L’esecuzione di un bot e il trading in generale richiedono uno studio attento dei rischi e dei parametri coinvolti.
  • Spesso i parametri di trading predefiniti saranno sottoperformati rispetto a una strategia di buy-hold, quindi esegui alcune simulazioni e trova i parametri ottimali per lo scambio/coppia scelto prima di andare “all-in”.

Avvio rapido

1. Requisiti: Linux o OSX o Docker, Nodo.js e MongoDB.

Esegui nella console,

git clone https://github.com/carlos8f/zenbot.git

O, senza git,

wget https://github.com/carlos8f/zenbot/archive/master.tar.gztar -xf zenbot-master.tar.gzmv zenbot-master zenbot

Creare il file di configurazione da copia di conf-sample.jsconf.js:

cp conf-sample.js conf.js
  • Visualizzare e modificare conf.js.
  • È possibile utilizzare zenbot in modalità “paper trading” senza apportare modifiche.
  • È necessario aggiungere le chiavi API di scambio per consentire il trading reale tuttavia.
  • Le chiavi API NON necessitano di autorizzazioni di deposito / prelievo.

Se si utilizza la finestra mobile, passare alla sezione “Finestra mobile” di seguito.

Installare le dipendenze:

cd zenbotnpm install# optional, installs the `zenbot.sh` binary in /usr/local/bin:npm link

Mobile

Per eseguire Zenbot sotto la finestra Mobile, installare Pannello Mobile Comporre, Mobile Macchina (se necessario) Si può seguire istruzioni https://docs.docker.com/compose/install/

Dopo l’installazione (step 2),

cd zenbotdocker-compose builddocker-compose up (-d if you don't want to see the log)

Vocab: selettori

Un “selettore” è un identificatore breve che racconta Zenbot che cambio e la coppia di valute di agire. Utilizzare il modulo {exchange_slug}.{asset}-{currency}. Un elenco completo dei selettori supportati da Zenbot install può essere trovato con:

3. (opzionale) Eseguire simulazioni per il vostro scelto di selezione

Per il recupero dati (a condizione che la vostra scelta di exchange supporta), uso:

zenbot backfill <selector> --days <days>

Dopo aver riempito, è possibile eseguire una simulazione:

zenbot sim <selector> 

Per un elenco di opzioni per il sim comando, utilizzare:

zenbot sim --help

Per ulteriori opzioni relative alla strategia, utilizzare:

zenbot list-strategies
  • per impostazione predefinita, la sim si inizia con 1000 unità di valuta. Sostituisci con --currency_capitale--asset_capital.
  • Aprisim_result.html nel tuo browser per vedere un grafico a candele con le operazioni.

Screenshot e risultato di esempio

Zenbot produce un grafico HTML di ogni risultato di simulazione. Nello screenshot qui sotto, le frecce rosa rappresentano l’acquisto di bot (freccia su) e la vendita (freccia giù) mentre iterano i dati storici del prodotto BTC/USD di GDAX exchange.

end balance 2954.50 (195.45%)buy hold 1834.44 (83.44%)vs. buy hold 61.06%110 trades over 91 days (avg 1.21 trades/day)

Zenbot ha iniziato con $1,000 USD e si è conclusa con $2,954.50 dopo 90 giorni, rendendo il ROI del 195%! Nonostante una strategia di acquisto / attesa che restituisce un rispettabile 83.44%, Zenbot ha un notevole potenziale per battere buy / titolari.

4. Esegui zenbot

Il seguente comando avvierà il bot e, se non hai toccatoc.default_selector inconf.js, scambierà la coppia BTC / USD predefinita su GDAX.

zenbot trade 

Usa il flag --paper per eseguire solo operazioni simulate mentre guardi il mercato.

Ecco come eseguire un selettore diverso (esempio: ETH-BTC su Poloniex):

./zenbot trade poloniex.eth-btc

Per un elenco completo delle opzioni per il comando trade, utilizzare:

e anche:

Leggendo l’uscita della console

Da sinistra a destra:

  • indicatore data e ora in ora locale (grigio, blu, quando la mostra “vivere” statistiche)
  • prezzi delle Attività finanziarie in valuta (giallo)
  • variazione Percentuale del prezzo poiché ultimo periodo (rosso/verde)
  • Volume in attività dall’ultimo periodo (grigio)
  • RSI ANSI grafico (rosso/verde)
  • trend_ema_rate (rosso/verde, ha spiegato di seguito)
  • segnale di Corrente o di azione, tra cui buysellbuyingsellingboughtsold e last_trade_worth (per cento inversione di tendenza in direzione a partire dall’ultimo acquisto/vendita)
  • il saldo di Conto (asset)
  • il saldo di Conto (valuta)
  • l’Utile o la perdita per cento (può essere ripristinata con --reset_profit)
  • Guadagno o la perdita vs. acquisto/hold strategia

Circa la strategia predefinita

  • La strategia predefinita è chiamato trend_ema e residente in ./extensions/trend_ema.
  • Per impostazione predefinita utilizza un periodo di 1 ora, ma è possibile sovrascriverlo aggiungendo ad esempio--period=15m ai comandisim otrade.
  • Calcola il 34 periodo di EMA del prezzo corrente, e calcola la variazione percentuale dell’ultimo periodo dell’EMA per ottenere il trend_ema_rate
  • Considera trend_ema_rate >= 0 una tendenza verso l’alto e trend_ema_rate < 0 una tendenza al ribasso
  • Filtra i valori bassi (whipsaws) con neutral_rate, che quando è impostato su auto, utilizza la deviazione standard di un trend_ema_rate come una variabile filtro di rumore.
  • Acquista all’inizio di una tendenza verso l’alto, si vende l’inizio di un trend al ribasso
  • Se oversold_rsi si cerca di acquistare quando l’RSI scende al di sotto di tale valore, e poi inizia a recuperare (in contropartita di --profit_stop_enable_pct, che vende quando la percentuale di profitto è raggiunto, e quindi scende)
  • Il bot cerca sempre di evitare di commercio di tasse, utilizzando post-solo ordini e, quindi, essere un mercato “maker” invece di una “ladra”. Alcuni scambi, tuttavia, non offriranno sconti per i produttori.

Opzione tweaking tips

  • La frequenza commerciale viene regolata con una combinazione di--periode--trend_ema. Ad esempio, se si desidera un trading più frequente, provare --period=15m o --trend_ema=25 o entrambi. Se ricevi troppi scambi di ping-pong o perdite da commissioni, prova ad aumentareperiod otrend_ema.
  • A volte si è tentati di dire il commercio bot molto spesso. Cercate di resistere a questo impulso, e andare per la qualità sulla quantità, dal momento che ogni commercio viene fornito con una discreta quantità di slittamento e whipsaw rischio.
  • In un mercato toro, --sell_rate=-0.01e--max_sell_duration=8 può dare al prezzo la possibilità di recuperare prima della vendita. Se c’è un improvviso tuffo nel prezzo, si presume che si riprenderà e vendere è in ritardo. Compensare il rischio utilizzando --sell_stop_pct=5.
  • In un mercato toro con immersioni e recuperi a prezzo normale, --oversold_rsi=25 proverà ad acquistare quando il prezzo si immerge.
  • In un mercato con picchi di prezzo e correzioni prevedibili,--profit_stop_enable_pct=10 cercherà di vendere quando l’ultimo acquisto raggiunge il 10% di profitto e poi scende al 9%.
  • a partire dalla v4.0.2,--neutral_rate=auto è attivo per impostazione predefinita, il che ha dimostrato nelle simulazioni di essere efficace nel prevenire segnali deboli (whipsaw). Tuttavia, a volte--neutral_rate=0 funziona meglio per la bassa volatilità, come BTC-USD a 1h.

Strumenti commerciali manuali

Il motore di esecuzione degli ordini di Zenbot può essere utilizzato anche per operazioni manuali. I vantaggi includono:

  • Evita di mercato-tasse utilizzando a breve termine, un limite di ordine
  • Grado di determinare automaticamente le dimensioni dell’ordine dal saldo del conto
  • consente di Regolare ogni 30 anni (se necessario) per assicurare una rapida esecuzione
  • Se un ordine è parzialmente riempito, i tentativi di ri-ordinare con rimanenti dimensioni

Il comando per l’acquisto è di:

zenbot buy <selector> 

Per esempio, per utilizzare il restante USD equilibrio GDAX per comprare Bitcoin:

zenbot buy gdax.BTC-USD

O a vendere il 10% dei tuoi driver BTC,

zenbot sell gdax.BTC-USD --pct=10

Aggiornamento del Registro

  • v4.0.3 (Ultimo)
    • fix per errore docker mongo host
    • link per la nuova chat Discordia!
    • fix polo crash su getOrder strano risultato
    • fix oversold_rsi trigger mentre in preroll
    • fix polo “non abbastanza…”errors
    • fancy colors for price report
    • visualizza l’id del prodotto nel report
    • fix poloniex backfill batch too big, mongo timeout
    • fix cursorTo() crash su alcune installazioni di nodi
    • memDump for debugging order failures
    • fix column spacing on progress report
  • v4.0.2
    • revisione minore a trend_ema strat-aggiunto whipsaw filtraggio tramite std. deviazione (--neutral_rate=auto)
    • trim preroll di sim risultato grafico
  • v4.0.1
    • Aggiunto .dockerignore (grazie @zolfo)
    • risolto il crash su mongo timeout durante il recupero delle informazioni
    • per risolvere le lacune in poloniex di recupero
    • default recupero di giorni 90 -> 14

TODO

  • revisione di PR per Bitfinex
  • più il supporto di exchange
  • interfaccia web con grafici e registri
  • “reaper” per ritagliare automaticamente mestieri di raccolta di una certa lunghezza del giorno
  • “lite mode” per i trader, un’opzione per eseguire senza MongoDB

Donazione

P. S., alcuni hanno chiesto come donare a Zenbot di sviluppo. Accetto donazioni al mio indirizzo Bitcoin qui:

BTC di carlos8f

187rmNSkSvehgcKpBunre6a5wA5hQQop6W

Grazie!il nostro sito utilizza cookie tecnici e di terze parti per migliorare la tua esperienza di navigazione. (http://www.terraeclipse.com/)

l’Autorizzazione è concessa, gratuitamente, a chiunque ottenga una copyof questo software e la relativa documentazione (il “Software”), a relative ai Software senza restrizioni, tra cui, senza limitazione, il rightsto utilizzare, copiare, modificare, unire, pubblicare, distribuire, concedere in licenza, e/o sellcopies del Software, e per consentire alle persone alle quali il Software è furnishedto farlo, soggetto alle seguenti condizioni:

L’avviso di copyright di cui sopra e questo avviso di autorizzazione saranno inclusi in tutte le copie o parti sostanziali del Software.

IL SOFTWARE È FORNITO “COSÌ COM’È”, SENZA GARANZIE DI ALCUN TIPO, ESPRESSE O APPLICATE, INCLUSE MA NON LIMITATE ALLE GARANZIE DI COMMERCIABILITÀ,IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I DETENTORI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA AFFIDABILITÀ, SIA IN UN’AZIONE DI CONTRATTO, TORTO O ALTRO, DERIVANTE DA,DA O IN CONNESSIONE CON IL SOFTWARE O L’USO O ALTRI RAPPORTI IN THESOFTWARE.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.