Skip to content

Latest commit

 

History

History
116 lines (77 loc) · 4.25 KB

README.md

File metadata and controls

116 lines (77 loc) · 4.25 KB

Build Status codecov

logo

How To Use

The master branch is unstable. Do not depend on it working correctly or even running at all.

checkout stable

Requirements

The only 2 supported exchanges are coinbasepro and binance although the bot is capable of supporting any exchange that ccxt supports with the addition of small adapter file, found in./src/exchange/adapters.

There are a minimal amount of strategies and technical indicators implemented as well.

*The UI is not required to run. It just makes things easier.

If you have questions, just ask on discord. The invite link is below.

Magic8Bot Installation

There are 2 repos (magic8bot and ui) that need to be installed. To do that, you will need to clone them. Let's go!

Clone the magic8bot repo:

git clone https://github.com/magic8bot/magic8bot.git

Clone the UI repo:

git clone https://github.com/magic8bot/ui.git

Go to /magic8bot folder and run:

npm install

Go to /ui folder and run:

npm install

You also need a .env inside the /magic8bot folder. You can just copy .env-sample and rename it .env

Once you're done you need to run this command in both the magic8bot and ui folders:

npm run start:dev

you'll need to open 2 terminals

Development

M8bot is entering stage 2 of development. I'm separating out all the moving parts into stateless microservices. The idea is to be able to auto-scale individual parts of the bot as load increases on each part.

The parts:

  • ui
    • Is the UI/control panel for the bot
  • web-server
    • This is the layer that sits between the UI and the bot
  • smq
    • Not a micro-service but a critical shared library
    • Used for communication between micro-services
  • db
    • Not a micro-service but a critical shared library
    • Used for establishing a connectio to the database
    • Provides shared data models for the micro-services
  • pub/sub
    • Not yet implemented
    • Publishes events for mass consumption
    • Might be integrated into smq
  • trade
    • Currently part of core but will be a micro-service
    • Handles syncing data from the exchange to the database
  • period
    • Currently part of core but will be a micro-service
    • Generates candle (OHLCv) data
    • Emits candle data events via pub/sub
  • strategy
    • Currently part of core but will be a micro-service
    • Listens to candle events
    • Calculates signals
    • Sends signals via simple message queue
  • order
    • Currently part of core but will be a micro-service
    • Handles opening and closing positions
    • Consumes signal via simple message queue

Disclaimer

  • This bot is NOT a sure-fire profit machine. Use it AT YOUR OWN RISK.
  • Crypto-currency is still an experiment, and therefore so is this bot. Meaning, both may fail at any time.
  • Running a bot, and trading in general requires careful study of the risks and parameters involved. A wrong setting can cause you a major loss.
  • Never leave the bot un-monitored for long periods of time. this bot doesn't know when to stop, so be prepared to stop it if too much loss occurs.
  • Often times the default trade parameters will underperform vs. a buy-hold strategy, so run some simulations and find the optimal parameters for your chosen exchange/pair before going "all-in".

Chat with other users

logo

this bot has a Discord chat! You can get in through this invite link.

Donate

notVitaliy (author)

BTC: 3Q5DP8gRR5rxyzrfDRkCYgaFESsrj9Ti7o

ETH: 0xF0C99295CE430cc0B2ed6B9aa31a7fC10Cf0EaA9

logo

Thanks!