DeviaVir/zenbot

“om het pad te volgen, Kijk naar de meester, volg de meester, loop met de meester, kijk door de meester, word de meester.”- Zen spreekwoord

Nieuw! Chatten met andere Zenbot gebruikers

Zenbot heeft opnieuw een Discord chat! U kunt binnenkomen via deze invite link.

Description

Zenbot is een commandoregel cryptogeld trading bot met behulp van Node.js en MongoDB. Het beschikt:

  • volautomatische op technische analyse gebaseerde trading approach
  • Volledige ondersteuning voor GDAX en Poloniex, er wordt gewerkt aan verdere uitwisseling ondersteuning.
  • Plugin-architectuur voor de implementatie van exchange-ondersteuning, of het schrijven van nieuwe strategieën
  • Simulator voor Backtesting strategieën tegen historische gegevens
  • “Papier” de handel in mode, werkt op een gesimuleerde balans tijdens het kijken naar de live-markt
  • Instelbare verkopen stopt, koop stopt, en (na) winst stopt
  • Flexibel periode van bemonstering en de handel frequentie – gemiddelden 1-2 transacties/dag met 1h periode, 10/dag met 15m periode

Disclaimer

  • Zenbot is NIET een sure-fire winst machine. Gebruik het op eigen risico.
  • Crypto-valuta is nog steeds een experiment, en daarom ook Zenbot. Dat betekent dat beide op elk moment kunnen falen.
  • het uitvoeren van een bot, en de handel in het algemeen vereist een zorgvuldige studie van de risico ‘ s en parameters.
  • vaak zullen de standaard handelsparameters ondermaats presteren ten opzichte van een buy-hold strategie, dus voer een aantal simulaties uit en vind de optimale parameters voor uw gekozen uitwisseling/paar voordat u “all-in”gaat.

Snelstart

1. Vereisten: Linux of OSX of Docker, Node.js en MongoDB.

uitvoeren in uw console,

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

of, zonder git,

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

maak uw configuratiebestand aan door conf-sample.js naar conf.js:

cp conf-sample.js conf.js
  • Bekijk en bewerk conf.js.
  • het is mogelijk om zenbot te gebruiken in de “paper trading” modus zonder wijzigingen aan te brengen.
  • u moet echter uw exchange API-sleutels toevoegen om echt handelen mogelijk te maken.
  • API-sleutels hebben geen stortings – / opnamemachtingen nodig.

Als u Docker gebruikt, ga dan naar de sectie “Docker” hieronder.

dependencies Installeren:

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

Docker

uitvoeren Zenbot onder Docker, installeren Koppelvenster Voorwerpeigenschappen Opstellen, Koppelvenster Machine (indien nodig) kunt U de instructies volgen bij https://docs.docker.com/compose/install/

Na het installeren (stap 2 hierboven),

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

Vocab: kiezers

Een “kiezen” is een korte identificatie die vertelt Zenbot die uitwisseling en valuta paar om op te treden. Gebruik het formulier {exchange_slug}.{asset}-{currency}. Een volledige lijst van selectors die door Zenbot worden ondersteund kan worden gevonden met:

3. (optioneel) Voer simulaties voor uw gekozen kiezen

Om vulgrond gegevens (op voorwaarde dat uw gekozen exchange ondersteunt), gebruik je:

zenbot backfill <selector> --days <days>

Nadat u alles hebt backfilled, je kunt een simulatie uitvoeren:

zenbot sim <selector> 

Voor een lijst van opties voor het sim commando gebruiken:

zenbot sim --help

Voor meer opties met betrekking tot de strategie, gebruik:

zenbot list-strategies
  • standaard wordt de sim-start met 1000 eenheden van de valuta. Overschrijven met --currency_capital en --asset_capital.
  • Open sim_result.html in uw browser om een candlestick-grafiek met transacties te zien.

Screenshot en voorbeeldresultaat

Zenbot geeft een HTML-grafiek van elk simulatieresultaat. In de screenshot hieronder, de roze pijlen vertegenwoordigen de bot kopen (pijl omhoog) en verkopen (pijl omlaag) als het itereerde de historische gegevens van BTC GDAX exchange/USD product.

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 begon met $ 1.000 USD en eindigde met $2.954, 50 na 90 dagen, wat een rendement van 195% oplevert! Ondanks een buy / hold strategie retourneren van een respectabele 83.44%, Zenbot heeft een aanzienlijk potentieel voor het verslaan van buy / holders.

4. Start zenbot

het volgende commando zal de bot starten, en als u c.default_selector in conf.js niet hebt aangeraakt, zal het standaard BTC/USD-paar op GDAX worden verhandeld.

zenbot trade 

Gebruik de --paper om alleen gesimuleerde transacties uit te voeren tijdens het bekijken van de markt.

Hier kunt u een andere selector uitvoeren (Voorbeeld: ETH-BTC op Poloniex):

./zenbot trade poloniex.eth-btc

voor een volledige lijst met opties voor het trade Commando, gebruik:

en ook:

lezen van de console-uitvoer

van links naar rechts:

  • Tijdstempel in lokale tijd (grijs, blauw wanneer de tonen van “live” stats)
  • Asset-prijs in de munt (geel)
  • procentuele verandering van de prijs sinds de laatste periode (rood/groen)
  • Volume in actief sinds afgelopen periode (grijs)
  • RSI-ANSI-grafiek (rood/groen)
  • trend_ema_rate (rood/groen, zoals hieronder uitgelegd)
  • Huidige signaal of actie, met inbegrip buysellbuyingsellingboughtsold en last_trade_worth (procent verandering in de trendrichting sinds laatste aankoop/verkoop)
  • saldo van de rekening (actief)
  • saldo van de rekening (valuta)
  • winst-of verliespercentage (kan worden gereset met --reset_profit)
  • winst of verlies vs.buy/hold strategie

over de standaardstrategie

  • De standaardstrategie wordt trend_ema en verblijft op ./extensions/trend_ema.
  • gebruikt standaard een 1h periode, maar u kunt dit overschrijven door bijvoorbeeld --period=15m toe te voegen aan de sim of trade commando ‘ s.
  • Berekent de 34-periode EMA van de huidige prijs, en berekent de procentuele verandering van de laatste periode van de EMA te krijgen van de trend_ema_rate
  • Mening trend_ema_rate >= 0 een opwaartse trend en trend_ema_rate < 0 een neerwaartse trend
  • Filtert lage waarden (whipsaws) door neutral_rate, welke bij de instelling auto, maakt gebruik van de standaard deviatie van de trend_ema_rate als een variabele noise filter.
  • Koopt aan het begin van de opwaartse trend, verkoopt aan het begin van de neerwaartse trend
  • Als oversold_rsi is ingesteld, probeert om te kopen wanneer de RSI dalen onder die waarde, en vervolgens begint te herstellen (een tegenhanger van het --profit_stop_enable_pct, die verkoopt als een percentage van de winst is bereikt, en dan dips)
  • De bot zal altijd proberen te voorkomen dat de handel vergoedingen, met behulp van post-orders en dus een markt “maker” in plaats van een “nemer”. Sommige uitwisselingen zullen echter niet bieden maker kortingen.

optie tweaking tips

  • Transactiefrequentie wordt aangepast met een combinatie van --period en --trend_ema. Als je bijvoorbeeld vaker wilt handelen, probeer dan --period=15m of --trend_ema=25 of beide. Als u te veel ping-pong transacties of verliezen van vergoedingen krijgt, probeer dan period of trend_emate verhogen.
  • soms is het verleidelijk om de bothandel heel vaak te vertellen. Probeer deze drang te weerstaan, en ga voor kwaliteit boven kwantiteit, omdat elke handel wordt geleverd met een fatsoenlijke hoeveelheid slippen en zweepzaag risico.
  • op een stierenmarkt kan --sell_rate=-0.01 en --max_sell_duration=8 de prijs een kans geven zich te herstellen alvorens te verkopen. Als er een plotselinge duik in de prijs, het is aangenomen dat het zal herstellen en verkopen is vertraagd. Het risico compenseren met --sell_stop_pct=5.
  • op een stierenmarkt met regelmatige prijsduiken en terugvorderingen, zal --oversold_rsi=25 proberen te kopen wanneer de prijs duikt.
  • in een markt met voorspelbare prijsstijgingen en correcties, zal --profit_stop_enable_pct=10 proberen te verkopen wanneer de laatste koop 10% winst bereikt en dan daalt tot 9%.
  • vanaf v4. 0.2 is --neutral_rate=auto standaard ingeschakeld, wat in simulaties effectief bleek te zijn bij het voorkomen van zwakke signalen (whipsaw). Echter, soms werkt --neutral_rate=0 beter voor lage volatiliteit, zoals BTC-USD op 1U.

handmatige handelstools

Zenbot ‘ s order execution engine kan ook worden gebruikt voor handmatige handel. Voordelen zijn onder meer:

  • Vermijdt de markt om de kosten door middel van een korte-termijn limiet order
  • automatisch Kan bepalen om de grootte van het saldo op de account
  • Past om elke 30 (indien nodig) om te zorgen voor een snelle uitvoering
  • Indien een bestelling gedeeltelijk gevuld is, pogingen om re-order met de resterende grootte

De opdracht te kopen is:

zenbot buy <selector> 

bijvoorbeeld, om het gebruik van uw resterende USD balans in GDAX te kopen Bitcoin:

zenbot buy gdax.BTC-USD

Of te verkopen 10% van uw BTC,

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

Update Log

  • v4.0.3 (laatste)
    • fix voor docker mongo host fout
    • link voor nieuwe Discord chat!
    • fix polo crash op getorder raar resultaat
    • fix oversold_rsi trigger terwijl in preroll
    • fix polo “niet genoeg…”fouten
    • fancy colors for price report
    • Product-id weergeven in rapport
    • fix poloniex backfill batches te groot, mongo time-outs
    • fix cursorTo() crash op sommige knooppunten installeert
    • memDump voor foutopsporingsvolgstoringen
    • kolomafstand herstellen op voortgangsrapport
  • v4.0.2
    • kleine revisie naar trend_ema strat – toegevoegd whipsaw filtering via std. afwijking (--neutral_rate=auto)
    • trim preroll van sim-resultaatgrafiek
  • v4.0 .1
    • toegevoegd.dockerignore (dankzij @zwavel)
    • crash op mongo time-out tijdens vulgrond
    • de hiaten in poloniex vulgrond
    • standaard vulgrond dagen 90 -> 14

TODO

  • beoordelen PR voor Bitfinex
  • meer exchange-ondersteuning
  • web UI met grafieken en logs
  • “reaper” automatisch bijsnijden transacties collectie op een bepaalde dag, lengte
  • “lite mode” voor handelaar, een optie om te draaien zonder MongoDB

Doneren

P. S., sommigen hebben gevraagd voor hoe om te doneren aan Zenbot ontwikkeling. Ik accepteer donaties op mijn Bitcoin adres hier:

carlos8f ’s BTC

187rmNSkSvehgcKpBunre6a5wA5hQQop6W

bedankt!

Licentie: MIT

  • Copyright (C) 2017 Carlos Rodriguez
  • Copyright (c) 2017 Terra Eclipse, Inc. (http://www.terraeclipse.com/)

hierbij wordt Toestemming verleend, kosteloos, aan een persoon het verkrijgen van een copyof deze software en de bijbehorende documentatie bestanden (de “Software”) dealin de Software zonder beperkingen, inclusief zonder beperking de rightsto gebruiken, kopiëren, wijzigen, samenvoegen, publiceren, distribueren, in sublicentie te geven en/of sellcopies van de Software, en personen aan wie de Software wordt furnishedto doen, onderworpen aan de volgende voorwaarden:

de bovenstaande copyright notice en deze toestemming notice moeten worden opgenomen in alle kopieën of substantiële delen van de Software.

de SOFTWARE wordt geleverd “AS IS”, zonder enige vorm van garantie, uitdrukkelijk of geimplementeerd,met inbegrip van maar niet beperkt tot de garanties van verkoopbaarheid, geschiktheid voor een bepaald doel en niet-inbreuk. IN GEEN GEVAL ZULLEN DE AUTEURS OF HOUDERS VAN AUTEURSRECHTEN AANSPRAKELIJK ZIJN VOOR ENIGE VORDERING, SCHADE OF ANDERE AANSPRAKELIJKHEID, HETZIJ IN EEN ACTIE VAN OVEREENKOMST, ONRECHTMATIGE DAAD OF ANDERSZINS, VOORTVLOEIEND UIT,UIT OF IN VERBAND MET DE SOFTWARE OF HET GEBRUIK OF ANDERE TRANSACTIES IN DE SOFTWARE.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.