An open API service indexing awesome lists of open source software.

https://github.com/jardinesdelareina/angrid

Author's trading algorithm
https://github.com/jardinesdelareina/angrid

docker pandas postgresql python-binance websockets

Last synced: 4 months ago
JSON representation

Author's trading algorithm

Awesome Lists containing this project

README

          

# Angrid

## Криптовалютный торговый алгоритм для Binance

Алгоритм, представляющий стратегию "сеточной торговли".
Основная идея стратегии заключается в том, чтобы стараться извлекать прибыль из рыночных
колебаний вне зависимости от направления движения цены. Так как большую часть времени, статистически,
цена находится в боковом движении, упор на спекуляции сделан именно во флете.

Риски: при сильных движениях за пределы сетки есть риск либо недополучить прибыль,
либо закупить криптовалюту на все оставшиеся стейблкоины с уходом цены далеко ниже крайнего лимитного
SELL-ордера, что автоматически переквалифицирует стратегию в `buy and hold`.

Для сбалансированной работы алгоритма необходимо наличие обеих криптовалют торгуемого инструмента, а также наличие BNB для сокращения комиссионных расходов.

### Функционал проекта

* Парсинг рыночных данных с API Binance в режиме реального времени
* Сохранение данных в базу данных PostgreSQL
* Размещение сетки лимитных ордеров

### Сборка проекта

1. Создание конфиденциальных данных

В корне проекта необходимо создать файл .env, в котором прописать необходимые данные.

API ключи биржи Binance (их можно сгенерировать в своем аккаунте на сайте биржи Binance):
* API_KEY=(api_key)
* SECRET_KEY=(secret_key)

Приватные данные Telegram:
* CHAT_ID=(chat_id)
* TELETOKEN=(token)

CHAT_ID можно запросить, введя в строке поиска в Telegram Get My ID
Чтобы создать телеграм-бота и получить его токен, нужно зайти в BotFather ввести /newbot и выбрать ему уникальное название. Полученная строка типа 6563736789:GVkbiluhy78yIU_hbhjtf-vbydrty6vBJBJ это то, что нужно поместить в переменную TELETOKEN.

##### Тестовый/рабочий режимы:

DEBUG=1 в файле .env активирует тестовый режим. Алгоритм будет работать без открытия ордеров по сигналам.
Переключение на DEBUG=0 активирует рабочий режим, ордера будут открываться при наступлении торгового сигнала.

2. Запуск проекта в Docker-контейнере

* Создать образ проекта, введя в терминале команду
`docker build -t angrid .`

* Запустить контейнер на основе созданного образа
`docker-compose up --build`