Giter VIP home page Giter VIP logo

binance-create-order's Introduction

binance-create-order-test

На вход API приходят следующего рода данные


{
   "volume": 10000.0,   # Объем в долларах
   "number": 5,         # На сколько ордеров нужно разбить этот объем
   "amountDif": 50.0,   # Разброс в долларах, в пределах которого случайным образом выбирается объем в верхнюю и нижнюю сторону
   "side": "SELL",      # Сторона торговли (SELL или BUY)
   "priceMin": 200.0,   # Нижний диапазон цены, в пределах которого нужно случайным образом выбрать цену
   "priceMax": 300.0    # Верхний диапазон цены, в пределах которого нужно случайным образом выбрать цену
}

Нужно создать number ордеров с общим объемом volume, каждый из которых имеет цену в диапазоне от priceMin до priceMax.

Запуск

Необходимо задать следующие переменные окружения. Можно в корне проекта создать файл .env и прописать env vars в нем

BINANCE_API_KEY=
BINANCE_SECRET_KEY=
BINANCE_API_URL=
  • BINANCE_API_KEY - API ключ для доступа к функциональности Binance
  • BINANCE_SECRET_KEY - секретный ключ для подписывания реквестов
  • BINANCE_API_URL - URL Binance API (Binance API)

Установка зависимостей

pip install -r requirements.txt

Сервис представляет собой простое API, написанное на FastAPI (т.к. в ТЗ предполагалась, что данные для создания ордера будут приходить от фронт-енда)

Сам запуск

uvicorn source.api.app:app --reload
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [94271] using WatchFiles
INFO:     Started server process [94273]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Примеры запросов

Можно сделать через curl

curl -X 'POST' \
  'http://127.0.0.1:8000/order/create' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "symbol": "dogeusdt",
  "volume": 80,
  "number": 1,
  "amountDif": 2,
  "side": "SELL",
  "priceMin": 0.068,
  "priceMax": 0.078
}'

Или через swagger, расположенный по адресу http://127.0.0.1:8000/swagger

img.png

Тесты

Установка зависимостей

pip install -r requirements-tests.txt

Запуск

pytest tests/
tests/integration/test_api/test_create_order.py ......                                 [ 25%]
tests/unit/test_api/test_orders/test_create_order.py .....                             [ 45%]
tests/unit/test_clients/test_binance/test_client.py .......                            [ 75%]
tests/unit/test_clients/test_binance/test_schemas.py ....                              [ 91%]
tests/unit/test_clients/test_binance/test_signature.py ..                              [100%]

binance-create-order's People

Contributors

sometastycake avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.