Python service that collects crypto-currencies symbols pairs data & allows setup of notifications & automatic trading
Project description
XTCryptoSignals
XTCryptoSignals is a Python library that includes multiple services such as: Data collection crypto-currencies coins and/or tokens symbols pairs data such as BTC/USDT, ETH/BTC or any other pair that a Crypto-currency Exchange API supports; A signals service based on rules to send real-time notifications through e-mail or Push Notifications to the browser or mobile app; And a service that enables automatic trading.
Roadmap
- Add crypto-currencies exchanges (Dec 2018)
- Setup notification rules (Dec 2018 / Jan 2019)
- Implement e-mail and web browser push notifications signals (Jan 2019)
- Start building Unit, functional and end-to-end testing (From Jan 2019)
- Implement automatic trading (Feb/Mar 2019)
- Build iOS app (Mar 2019)
Getting Started
Pre-requisites
Installation
Install from source
Clone project repository
hg clone ssh://hg@bitbucket.org/pantunes/xtcryptosignals
cd xtcryptosignals
Setup Python virtual environment:
virtualenv venv -p python3
source venv/bin/activate
Install package
pip install -e .
(Dependencies will be installed automatically from requirements.txt)
Install from PyPi
Create folder project:
mkdir <project directory>
cd <project directory>
Setup Python virtual environment:
virtualenv venv -p python3
source venv/bin/activate
Install package:
pip install xtcryptosignals
Start service
xt-crypto-signals
Starts standalone script without Celery (for testing purposes):
xt-crypto-signals --testing
To get a list of supported exchanges:
xt-crypto-signals --list-config exchanges
binance
uphold
okex
idex
switcheo
hotbit
bibox
okcoin
bithumb
coinbene
(Drop me an email if you want a new one to be supported or contribute to this project creating a pull request)
Command line help
xt-crypto-signals --help
Usage: xt-crypto-signals [OPTIONS]
Use this tool to collect data from configured coins or/and tokens from
configured crypto-currencies exchanges.
Options:
--testing Execute this tool for 1 iteration for all
configured coins and/or tokens. Not using
Celery. (Useful for testing purposes)
--list-config [exchanges|currencies]
List 'exchanges' or 'currencies' (coins or
tokens) per exchange that the tool currently
supports.
-h, --help Show this message and exit.
Setup
There is already an initial setup with some crypto-currencies (coins and tokens) that can be added or/and removed in 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'),
]
}
Initial setup to create dynamic MongoDB collections for data segmentation categorized by Exchanges pooling frequency in settings.py.
HISTORY_FREQUENCY = (
'10s', '30s', '1m', '10m', '30m', '1h', '3h', '6h', '12h', '24h'
)
Results
This service is fast as it uses threading. In my current system (Macbook pro 2017) it takes around 6 seconds to collect data of 70 crypto-currencies symbols pairs from 7 exchanges and save it in 11 collections in MongoDB. (This performance figure depends on used hardware and Internet connection / latency)
Disclaimer
This project is work in progress and when it comes to trading use it at your own risk.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for XTCryptoSignals-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2209afb6c1e9386669a95d52bd4badb9745673533f7c819bf0b3c5c2d1c6a4f |
|
MD5 | 7fd5d69a2cf5ce2cfdb444f6296cf184 |
|
BLAKE2b-256 | 0990e86de7593af00d77fcabad538d6febad86f5eedd23c2a3558fcee9aa3850 |