Сервис подписывается на стримы Binance минутных свечей криптовалютных пар и выводит в лог значения скользящего среднего.
По умолчанию слушаются следующие криптовалютные пары:
- BTC/USDT
- ETH/USDT
- BNB/BTC
Значения считаются по цене закрытия минутного периода в момент начала нового периода
Параметры сервиса описаны в файле params.json
:
protocol
- протокол, по которому необходимо производить подключение; по умолчанию - "wss"hostname
- имя хоста; по умолчанию - "stream.binance.com"port
- порт хоста; по умолчанию - 9443URL_path
- путь к Веб-сокетам на хосте; по умолчанию - "/ws/"stream_names
- имена стримов, на которые необходимо подписаться; по умолчанию - ["btcusdt@kline_1m", "ethusdt@kline_1m", "bnbbtc@kline_1m"]window_size
- размер окна для вычисления скользящего среднего; по умолчанию - 3
Если вы собираете Docker-контейнер, то параметры необходимо указать в файле непосредственно перед его сбором
Для запуска тестов с помощью скриптов воспользуйтесь следующим набором команд
cd ./BinanceMovingAvg
pip install -r ./requirements.txt
python -m unittest discover -s Tests -p 'Test*.py'
Если вы используете Docker, воспользуйтесь следующим набором команд для сбора и запуска тестовой версии контейнера
cd ./BinanceMovingAvg
docker build --no-cache -t binance-ws-test-img --target test .
docker run -t --rm --name binance-ws-test binance-ws-test-img
После прохождения всех тестов контейнер прекращает свою работу
Для запуска сервиса с помощью скриптов воспользуйтесь следующим набором команд
cd ./BinanceMovingAvg
pip install -r ./requirements.txt
python python ./Main.py
Если вы используете Docker, воспользуйтесь следующим набором команд для сбора и запуска сервиса
cd ./BinanceMovingAvg
docker build --no-cache -t binance-ws-prod-img --target production .
docker run -t --rm --name binance-ws-production binance-ws-prod-img
После запуска начинают логироваться значения скользящего среднего для криптовалютных пар
Для остановки работы сервиса воспользуйтесь сочетанием клавиш Ctrl+C
В ходе выполнения работы сервиса будут выводится логи
Если было получено количество значений меньшее необходимого для вычисления бегущего среднего, то будет выведена следующая информация:
2021-12-16 22:36:57,398 - [INFO] - BTCUSDT - 3 value(-s) to start computing moving avg...
...
2021-12-16 22:37:02,341 - [INFO] - BTCUSDT - 2 value(-s) to start computing moving avg...
...
2021-12-16 22:38:02,313 - [INFO] - BTCUSDT - 1 value(-s) to start computing moving avg...
...
Начиная с момента получения достаточного количества значений для вычисления бегущего среднего, будет выводиться следующая информация:
2021-12-16 22:39:02,225 - [INFO] - BTCUSDT - 2021-12-16 19:38:59 - 47832.566667
...
2021-12-16 22:40:02,744 - [INFO] - BTCUSDT - 2021-12-16 19:39:59 - 47867.853333
...
2021-12-16 22:41:02,343 - [INFO] - BTCUSDT - 2021-12-16 19:40:59 - 47896.256667
...