该平台收集加密货币价格数据,根据价格情绪发出警报,并执行自动交易。

XTCryptoSignals的Python项目详细描述


XTCryptoSignals

xtcryptosignals是一个python库,包含以下3个服务:

  • 滴答器

    • 加密货币对(如btc/usdt、eth/btc或exchange api支持的任何其他对)的数据收集
    • 基于设置规则的signals服务,通过电子邮件或推送通知向浏览器或移动应用程序发送有关价格、价格变化、交易量或市场情绪的实时警报
    • 自动交易
  • restful服务器api
    • restful接口,公开api入口点以获取所需的加密货币数据。
    • Socketio服务器向客户端广播实时数据。

  • 网站

路线图

  • [X]增加加密货币兑换(2018年12月)
  • [X]实现restful api和socket.io以实时访问价格数据(2019年1月)
  • [X]建立网站(2019年1月起)
  • [X]添加Gunicorn以使其生产就绪(2019年3月)
  • [LI] [X]构建单元,功能和端到端测试现有和未来特征(自2019月1日起)
  • []价格区间、价格变动、成交量、价格情绪的设置通知规则(自2019年7月起)
  • []实施电子邮件和网络浏览器推送通知信号(2019年8月至10月)
  • []实施自动交易(从2019年起)
  • []构建iOS应用程序(从2020年起)

开始

先决条件

安装

从源安装

克隆项目存储库

hg clone ssh://hg@bitbucket.org/pantunes/xtcryptosignals
cd xtcryptosignals

设置python虚拟环境:

virtualenv venv -p python3
source venv/bin/activate

以开发模式安装软件包:

pip install -e .

(依赖项将从requirements.txt自动安装)

运行测试

python setup.py test

从pypi安装

创建文件夹项目:

mkdir xtcryptosignals
cd xtcryptosignals

设置python虚拟环境:

virtualenv venv -p python3
source venv/bin/activate

安装软件包:

pip install xtcryptosignals

滴答器

启动服务

开发:

xt-ticker --enable-messaging

# to test 1 tick
xt-ticker --testing

生产

xt-ticker --enable-messaging --log-minimal

要获取支持的交换列表:

xt-ticker --list-config exchanges
binance
binance_dex
uphold
okex
idex
switcheo
hotbit
bibox
okcoin
bithumb
coinbene
dcoin
bitmax
bilaxy

(如果要支持新的Exchange或请参与此项目创建请求,请删除一封电子邮件)

命令行帮助

xt-ticker --help
Usage: xt-ticker [OPTIONS]

  Use this tool to collect data from configured coins or/and tokens from
  configured crypto-currencies exchanges.

Options:
  --testing                       Execute 1 iteration for all configured coins
                                  and/or tokens without Celery. (Useful for
                                  testing purposes)
  --list-config [exchanges|currencies]
                                  List 'exchanges' or 'currencies'(coins or
                                  tokens) per exchange that the tool currently
                                  supports.
  --enable-messaging              Enable real-time crypto data message broadcasting.
  --log-minimal                   Only log errors and important warnings in
                                  stdout.
  --version                       Show version.
  -h, --help                      Show this message and exit.

设置

已经有了一些加密货币(硬币和代币)的初始设置,可以在settings_exchanges.py中添加或/和删除。

BIBOX:{'pairs':[('ONT','USDT'),('ONT','BTC'),('ONT','ETH'),('NEO','USDT'),('NEO','BTC'),('NEO','ETH'),('LTC','USDT'),('LTC','BTC'),('CARD','ETH'),]}UPHOLD:{'pairs':[('BTC','USD'),('ETH','USD'),('LTC','USD'),('XRP','USD'),]}

创建动态mongodb集合的初始设置,用于按settings.py中的交换池频率分类的数据分段。

HISTORY_FREQUENCY=('10s','30s','1m','10m','30m','1h','2h','3h','4h','12h','1d','4d','1w','2w','4w','12w','24w','1y',)

结果

票务服务是高性能的,可以利用多处理多核CPU。

restful服务器api

启动服务

开发:

xt-server

生产:

DEBUG=0 xt-server

网站

启动服务

开发:

xt-client

生产:

# if using default settingsDEBUG=0SERVER_API_BASE_URL=http://127.0.0.1:5000 xt-client --gunicorn

SERVER_API_BASE_URL应该包含开始xt-server的公共地址。

一次运行所有服务

xt-all --help
Usage: xt-all [OPTIONS][start|stop|restart]

Options:
  -h, --help  Show this message and exit.

屏幕截图

用url http://127.0.0.1:8000打开浏览器

Home pageTicker 10 seconds
screen-shotscreen-shot
TickersPairs
screen-shotscreen-shot
BTC-USDT in all Exchanges
screen-shot

团队

  • 保罗·安图内斯

还有人感兴趣吗?

免责声明

这个项目正在进行中,当涉及到交易时,请自行承担风险。

许可证

此项目是根据GNU许可证授权的。

捐赠

我一直在利用空闲时间构建这个开源项目。请随便给我拿杯咖啡:—)
BTC:3QLhxkScrmzbKvUFyesxCkxMaPc7EB9SFK
eth:0x2bda8e92B42AB005918E5A126E2bD7cC19Bf5fF6

##联系我们

通过网站xtcryptosignals.com

致谢

感谢Jetbrains以便为我们提供开源许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java算法:如何对实体进行分组   C语言中的Java X509EncodedKeySpec#   如何修复java lambda筛选器(缺少返回语句)与future   java有没有办法在Swing中以亚像素精度绘制线条?   HV000030:找不到约束“javax”的验证器。验证。限制。大小为“验证类型”的java。util。可选<java。lang.String>'   CQL中语句的java分页状态   在开发时使用applet查看器的java对象相关applet   java如何从Oracle获取时区ID而不是时区偏移量   java递增变量   java JavaFX InvalizationListener或ChangeListener   java使用多个数据包将大量XMP数据插入jpg?   java允许删除请求   java为什么与类同名的方法不需要返回类型?   java数据转换错误转换   java一旦布尔值为真,如何关闭JFrame?   如何将数据写入两个java。木卫一。一次输出流对象?   mysql如何使用java在SQL中划分两列?   java使用Saxon/XQuery设置URI或目录解析器   mysql java。sql。SQLException:无法将值“20200816 17:33:21.690”从第18列转换为时间戳