Skip to content

FlameFlameFlame/BuySellRepeat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BuySellRepeat

Одно небольшое тестовое задание.

Сборка

  1. Установите все необходимые завимости:

sudo apt-get install libssl-dev zlib1g-dev cmake build-essentials git -y

  1. Склонируйте репозиторий, инициализируйте и склонируйте сабмодули
git clone https://github.com/FlameFlameFlame/BuySellRepeat.git 
cd BuySellRepeat
git submodule init 
git submodule update 
  1. Создайте папку, в которой будет производиться сборка
mkdir build && cd build
  1. Сконфигурируйте Cmake проект и соберите исходники
cmake ..
cmake --build .
  1. Проект готов к запуску:
cd src
./fintech-test --api_key %APIKEY% --secret_key %SECRETKEY% --trading_currency ETH --my_currency BUSD --trading_qty 0.1 --loss_to_sell 0.05 --profit_to_sell 0.025 -I 180

Описание параметров и работы

Программа размещает заказ на покупку указанного количества криптовалюты на тестовом сервере Binance. После выполнения заказа программа начинает следить за изменением цены. После этого программа начинает следить за ценой. Она разместит заказ на продажу, если выполнится одно из следующих условий:

  • цена упадёт ниже указанного процента
  • цена поднимется выше другого указанного процента
  • пройдёт больше времени, чем указано в параметрах запуска программы

Параметры:

--api_key строка Api Key пользователя

--secret_key строка с Secret Key пользователя

--trading_currency -T символ криптовалюты, которую программа будет покупать или продавать

--my_currency -M символ криптовалюты, которой будет оплачиваться покупка и в которую будет выводиться продажа

--trading_qty -Q количество торгуемой криптовалюты. Дробное число с разделителем точка: 0.1

--loss_to_sell -L нижняя граница потери цены после покупки, при пересечении которой криптовалюта будет продана с убытком. Проценты, дробное число с разделителем точка: 0.1

--profit_to_sell -P верхняя граница роста цены после покупки, при пересечении которой криптовалюта будет продана с прибылью. Проценты, положительное дробное число с разделителем точка: 0.1

--idle_time_seconds -I интервал в секундах. Если по истечении этого интервала цена не изменилась значительно, криптовалюта будет продана. Целое число, 180

Остановка работы программы

Для остановки работы программы надо нажать Ctrl+C, держа фокус в окне терминала, из которого была запущенна программа

Известные проблемы

  • При долгом выполнении заказов может казаться, что программа зависла. Я не успел добавить индикацию процесса выполнения заказа.
  • Формат вывода даты и времени не очень удобный
  • Некоторые ошибки работы с сервером не обрабатываются. В любом случае, при получении от сервера любого другого ответа на запрос, кроме 200, программа упадёт с ошибкой.
  • Запуск программы занимает 2-3 секунды, это время необходимо для корректной инициализации сетевых интерфейсов.
  • При сборке выпадают несколько warning. Это сторонние библиотеки.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published