Боты

В данном разделе описана работа с разделом «Боты». Бот – это определенная торговая пара и выделенные на нее средства(финансы), предназначенные для ведения торгов посредством размещения ордеров на бирже. Каждый бот характеризуется следующими основными параметрами (измерениями):
  • Имя
  • Аккаунт, через который ведется торговля
  • Торговая пара
  • Размер биржевой комиссии
  • Размер шага торговой сетки (в %)
  • Диапазон торговой сетки (в %)
  • Стартовая точка (цена торговой пары)
  • Торговая сетка (набор строк сетки)
Статистика ведется в разрезе ботов:
  • Ордера
  • Сделки
  • Информационные сообщения

Торговая сетка

Ключевым параметром бота является торговая сетка. Сетка состоит из строк. Каждая строка сетки определяется следующими параметрами:
  • Номер строки
  • Признак активности
  • Цена покупки
  • Цена продажи
  • Тип стартового ордера (SELL или BUY)
  • Дата старта торгов по строке (нужна для расчета процента прибыльности)
  • Сумма на старте ордеров на продажу (SELL)
  • Сумма на старте ордеров на покупку (BUY)
По своей сути, торговая сетка – это торговый план работы для бота, определяющий, по какой цене покупать и продавать на каждой строке и какой объем средств.

Алгоритм работы

Для работы бота обязательно должна быть задана торговая сетка, на сетку распределены средства и выставлены стартовые ордера
Бот работает по следующему алгоритму:
  1. Циклически с паузой выполняется процедура проверки. В каждом цикле проверки происходит запрос последних сделок и открытых ордеров с биржи
  2. Сделки анализируются и по ним выставляются ордера в противоположную сторону по ценам, заданным в строке сетки. Например, если сделка типа BUY, то создастся ордер типа SELL по цене продажи, заданной в линии сетки с которой сопоставилась сделка. Сумма ордера вычисляется из суммы сделки с учетом биржевой комиссии. Таким образом происходит капитализация заработанных средств после каждой сделки.
  3. Для удобства пользователя производится сворачивание ордеров, если это возможно
  4. Осуществляется анализ сделки и если она парная, то вычисляется прибыль. Парная сделка – это такая сделка, которая завершает цикл сделок SELL-BUY или BUY-SELL. Пара сделок определяет получение(фиксации) прибыли и зависит от типа стартового ордера.

Обзор закладки «Боты»


На закладке «Боты» окно состоит из двух частей:
  • Верхняя часть – список ботов
  • Нижняя часть – детализация данных по выбранному в верхней части боту. Выбор отображается оранжевой строкой.
В верхней части отображаются следующие колонки:
  • «Код» – уникальный код бота в базе данных
  • «Имя» – пользовательское представление бота
  • «Аккаунт» – название аккаунта, через который бот осуществляет соединение с биржей
  • «Валютная пара» – торговая пара на бирже, по которой торгует бот
  • «Статус» – текущий статус бота. Статусы бывают:
    • означает, что бот запущен и выполняется. Дополняется текстом «Выполняется».
    • означает, что бот остановлен. Дополняется текстом «Остановлен».
    • означает, что текущий курс пары находится в границах активной торговой сетки
    • означает, что текущий курс пары находится выше верхней границы активной торговой сетки. В таком статусе бот фактически не работает.
    • означает, что текущий курс пары находится ниже нижней границы активной торговой сетки. В таком статусе бот фактически не работает.
  • «Текущая цена» – текущий курс валютной пары
  • «Сумма в USDT на старте» – сумма всех стартовых ордеров по курсу на момент старта. Рассчитывается по каждой строке торговой сетки и суммируется.
  • «Сумма в USDT сейчас» - сумма всех выставленных на данный момент ордеров по курсу на данный момент. Рассчитывается по каждой строке торговой сетки и суммируется.
  • «Прибыль(+)/Убыток(-) в USDT» - разница колонок «Сумма в USDT сейчас» и «Сумма в USDT на старте». Если сумма положительна, значит в данный момент по боту прибыль, если отрицательна, значит убыток. Даная колонка аккумулирует прибыль от торговли и курсовые изменения. Данная колонка показывает - если отменить все ордера и продать остатки по текущему курсу будет получена такая прибыль или убыток.
  • «Максимальная прибыль в USDT» - гипотетическая прибыль, если курс торговой пары уйдет выше верхней активной линии сетки. Необходима для оценки выбранной прибыли и принятии решения о закрытии бота.
  • «Прибыль текущая % общая /год» - прибыль выраженная в процентах общая за весь период и приведенная к году. Процент вычисляется в моменте по колонке «Прибыль(+)/Убыток(-) в USDT» к сумме на старте в USDT. Аккумулирует в себе прибыль от торговли и прибыль/убыток от роста/падения курсов. Для корректного расчета необходимо, чтобы на каждой линии сетки по которым началась торговля были заполнены курсы монет торговой пары к BTC и к USDT.
  • «Счетчик сообщений Err/Warn/Inf/Trade/Total» - отображает текущее количество накопленных сообщений по боту и по типам:
    • Err- ошибки
    • Warn – предупреждения
    • Inf – Информационные сообщения
    • Trade – Торговые сообщения
    • Total – общая сумма
По данному полю понятно, что происходит с ботом. Работает он или нет, есть ли ошибки или предупреждения, есть торговые события.
  • «Дней всего» - общее количество дней торговли бота. Старт торговли рассчитывается как минимальная дата по всем линиям сетки бота. Количество дней – разность текущей даты и даты старта торгов выраженное в днях.
  • «Сделок на покупку 24ч/7д/30д/365д/всего» - Счетчик сделок на покупку разбитое по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в штуках
    • 7д – за последнюю неделю (скользящее окно) в штуках
    • 30д – за последний месяц (скользящее окно) в штуках
    • 365д – за последний год (скользящее окно) в штуках
    • Всего – общее количество без учета периода в штуках
Фактически по данному полю возможно оценивать интенсивность торгов в сделках на покупку
  • «Сделок на продажу 24ч/7д/30д/365д/всего» - Счетчик сделок на продажу разбитое по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в штуках
    • 7д – за последнюю неделю (скользящее окно) в штуках
    • 30д – за последний месяц (скользящее окно) в штуках
    • 365д – за последний год (скользящее окно) в штуках
    • Всего - общее количество без учета периода в штуках
Фактически по данному полю возможно оценивать интенсивность торгов в сделках на продажу
  • «BASE текущая прибыль 24ч/7д/30д/365д/всего/% годовых» - прибыль в базовой (Base) монете выбранного бота по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в количестве базовых монет
    • 7д – за последнюю неделю (скользящее окно) в количестве базовых монет
    • 30д – за последний месяц (скользящее окно) в количестве базовых монет
    • 365д – за последний год (скользящее окно) в количестве базовых монет
    • Всего - общее количество без учета периода в количестве базовых монет
    • % годовых – приведенный расчетный процент годовой прибыли. Рассчитывается за период «Всего дней» из стартовой суммы ордеров и текущей суммы ордеров в базовой валюте. Полученная величина приводится к годовому эквиваленту
  • «QUOTE текущая прибыль 24ч/7д/30д/365д/всего/% годовых» - прибыль во второй (Quote) монете выбранного бота по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в количестве вторых монет
    • 7д – за последнюю неделю (скользящее окно) в количестве вторых монет
    • 30д – за последний месяц (скользящее окно) в количестве вторых монет
    • 365д – за последний год (скользящее окно) в количестве вторых монет
    • Всего - общее количество без учета периода в количестве вторых монет
    • % годовых – приведенный расчетный процент годовой прибыли. Рассчитывается за период «Всего дней» из стартовой суммы ордеров и текущей суммы ордеров во второй валюте. Полученная величина приводится к годовому эквиваленту
  • «Приведенная к BTC текущая прибыль 24ч/7д/30д/365д/всего/% годовых» - суммарная прибыль в базовой (Base) и второй (Quote) монете, приведенных к BTC по курсу на момент сделки выбранного бота по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в BTC
    • 7д – за последнюю неделю (скользящее окно) в BTC
    • 30д – за последний месяц (скользящее окно) в BTC
    • 365д – за последний год (скользящее окно) в BTC
    • Всего - общее количество без учета периода в BTC
    • % годовых – приведенный расчетный процент годовой прибыли. Рассчитывается за период «Всего дней» из стартовой суммы ордеров по курсу на момент старта и текущей суммы ордеров по курсу на момент сделок в BTC. Полученная величина приводится к годовому эквиваленту
  • «Приведенная к USDT текущая прибыль 24ч/7д/30д/365д/всего/% годовых» - суммарная прибыль в базовой (Base) и второй (Quote) монете, приведенных к USDT по курсу на момент сделки выбранного бота по периодам:
    • 24ч – за последние 24 часа (скользящее окно) в USDT
    • 7д – за последнюю неделю (скользящее окно) в USDT
    • 30д – за последний месяц (скользящее окно) в USDT
    • 365д – за последний год (скользящее окно) в USDT
    • Всего - общее количество без учета периода в USDT
    • % годовых – приведенный расчетный процент годовой прибыли. Рассчитывается за период «Всего дней» из стартовой суммы ордеров по курсу на момент старта и текущей суммы ордеров по курсу на момент сделок в USDT. Полученная величина приводится к годовому эквиваленту
  • «Общая за все время прибыль BASE/QUOTE/BTC/USDT» - суммы прибыли за все периоды работы бота, выраженные в базовой монете, второй монете, BTC и USDT. Нужна данная колонка для отслеживания общих сумм заработка ботом, если, например, сетка бота полностью или частично удалялась и формировалась новая.
 
В верхней части доступны следующий пользовательские действия:
  • - Добавление нового бота. Откроется окно для редактирования параметров нового бота.
  • - Редактирование существующего бота. Откроется окно для редактирования параметров выбранного бота.
  • - Удаление бота.
  • - Принудительный пересчет статистики бота.
  • - Удаление всех сообщений выбранного бота.
  • - Запуск выбранного бота.
  • - Остановка выбранного бота.

 

Добавление нового и редактирование существующего бота

После нажатия на кнопку откроется окно для определения основных параметров нового бота:

Необходимо задать следующие поля:

  • «Имя» - пользовательское представление бота
  • «Биржевой аккаунт» - выпадающий список из созданных аккаунтов. Если список пустой, перейдите в раздел «Аккаунты» и создайте сначала аккаунт
  • «Торговая пара» - выпадающий список со списком торговых пар. Загружается динамически при каждом обращении.
  • На закладке «Торговая сетка»
    • «Комиссия биржи (%)» - размер биржевой комиссии. Используется для расчета суммы ордера и прибыли по парной сделке. Размер комиссии может быть различен. Рекомендуем не учитывать в размере комиссии кэшбек от реферальной программы или другие кэшбэки, т.к. они начисляются позже, чем совершается сделка, поэтому заниженный % может привести к ошибке нехватки средств при выставлении ордеров. По умолчанию 0.1%.
    • «Капитализировать прибыль» - если установлен флаг, то после пары сделок SELL-BUY или BUY-SELL полученная прибыль прибавляется к рабочей сумме в ордерах, если нет, то высвобождается в свободные средства на бирже.
    • «Шаг торговой сетки (%)» - величина шага торговой сетки в процентах. Используется при генерации сетки и повторной генерации. Не меняйте ее, чтобы при повторной генерации строки новой и старой сетки сопоставились.
    • «Диапазон торговой сетки (% вверх и вниз от стартовой точки)» - Размер половины диапазона сетки, выраженный в процентах от изменения стартового курса. Используется при генерации сетки и повторной генерации.
    • «Стартовая точка торговой сетки (цена торговой пары)» - курс торговой пары по от которого рассчитывается торговая сетка. Не меняйте его, чтобы при повторной генерации строки новой и старой сетки сопоставились.

 

  • На закладке «Курсы на старте»
    • «Курс BTC/USDT на момент старта (для глобального тренда)» - курс, который используется для построения диаграммы глобального покрытия. По кнопке «Установить текущий курс BTC/USDT» установит текущий курс.
  • На закладке «Триггеры»
    • «Триггеры включены» - флаг включающий/отключающий в целом механизм использования триггеров данным ботом
    • На закладке «На рост курса»
      • «Триггер на рост курса включен» - признак включения триггера на рост курса торговой пары. Если выключен, то анализ при росте курса не проводится.
      • «Способ определения цены срабатывания» - возможны следующие способы:
        • «Фикс. цена» - вручную указывается цена при пересечении которой снизу-вверх (рост курса) произойдет срабатывание триггера
        • «% верхней строки» - Цена вычисляется следующим образом: берётся самая верхняя активная (включенная) строка торговой сетки, у этой строки берется цена продажи, к этой цене прибавляется указанный процент. При пересечении этой цены снизу вверх произойдет срабатывание триггера. Сдвиг задается процентом - если отрицательный % - сдвиг в минус по цене.
        • «% прибыли» - Срабатывание триггера происходит при превышении текущего процента прибыли в USDT. В качестве текущего значения берется колонка «Прибыль текущая % общая/год» в списке ботов, если она больше или равна чем заданная, то триггер срабатывает.
      • «Действия при срабатывании триггера» - возможны следующие варианты:
        • «Остановить бота» - бот остановится и отключится автоматический запуск бота. Фактически данное действие только остановит торговлю по данному боту, при этом выставленные ордера на текущий момент не будут отменены и могут быть в будущем исполнены биржей.
        • «Архивировать бота» - бот будет отправлен в архив: отменятся все ордера, зафиксируются на момент архивации суммы выставленных ордеров, значения прибыли/убытков, вся статистика по сетке, остановится торговля, бот будет перенесен в архив.
      • Выставить ордер по рынку для «БАЗОВАЯ ВАЛЮТА» после завершения – признак необходимости после завершения действия высвободившиеся суммы в базовой валюте при отмене ордеров выставить рыночный ордер для конвертации. Сработает, только если выбрано действие «Архивировать бота», т.к. только при архивации отменяются ордера и суммы высвобождаются. В полях ниже необходимо выбрать тип рыночного ордера и торговую пару. Сумма всегда будет равна сумме высвободившихся монет.
      • Выставить ордер по рынку для «ВТОРАЯ ВАЛЮТА» после завершения – признак необходимости после завершения действия высвободившиеся суммы во второй валюте при отмене ордеров выставить рыночный ордер для конвертации. Сработает, только если выбрано действие «Архивировать бота», т.к. только при архивации отменяются ордера и суммы высвобождаются. В полях ниже необходимо выбрать тип рыночного ордера и торговую пару. Сумма всегда будет равна сумме высвободившихся монет.

 

  • На закладке «На падение курса»
    • «Триггер на падение курса включен» - признак включения триггера на падение курса торговой пары. Если выключен, то анализ при падении курса не проводится.
    • «Способ определения цены срабатывания» - возможны следующие способы:
      • «Фикс. цена» - вручную указывается цена при пересечении которой сверху-вниз (падение курса) произойдет срабатывание триггера
      • «% нижней строки» - Цена вычисляется следующим образом: берётся самая нижняя активная строка торговой сетки, у этой строки берется цена покупки, к этой цене прибавляется указанный процент. При пересечении цены сверху вниз (падение цены) произойдет срабатывание триггера. Сдвиг задается процентом - если отрицательный % - сдвиг в минус по цене.
      • «% убытка» - Срабатывание триггера происходит при превышении текущего процента убытков в USDT. Убыток задается отрицательным процентом. В качестве текущего значения берется колонка «Прибыль текущая % общая/год» в списке ботов
    • «Действия при срабатывании триггера» - возможны следующие варианты:
      • «Остановить бота» - бот остановится и отключится автоматический запуск бота. Фактически данное действие только остановит торговлю по данному боту, при этом выставленные ордера на текущий момент не будут отменены и могут быть в будущем исполнены биржей.
      • «Архивировать бота» - бот будет отправлен в архив: отменятся все ордера, зафиксируются на момент архивации суммы выставленных ордеров, значения прибыли/убытков, вся статистика по сетке, остановится торговля, бот будет перенесен в архив.
    • Выставить ордер по рынку для «БАЗОВАЯ ВАЛЮТА» после завершения – признак необходимости после завершения действия высвободившиеся суммы в базовой валюте при отмене ордеров выставить рыночный ордер для конвертации. Сработает, только если выбрано действие «Архивировать бота», т.к. только при архивации отменяются ордера и суммы высвобождаются. В полях ниже необходимо выбрать тип рыночного ордера и торговую пару. Сумма всегда будет равна сумме высвободившихся монет.
    • Выставить ордер по рынку для «ВТОРАЯ ВАЛЮТА» после завершения – признак необходимости после завершения действия высвободившиеся суммы во второй валюте при отмене ордеров выставить рыночный ордер для конвертации. Сработает, только если выбрано действие «Архивировать бота», т.к. только при архивации отменяются ордера и суммы высвобождаются. В полях ниже необходимо выбрать тип рыночного ордера и торговую пару. Сумма всегда будет равна сумме высвободившихся монет.

 

  • На закладке «Параметры выполнения»
    • «Автозапуск при старте» - флаг, который если установлен, то при запуске программы автоматически запустит данного бота.
    • «Пауза между итерациями (секунд)» - работа бота циклическая (смотри описание алгоритма), данный параметр определяет паузы между итерациями циклов. Напрямую влияет на количество запросов к серверу в минуту. Слушком маленький параметр приведет к накапливанию очереди запросов к северу, слишком большой уменьшает время реакции бота на совершенные сделки на бирже. По умолчанию рекомендованный параметр – 30 секунд.
    • «Вести лог» - флаг, который если установлен, то осуществляется запись всех сообщений в текстовый файл в каталоге с файлом GridBotexe. Имя файла автоматически генерируется по времени запуска программы (Год, месяц, день, час, минута, секунда), например: 2021_4_29_15_5_6_log.txt. Если флаг не установлен, то по этому боту в файл лога не будут писаться сообщения.

Аналогичное окно, но с заполненными ранее значениями откроется по кнопке .

Запуск и остановка бота

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

 

Детализация бота

В нижней части окна закладки «Боты» для выбранного бота отображаются следующие данные на закладках:
  • - Торговая сетка бота. Подробнее про торговую сетку смотрите в соответствующем разделе
  • - Статистика сетки бота. Подробная статистика по каждой строке сетки по количеству сделок и прибыльности.
  • - Статистика по дням. Свернутая по дням статистика бота.
  • - Сделки. Список всех сделок по выбранному боту.
  • - Текущие открытые ордера. Открытые в данный момент ордера на бирже.
  • - История ордеров. Вся историческая информация по ордерам данного бота.
  • - Список ошибок бота в текущей сессии.
  • - Список предупреждений бота в текущей сессии.
  • - Список информационных сообщений бота в текущей сессии.
  • - Список торговых сообщений бота в текущей сессии.
  • - Полный журнал сообщений бота в текущей сессии.