Подробная инструкция по установке высокочастотного торгового бота для биржи Bittrex. Также есть вариант настройки для Binance. ( + множество других, но не протестированных, на свой страх и риск.)

 

Коротко: Торговый бот в данной инструкции бесплатный, однако для бесперебойной работы его нужно установить на удалённый сервер. Сервер стоит $5 в месяц, но при регистрации по ссылке вы получите на счет $10. Управляется бот из файлов конфигурации на сервере и из телеграм чата. Есть возможность подробной настройки для разных стратегий. В данном примере будут использоваться стандартные настройки.

 

Используемый бот: https://github.com/gcarq/freqtrade/

Поддержка бота на  Slack канале.

Подробная документация на английском

Требования:

Виртуальный приватный сервер Digital Ocean

Bittrex аккаунт с включенным API (требует Google Authenticator)

Telegram аккаунт

Botfather API ключ

ID вашего телеграм чата

Часть первая: Digital Ocean

Шаг 1

Перейдите на https://www.digitalocean.com и зарегистрируйте аккаунт. ($10 по ссылке бесплатно)

Шаг 2

Подтвердите кредитную карту или, если не проходит, PayPal аккаунт. Операция может временно снять $1 со счета.

Шаг3

3a. Создайте новый Droplet кликнув по кнопке

3b. Выберите тип сервера Ubuntu 16.04 x64.

3c. Выберите план $5 в месяц.

3d. Выберите локацию сервера.

4e. Дайте серверу имя и кликните на  Create. Установка займёт несколько минут.

Шаг 4

4a. После установки сервера вы получите письмо от Digital Ocean с паролем для управления.

4b. Для управления сервером понадобится программа PuTTY. (для Windows) Скачать PuTTY по ссылке.

4c. После установки PuTTY откройте его, введите адрес сервера (из емейла) и нажмите Open. Всплывёт окошко, нажмите Yes.

4d. Введите root как логин (login as) и пароль из емейла (password).

Если предложит сразу же установить новый пароль, придумайте и введите новый пароль, повторив его дважды сразу после стандартного.

 

Часть вторая

Шаг 1 Bittrex

1a. Создайте или зайдите на ваш аккаунт биржи Bittrex. Боту потребуются API ключи от вашего аккаунта. Для включения ключей необходимо активировать двухфакторную авторизацию 2FA. Перейдите в настройки Settings > Two-Factor Authentication.

Откройте приложение Google Authenticator и просканируйте QR код с экрана.

Убедитесь что записали секретный ключ и сохранили в надёжном месте. Это потребуется для восстановления потерянного 2FA!

Как только вы добавили аккаунт в приложение, случайный 6-ти значный код будет генерироваться каждые 30 секунд. Введите этот код в поле Authenticator Code и нажмите Enable 2FA.

Bittrex отправит вам емейл для проверки. Это последний шаг для подтверждения.

1b. После этого вы можете активировать API ключи. Перейдите в Settings > API Keys в вашем Bittrex аккаунте.

Нажмите Add new key и включите следующие разрешения. После этого нажмите Save.

Вас попросят ввести код из Google Authenticator. Введите и нажмите Confirm. Вы увидите Key и Secret коды. Сохраните их в безопасном месте. Эти ключи дают доступ к вашему аккаунту! Не передавайте их никому.

Шаг 2 Telegram

2a. Откройте телеграм и напишите в личку @BotFather: /start затем /newbot. Следующее сообщение это название бота, затем username, который должен заканчиваться на “bot”.

2b. Open your Telegram and send a DM to @userinfobot. Type /start. The userinfobot will output your Id. Note this down.

Откройте Telegram и отправьте в личку @userinfobot /start. Этот бот покажет ваш Id. Запишите его.

Шаг 3 установка на сервер

3a. Запустите PuTTY и зайдите на ваш сервер, как указано в первой части статьи. Далее введите эту строку (shift+insert):

 

git clone https://github.com/gcarq/freqtrade && cd freqtrade && ./setup.sh —install

 

Эта команда скачает freqtrade бота и запустит установку. Вам нужно будет несколько раз нажать Enter и Y.

Установка предполагает такие настройки:

Max open trades — максимальное число открытых сделок

Stake amount — сумма сделки

Stake currency — валюта сделки

Fiat currency — фиатная валюта

Для этой инструкции используется всё по умолчанию.

Также потребуется ввести такие данные —

Bittrex Key — открытый ключ аккаунта Bittrex

Bittrex Secret — секретный ключ Bittrex

Bot Father API Key — ключ из чата @Botfather

Telegram Chat ID — ключ из чата @userinfobot

После введения установка бота завершена.

3b. Файл конфигурации для настройки бота находится в ./config.json

Откройте этот файл следующей командой:

 

nano ./config.json

 

Это стандартные настройки. Все детали по всем опциям можно найти по ссылке: https://github.com/gcarq/freqtrade/blob/develop/docs/configuration.md

 

{

  «max_open_trades»: 3,

  «stake_currency»: «BTC»,

  «stake_amount»: 0.05,

  «fiat_display_currency»: «USD»,

  «dry_run»: true,

  «unfilledtimeout»: 600,

  «bid_strategy»: {

      «ask_last_balance»: 0.0

  },

  «exchange»: {

      «name»: «bittrex»,

      «key»: «»,

      «secret»: «»,

      «pair_whitelist»: [

          «BTC_ETH»,

          «BTC_LTC»,

          «BTC_ETC»,

          «BTC_DASH»,

          «BTC_ZEC»,

          «BTC_XLM»,

          «BTC_NXT»,

          «BTC_POWR»,

          «BTC_ADA»,

          «BTC_XMR»

      ],

      «pair_blacklist»: [

          «BTC_DOGE»

      ]

  },

  «experimental»: {

      «use_sell_signal»: false,

      «sell_profit_only»: false

  },

  «telegram»: {

      «enabled»: true,

      «token»: «»,

      «chat_id»: «»

  },

  «initial_state»: «running»,

  «internals»: {

      «process_throttle_secs»: 5

  }

}

 

Когда dry_run равен true, бот будет симулировать трейды. Рекомендуется для тестов и настроек торговых стратегий.

Также добавим несколько дополнительных параметров для большего функционала. Эти параметры определяют базовую стратегию для бота. Добавьте эти строки и сохраните файл, нажав Ctrl+X

 

{

«max_open_trades»: 3,

«stake_currency»: «BTC»,

«stake_amount»: 0.05,

«fiat_display_currency»: «USD»,

«dry_run»: true,

«unfilledtimeout»: 600,

«ticker_interval»: 5,

«minimal_roi»: {

«40»: 0.0,

«30»: 0.01,

«20»: 0.02,

«0»: 0.04

},

«stoploss»: -0.10,

«bid_strategy»: {

«ask_last_balance»: 0.0

},

«exchange»: {

«name»: «bittrex»,

«key»: «»,

«secret»: «»,

«pair_whitelist»: [

«BTC_ETH»,

«BTC_LTC»,

«BTC_ETC»,

«BTC_DASH»,

«BTC_ZEC»,

«BTC_XLM»,

«BTC_NXT»,

«BTC_POWR»,

«BTC_ADA»,

«BTC_XMR»

],

«pair_blacklist»: [

«BTC_DOGE»

]

},

«experimental»: {

«use_sell_signal»: false,

«sell_profit_only»: false

},

«telegram»: {

«enabled»: true,

«token»: «»,

«chat_id»: «»

},

«initial_state»: «running»,

«internals»: {

«process_throttle_secs»: 5

}

}

 

minimal_roi устанавливает длительность в минутах и ROI в процентах. Пример выше делится на:

 

«minimal_roi»: {

  «40»: 0.0,    # Продать через 40 мин если профит не отрицательный

  «30»: 0.01,   # Продать через 30 мин если профит минимум 1%

  «20»: 0.02,   # Продать через 20 мин если профит минимум 2%

  «0»:  0.04  # Продать немедленно если профит минимум 4%

},

 

По этой документации вы можете настроить свою стратегию более подробно (англ)  — https://github.com/gcarq/freqtrade/blob/develop/docs/bot-optimization.md

Также можно добавить дополнительные индикаторы:

  • Buy strategy rules
  • Sell strategy rules
  • Minimal ROI recommended
  • Stoploss recommended
  • Hyperopt parameter

Стандартный файл стратегии можно найти по ссылке —

https://github.com/gcarq/freqtrade/blob/develop/freqtrade/strategy/default_strategy.py

3c. После настройки бот можно запускать. Включается он через VPS сервер (из PuTTY) следующей командой:

 

source .env/bin/activate; python3 freqtrade/main.py

 

Если всё прошло хорошо на экране появится такая картина:

Ваш телеграм должен иметь доступ к боту для управления.

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