All Projects → OnGridSystems → Cated

OnGridSystems / Cated

Licence: mit
CATEd - Cryptocurrency Analytics and Trading Engine for Django

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cated

Cryptotrader
A cryptocurrency trader for all famous exchanges
Stars: ✭ 228 (+171.43%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency, trading
Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (+298.81%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency, trading
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+1135.71%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Tribeca
A high frequency, market making cryptocurrency trading platform in node.js
Stars: ✭ 3,646 (+4240.48%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Qtbitcointrader
Secure multi crypto exchange trading client
Stars: ✭ 520 (+519.05%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, trading
Erc20 Ico Onchain Technical Analysis
An tool to analyze any company's ICO
Stars: ✭ 326 (+288.1%)
Mutual labels:  trading-bot, ethereum, bitcoin, trading
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+26686.9%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, trading
Bxbot
A simple Bitcoin trading bot written in Java.
Stars: ✭ 515 (+513.1%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Freqtrade Strategies
Free trading strategies for Freqtrade bot
Stars: ✭ 697 (+729.76%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Octobot
Cryptocurrency trading bot: high frequency, daily trading, social trading, ...
Stars: ✭ 706 (+740.48%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Cryptocurrency Arbitrage
A cryptocurrency arbitrage opportunity calculator. Over 800 currencies and 50 markets.
Stars: ✭ 836 (+895.24%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency
Awesome Coins
₿ A guide (for humans!) to cryto-currencies and their algos.
Stars: ✭ 3,469 (+4029.76%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, wallet
Tai
A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine
Stars: ✭ 264 (+214.29%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Arbitrader
A market neutral cryptocurrency trading bot.
Stars: ✭ 66 (-21.43%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+4292.86%)
Mutual labels:  trading-bot, ethereum, bitcoin, trading
Crypto Arbitrage
Automatic Cryptocurrency Trading Bot using Triangular or Exchange Arbitrages
Stars: ✭ 369 (+339.29%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+2982.14%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (+141.67%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
Stars: ✭ 580 (+590.48%)
Mutual labels:  trading-bot, ethereum, cryptocurrency, trading
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (-46.43%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading

OnGrid Systems Blockchain Applications DApps Development

GitHub last commit PyPI - Python Version License

CATEd - Cryptocurrency Analytics and Trading Engine for Django

Overview

HabraHabr article in Russian

CATEd is the cryptocurrency trading bot written on Python 3 with feature-rich management Web interface (Django, Celery).

Main features:

  • View the status of exchange accounts, transactions and orders on them;
  • View the status of cold wallets and transactions details;
  • History of deposits and withdrawals on graphical diagram;
  • Configurable buy/sell/hold logic, (allowed tokens and proportions);
  • Keeping the balances of different tokens at the configured levels;

home_page

main_bot_page

Install

You need python3, mysql-server, rabbitmq-server and redis-server to be installed.

Create python virtual env and activate it in your favorite way.

Clone project

git clone [email protected]:OnGridSystems/CATEd.git

Go to project dir

cd CATEd

Create mysql databases

echo "create database trade character set utf8; create database celery_result; create database portal_ticker;" | mysql -u root

And migrate

python manage.py migrate

Load initial data with some exchanges and wallets

python manage.py loaddata dump.json

Create you own superuser with

python manage.py createsuperuser

Before starting the bot should read the list of currencies from the site coinmarketcup.com. To do this run following code with activated virtual environment.

read -d "" PYTASKS <<"EOF"
from tradeBOT import tasks
coinmarketcup = tasks.pull_coinmarketcup()
EOF
echo "$PYTASKS" | python manage.py shell

And runserver

python manage.py runserver

Now you can add your api keys.

Add NEW api keys for use bot.

To do this open http://127.0.0.1:8000/ in your browser, login and click red "plus" button in the lower right corner.

Bot uses several celery queues for trade, and main is triggered by a signal from a first worker named [email protected]_high. Another worker - worker_set_orders checks for already existing orders and try keeps them up to date. There are also queues low and normal, for calculating users' orders and pulling their balances.

You can run celery in several terminal windows or screen sessions:

celery worker -A djangoTrade -n worker_high -l info -c 1 -Q high
celery worker -A djangoTrade -n worker_set_orders -l info -c 1 -Q set_orders
celery worker -A djangoTrade -n worker_low -l info -c 2 -Q low
celery worker -A djangoTrade -n worker_normal -l info -c 2 -Q normal

Example of running celery with supervisor daemon:

wget https://raw.githubusercontent.com/celery/celery/4.0/extra/generic-init.d/celeryd -O /etc/init.d/celeryd
wget https://raw.githubusercontent.com/celery/celery/4.0/extra/generic-init.d/celerybeat -O /etc/init.d/celerybeat
chmod +x /etc/init.d/celeryd /etc/init.d/celerybeat

#add celery config
read -d "" CELERYD_CFG <<"EOF"
CELERYD_NODES="worker_set_orders worker_low worker_normal worker_high"
CELERY_BIN="/opt/env/bin/python -m celery"
CELERY_APP="djangoTrade"
CELERYD_CHDIR="/opt/ongrid_portal"
CELERYD_OPTS="-Q:worker_set_orders set_orders -Q:worker_low low -Q:worker_normal normal -Q:worker_high high -c:worker_set_orders 1 -c:worker_low 3 -c:worker_normal 3 -c:worker_high 1"
CELERYD_LOG_FILE="/var/log/celery/%n%I.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"
CELERYD_USER="root"
CELERYD_GROUP="root"
DJANGO_SETTINGS_MODULE="djangoTrade.settings"
CELERY_CREATE_DIRS=1
SECRET_KEY="ada#qadaa2d#1232%!^&#*(&@(!&Y!&#*[email protected]&#
EOF
echo "$CELERYD_CFG" > /etc/default/celeryd

read -d "" CELERYBEAT_CFG <<"EOF"
CELERY_BIN="/opt/env/bin/python -m celery"
CELERY_APP="djangoTrade"
CELERYD_CHDIR="/opt/ongrid_portal"
DJANGO_SETTINGS_MODULE="djangoTrade.settings"
CELERYBEAT_USER="root"
CELERYBEAT_GROUP="root"
EOF
echo "$CELERYBEAT_CFG" > /etc/default/celerybeat

/etc/init.d/celeryd create-paths
/etc/init.d/celeryd start
/etc/init.d/celeryd stop
/etc/init.d/celerybeat create-paths
/etc/init.d/celerybeat start
/etc/init.d/celerybeat stop
sudo update-rc.d celeryd defaults
sudo update-rc.d celerybeat defaults

Authors

License

Copyright (c) 2018 OnGrid Systems.

Each file included in this repository is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].