当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

magic8bot

授权协议 MIT License
开发语言 Python
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 朱炳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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!

  • 上一篇文章讲了activity处理的流程,我们bot的核心处理逻辑放在ActivityHandler的子类里,通过重载OnMessageActivityAsync()方法来实现。 这篇文章我来讲一下对于Teams的bot来说,整个处理的逻辑会有哪些不同点。 通过之前的文章,大家应该已经知道,Teams bot是Azure bot service支持的众多bot聊天平台里的一种channel(注意:

  • 一直有朋友问技术问题,刚刚创建了个技术交流群,欢迎大家来讨论,qq群 862536400 1号机器人烙️:3584915428 2号机器人烙️:3179818507 ck获取方法:使用alook浏览器开发者工具,详细教程请给机器人发送alook命令或者参考下方面板地址里的教程。 参考1号车 或者2号车 一、拉库命令 【注意】不可同时拉多个集合库,同时拉多个集合库容易黑ip,保留一个即可。 拉了

  • OOP基础 、 OOP进阶 、 re模块 OOP 面向对象的编程 在python中,一切皆对象 对象有属性和方法,通过句点表示 对象通过class生成 类(class)用来描述具有相同属性和方法的对象的蓝图。 对象(实例):通过class生成的具体的数据结构。 方法:定义在class中的函数。 绑定在实例上的属性,可以在class中的任何地方使用。没有绑定的数据就是函数的局部变量,只能在函数内使用

  • ai与虚拟现实 by Mariya Yao 姚iya(Mariya Yao) AI使虚拟现实和增强现实更加真实的8种方式 (8 Ways AI Makes Virtual & Augmented Reality Even More Real) This piece was written & edited in collaboration with TOPBOTS writer Nick Hall