magic8bot
Magic8bot is a cryptocurrency trading bot using Node.js and MongoDB.
System Structure
저장소별 전략/실행 조건 확인 필요
거래소 API 기반 자동 주문 실행
Editor Summary저장소 설명과 공개 메타데이터 기준으로 암호화폐 거래 봇, 거래소 API/프레임워크, 백테스트, 기술적 분석 성격의 프로젝트로 파악했습니다. 확인 근거는 README, 저장소 토픽, 저장소 설명, GitHub 지표, 파이프라인 필드이며, 주요 데이터는 Binance, Coinbase, ccxt 지원 거래소, OHLCV/호가/체결 데이터입니다. 전략/실행 조건은 저장소별 문서와 코드 확인이 필요하며, 실행 방식은 "거래소 API 기반 자동 주문 실행"라고 보수적으로 기록했습니다. GitHub 지표는 별 405개, 포크 78개입니다.
| Repository | magic8bot/magic8bot |
|---|---|
| Creator | magic8bot |
| Stars / Forks | ★ 405 / 78 |
| License | MIT |
| Last Updated | 2023-03-04 |
| Snapshot Date | 2026-07-08 (README below is a copy from this date) |
This is third-party open-source code. QuantField does not guarantee its behavior or safety. Review the code before installing or running it.
README
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 paramet