Skip to main content

Python service that collects crypto-currencies symbols pairs data & allows setup of notifications & automatic trading

Project description

XTCryptoSignals

XTCryptoSignals is a Python service that collects crypto-currencies symbols pairs data such as BTC/USDT, ETH/BTC or any other pair that a Crypto-currency Exchange API supports and allows the user to setup signals based on rules to send real-time notifications through e-mail or Push Notifications to the browser or mobile app. It will allow as well 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
pip install -e .

(Dependencies will be installed automatically from requirements.txt)

Start service

xt-crypto-signals

Starts standalone script without Celery (for testing purposes)

xt-crypto-signals-test

Setup

There is already an initial setup with some crypto-currencies (coins and tokens) that can be changed 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. 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. (Depending on external Exchange APIs availability and Internet connection/latency)

Disclaimer

This project is work in progress and when it comes to trading use it at your own risk.

License

GNU

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

XTCryptoSignals-0.0.4.tar.gz (10.1 kB view hashes)

Uploaded Source

Built Distribution

XTCryptoSignals-0.0.4-py3-none-any.whl (35.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page