Platform that collects cryptocurrencies price data, fires alerts based on price sentiment and many other features.
pip install XTCryptoSignals==0.9.0
XTCryptoSignals is a Python library that includes the following services:
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)
Create folder project:
mkdir xtcryptosignals
cd xtcryptosignals
Setup Python virtual environment:
virtualenv venv -p python3
source venv/bin/activate
Install package:
pip install xtcryptosignals
xt-ticker
Run without Celery (for testing purposes):
xt-ticker --testing
To get a list of supported exchanges:
xt-ticker --list-config exchanges
binance
uphold
okex
idex
switcheo
hotbit
bibox
okcoin
bithumb
coinbene
(Drop me an e-mail if you want support for a new exchange or contribute to this project creating a pull request)
Command line help
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-real-time-messaging Enable SocketIO 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.
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', '2h', '3h', '4h', '12h', '1d', '4d',
'1w', '2w', '4w', '12w', '24w', '1y',
)
The Ticker service uses multi-processing and 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)
Development:
xt-server
Production:
DEBUG=0 xt-server
Development:
xt-client
Production:
# if using default settings
SERVER_API_BASE_URL=http://127.0.0.1:5000 xt-client --gunicorn
SERVER_API_BASE_URL
should contain the public address where xt-server
was started.
Open the browser with the URL http://127.0.0.1:8000
10 seconds ticker page in the URL http://127.0.0.1:8000/ticker/10s
Displaying Tickers menu
Displaying Pairs menu
10 seconds ticker page for Bitcoin in the URL http://127.0.0.1:8000/ticker/BTCUSDT/10s
This project is work in progress and when it comes to trading use it at your own risk.