Регистрация бота шаг за шагом на примере BTC-E

Устаревшая версия. Новая версия тут.

В последнее время я стал замечать, что довольно часто начинающие пользователи биржи BTC-E не знают, с чего начать регистрацию бота, где брать необходимые данные и что именно следует вводить в полях регистрационной формы. В связи с этим я решил написать это подробное руководство. Поехали.

  • Определяемся, на какой период будем производить регистрацию и для скольких валютных пар. От количества пар зависит сколько нам необходимо создать аккаунтов на сайте BTC-E: для каждой пары, по которой собираемся торговать, необходимо создать отдельный аккаунт на бирже. Таким образом, с точки зрения биржи, вы будете выглядить как несколько разных людей, иметь полностью независимые балансы и так далее.
  • Регистрируем необходимое количество аккаунтов на сайте BTC-E.
  • Еще нам понадобится так называемый API key и Security key. Эта пара ключей необходима боту для доступа к торговле на вашем счету. Что бы сгенерировать эту пару, нужно на сайте биржи из меню выбрать “Профиль” и слева в подменю выбрать “API ключи”. Внизу у вас будет видно поле для ввода имени ключа и кнопка генерации пары. Вводите имя ключа (любое, на ваше усмотрение) и нажимаете кнопку “Создать ключ”. В результате в списке ключей у вас появится новая пара. Вам необходимо скопировать API ключ и Secret ключ, а так же поставить птички рядом с ними в пунктах info и trade и нажать на “Сохранить”. Будьте внимательны, потому как секретный ключ через некоторое время закроется звездочками и вы не сможете его скопировать или узнать каким-либо способом. Если такое произвошло, нужно сгенерировать новый ключ.
  • Все готово для регистрации. Идем сюда, нажимаем кнопку “Регистрация”, выбираем биржу BTC-E и заполняем все поля: API ключ, секретный ключ, выбираем пару, по которой будем торговать, заполняем “User name” и “Password” (Не вводите здесь свои данные доступа к сайту биржи! Имя и пароль, которые вы здесь вводите, будут использоваться только для вашего входа на страницу настроек бота) и ваш реальный e-mail. Нажимаете “Отправить”.

Вот и все! Вы получите письмо на указаный вами e-mail с подтверждением и будете перенаправлены на страницу входа в панель управления ботом.

Advertisements

Общий алгоритм работы бота

Давайте разберем общий алгоритм работы бота. Для примера возьмем алгоритм LONG. В алгоритме SHORT все то же самое, только зеркально: вместо закупок продажи, вместо продаж закупки, таблица ордеров выставляется вверх от текущей цены. Единственное отличие SHORT – профит в стратегии SHORT накапливается так же во второй валюте пары, то есть не меняется.

Кратко описание стратегий на примере BTC/USD:
– LONG: Сначала покупаем BTC за USD, потом продаем дороже. Профит в USD. Для начала торговли нужны USD;
– SHORT: Сначала продаем BTC, потом покупаем BTC за USD дешевле. Профит так же в USD (покупаем столько же, сколько продали). Для начала торговли нужны BTC.

Далее на примере LONG.

Бот работает циклами. Циклы идут друг за другом и не могут выполняться параллельно для одного пользователя. Цикл представляет из себя последовательность действий:

  • расчет таблицы закупок и выставление ордеров
  • проверка этих ордеров на предмет наличия исполненных
  • если есть исполненные ордера, то выставление (если не было раньше) или обновление фикс-ордера
  • если фикс не исполнен, проверяем дальше. Если исполнен – заканчиваем этот цикл

Таким образом, большую часть времени бот проверяет, исполнились ли buy-ордера и обновляет фикс-ордер.
Отличительной особенностью этого алгоритма является то, что фикс-ордер один на весь цикл. Он по объему равен объему закупленных средств и имеет среднюю цену закупленных средств (плюс профит конечно).
Что это значит на практике (прирмер):
Допустим, у нас начался цикл и были выставлены ордера: 1@100, 1.2@90, 1.3@80, 1.4@70. Допустим, в какой-т омомент исполнился первый ордер. Тогда бот выставит фикс (для наглядность профит и комиссии не считаем) 1@100. Через некоторое время исполнился второй ордер (1.2@90). Бот отменит фикс и выставит новый – 2.2@94.55
Здесь сразу видно преимущество стратегии – если цена идет вниз, фикс тоже идет вниз, и он может быть гораздо ниже, чем первый сработавший ордер!

Теперь, как считается таблица закупок. Весь расчет отталкивается от текущей цены (она же LAST). Бот берет эту цену, отнимает от нее процент “отступ первого шага” и получает цену первого ордера. Дальше идет сложный алгоритм, суть которого в том, что бы в рамках заданного “перекрытия цены” уложить заданное количество ордеров и при этом соблюсти граничные ограничения. Покажу на результате (к примеру, LAST=100):
1.00@98
1.05@94
1.10@90
1.15@86

Здесь вот такие параметры:

  • Отступ первого шага: 100-98 = 2 (2%)
  • Процент перекрытия хода цены 100-86 = 14 (14%)
  • Мартингейл – это насколько объем следующего вниз ордера больше предыдущего. Здесь 5%.
  • Количество ордеров – 4

Объем первого ордера зависит от заданного процента использования депо (читай доступного депо) и одновременно ограничивается снизу лимитами биржи. Именно поэтому при нехватке депо количество ордеров получается меньше, чем указано в параметрах.

В настройке стратегии так же есть параметр – “использовать логарифмическое распределение ордеров”. Когда он не выбран – ордера расставляются равномерно во всем диапазоне перекрытия цены. Например, если мы перекрываем цену от 100 до 50 с помощью 6-ти ордеров, то цены этих ордеров будут 100, 90, 80, 70, 60, 50. В случае же выбора логарифмического распределения – чем ближе к цене LAST ордера, тем зазор между ними меньше. Например, для того же диапазона 100-50 и 6-ти ордеров будет нечто похожее на 100, 95, 87, 75, 63, 50 (значения ориентировочные, только что бы показать отличие).

В этой стратегии есть один сложный случай. Допустим, бот выставил таблицу, а цена пошла вверх. И надолго так пошла. Теперь эта ситуация решается автоматически – если цена ушла вверх на двойное значение отступа первого шага, то бот автоматически рестартует цикл и перевыставляет закупки.