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

Торговая сетка – ключевой параметр бота. Без сетки торговля не возможна. По своей сути торговая сетка – это план действий при изменении курса. Сетка задается набором строк (или линий), каждая из которых определяется следующими ключевыми параметрами:
  • «Цена покупки» – цена, по которой будут выставляться ордера на покупку BUY
  • «Цена продажи» – цена, по которой будут выставляться ордера на продажу SELL
  • «Тип стартового ордера» - указывает какой ордер был первым BUY или SELL. От этого параметра зависят процедуры проверки правильности выставления ордеров и процедура фиксации прибыли по парам ордеров.
  • «Дата старта» - дата выставления стартового ордера для строки сетки. Влияет на расчет прибыльности.
  • «На старте ордеров SELL» - объем средств, размещенных в ордерах на продажу на старте.
  • «На старте ордеров BUY» - объем средств, размещенных в ордерах на покупку на старте.
 
Окно с настройкой торговой сетки выглядит следующим образом:
Кроме основных колонок в окне представлены дополнительные колонки:
  • «№» - порядковый номер строки для данного бота
  • «Статус» - колонка для отображения статуса строки. Бывают следующие варианты:
    • Обозначает, что данная строка будет ближайшей по срабатыванию ордера, если курс пойдет вверх
    • Обозначает, что данная строка будет ближайшей по срабатыванию, если курс пойдет вниз
    • Обозначает, что есть предупреждения по строке. Дополнительно выводится краткий текст предупреждения, например, «Нет ордеров» - обозначает, что есть включенная линия сетки, но по ней нет выставленных ордеров на бирже. Необходимо проверить настройки, ошибки и вручную исправить проблему. Иногда предупреждение возникает из-за ошибки, иногда из-за проблем со связью с биржей, иногда с загрузкой биржи.
  • «Строка активна» - обозначает, что строка включена в работу, по ней осуществляется торговля, выставляются ордера, проверяется наличие ордеров на бирже. Если флаг снят, то торговля и проверки по строке не ведутся.
  • «В позиции» - расчетное поле, которое отражает парность ордеров. Если текущий ордер на бирже по типу совпадает со стартовым, то в поле будет «Ложь», если разные, то «Истина».
  • «В ордерах SELL» - сумма в ордерах SELL на бирже в данный момент
  • «В ордерах BUY» - сумма в ордерах BUY на бирже в данный момент
  • «Установить SELL» - поле для отображения промежуточной суммы для установки в ордерах SELL. Сумма в этом поле используется для проверки правильности расчета, распределения или ручной установки. Если все верно и нужно выставить указанную в данном поле сумму, то пользователю нужно нажать кнопку выставления стартовых ордеров  или кнопку применения сумм на панели торговой сетки. После этого создадутся команды на изменения сумм на бирже, которые выполнятся в обработке общей очереди команд текущего бота.
  • «Установить BUY» - поле для отображения промежуточной суммы для установки в ордерах BUY. Использование аналогично полю «Установить SELL».
  • «Код» - Код строки сетки в базе данных
  • «Коррекция покупки» - накопленная коррекция суммы покупки в результате округлений. Возникает из-за ограничений биржи на размер выставляемого ордера и на шаг изменения его размера. Критично для малых сумм ордеров Поле вспомогательное и используется при следующем расчете суммы ордера
  • «Коррекция продажи» - накопленная коррекция суммы продажи в результате округлений. Возникает из-за ограничений биржи на размер выставляемого ордера и на шаг изменения его размера. Критично для малых сумм ордеров. Поле вспомогательное и используется при следующем расчете суммы ордера
  • «Сумма последнего ордера BUY» - последнее значение выставленного ордера BUY. Поле вспомогательное и используется при архивации бота
  • «Сумма последнего ордера SELL» - последнее значение выставленного ордера SELL. Поле вспомогательное и используется при архивации бота
На панели торговой сетки расположены следующие кнопки:
  • - добавление новой строки сетки вручную
  • - изменение выбранной строки сетки вручную. Идентично двойному клику на линии сетки за исключением полей «Строка активна», «Цена покупки», «Цена продажи», «Тип на старте»
  • - удаление выбранной линии сетки
  • - обновление торговой сетки из базы данных
  • - запуск генератора торговой сетки
  • - запуск мастера установки и распределения сумм торговой сетки
  • - запуск мастера обрезки сумм торговой сетки
  • - включение (установка поля «Строка активна» в значение «Истина») выбранных строк сетки
  • - выключение (установка поля «Строка активна» в значение «Ложь») выбранных строк сетки
  • - выставление стартовых ордеров
  • -применение новых сумм по ордерам. Создаются задания на отмену выставленных ордеров (если они есть) и на выставление с новой суммой (если сумма не равна нулю).
  • - отмена всех ордеров на бирже по выбранным строкам сетки
  • - очистка информации в полях «Дата старта», «На старте ордеров SELL», «На старте ордеров BUY» по выбранным строкам сетки
  • - очистка информации в полях «Установить SELL» и «Установить BUY» по выбранным строкам сетки
Создание сетки
При создании бота торговая сетка пуста. Есть два пути ее создания:
  • Вручную – каждая линия сетки задается руками
  • Генератором торговой сетки – основной способ
Рассмотрим более подробно оба варианта.
Ручное создание сетки
Для ручного создания сетки необходимо использовать следующие кнопки на панели сетки. Для создания используйте кнопку . Откроется окно для внесения информации по строке:
 
Необходимо заполнить следующие поля:
  • «Номер» - порядковый номер строки в сетке
  • «Линия включена» - признак активности строки сетки
  • «Цена покупки» - цена, по которой будут выставляться ордера на покупку
  • «Цена продажи» - цена, по которой будут выставляться ордера на продажу
  • «Тип стартового ордера» - SELL или BUY
  • «Дата старта» - дата старта торгов по данной строке. При создании можно не заполнять, т.к. это поле автоматические заполняется при выставлении стартового ордера. При необходимости можно поменять вручную.
  • «Установить новую сумму SELL ()» - новая сумма ордеров на продажу. В скобках указывается базовая монета торговой пары и вторая монета торговой пары. При указании сумм автоматически происходит пересчет.
  • «Установить новую сумму BUY ()» - новая сумма ордеров на покупку. В скобках указывается базовая монета торговой пары и вторая монета торговой пары. При указании сумм автоматически происходит пересчет.
  • «Курсы валют к USDT на момент старта» - курсы базовой и второй монеты в торговой паре к USDT на момент старта. Устанавливается либо вручную, либо при создании стартового ордера, либо при добавлении суммы на строку сетки (происходит усреднение курса). Используется для расчета поля «Сумма в USDT на старте» в таблице ботов.
  • Кнопка «Установить текущие курсы валют к USDT» устанавливает текущие курсы базовой и второй монеты к USDT.
Генератор торговой сетки
Для большинства случаев рекомендуется использовать генератор торговой сетки, что гораздо проще и быстрее, чем ручной метод. Для запуска генератора используйте кнопку   на панели торговой сетки бота. Откроется окно настроек генератора:

Необходимо указать следующие параметры:
  • «Шаг сетки (в процентах)» – процент изменения для каждого последующего шага.
  • «Диапазон сетки (в процентах)» - полудиапазон в процентах от стартовой точки вверх и вниз. Итоговый диапазон будет равен двойному полудиапазону.
  • «Шагов вверх от стартовой точки» - количество строк сетки, которое будет построено вверх от стартовой точки. По умолчанию при указании процента, диапазона и стартовой точки рассчитывается автоматически. Возможно изменить вручную для генерации точного количества шагов.
  • «Шагов вниз от стартовой точки» - количество строк сетки, которое будет построено вниз от стартовой точки. По умолчанию при указании процента, диапазона и стартовой точки рассчитывается автоматически. Возможно изменить вручную для генерации точного количества шагов.
  • «Стартовая точка (цена)» - цена, от которой производятся все расчеты сетки.
  • Кнопка «Получить текущий курс» - устанавливает в поле «Стартовая точка (цена)» значение текущего курса торговой пары.
  • «Предварительно очистить сетку» - параметр, указывающий на то, нужно ли полностью удалить все существующие линии сетки бота перед генерацией.
  • Кнопка «Сгенерировать» - осуществляет генерацию строк сетки по заданным параметрам и выполняет слияние (merge) текущей сетки и сгенерированной. Слияние осуществляется следующим образом: если строка новой сетки существует в текущей по признакам равенства полей («Цена продажи» и «Цена покупки»), то в итоговой сетке остается существующая строка, иначе добавляется новая. Если признак «Предварительно очистить сетку» установлен в «Истина», то результат слияния будет всегда равен новой сетке. После генерации в полях бота сохраняются параметры:
    • «Стартовая точка (цена)»
    • «Шаг сетки (в процентах)»
    • «Диапазон сетки (в процентах)»
Рекомендуем их не изменять на всем протяжении жизни бота, чтобы иметь возможность достраивать(расширять) сетку бота без сдвига и полной очистки, тогда вся статистика будет корректной.
 
Мастер распределения сумм
Торговая сетка, созданная вручную или через генератор, является базовой сущностью, но не достаточной для начала торговли. Необходимо определить суммы, которые бот должен разместить в стартовых ордерах. Это можно сделать вручную через поля «Установить SELL» и «Установить BUY» каждой строки сетки или воспользоваться мастером распределения сумм по кнопке  . Откроется окно с настройками мастера распределения сумм:

По кнопке «Получить текущие балансы» необходимо получить текущие актуальные остатки на аккаунте базовой и второй монеты торговой пары. Соответственно будет отображено количество свободных монет, количество уже размещенных в ордерах и общее количество. Используя кнопки   можно перенести соответствующее количество монет в поле установки с поправкой на округление. Это общая сумма, которая будет распределена равномерно в соответствии со следующими настройками.
Применить к:
  • Ко всем строкам сетки – ко всем все строкам торговой сетки бота
  • Ко всем активным строкам сетки – ко всем все строкам торговой сетки бота, у которых поле «Строка активна» установлено в «Истина»
  • Ко всем выбранным строкам сетки – ко всем все строкам торговой сетки бота, которые выбраны в самой торговой сетке перед открытием матера распределения сумм
Действие с новой суммой:
  • Заменить текущую сумму – по каждой строке, попадающей по фильтру «Применить к», будет заменена сумма на вычисленную в результате распределения
  • Добавить к текущей сумме - по каждой строке, попадающей по фильтру «Применить к», будет добавлена сумма, вычисленная в результате распределения к сумме уже размещенной в ордерах
  • Вычесть из текущей суммы - по каждой строке, попадающей по фильтру «Применить к», будет вычтена сумма, вычисленная в результате распределения из суммы уже размещенной в ордерах
Действие со стартовой суммой строки сетки:
  • Не изменять – не будет изменена стартовая сумма
  • Изменять в соответствии с действием для линии сетки – действие будет взято из параметра «Действие с новой суммой»
Для выполнения распределения необходимо нажать кнопку «Распределить»
Результат распределения необходимо проверить в колонках «Установить SELL» и «Установить BUY». Если результат устраивает, то для его отражения на бирже нужно либо выставить стартовые ордера по кнопке   или применить по кнопке .
С помощью данного мастера возможно как распределение сумм на старте, так и увеличение или уменьшение сумм в последствии. При добавлении суммы на строку, у которой уже была стартовая сумма и, если параметр изменения стартовой суммы выбран «Изменять в соответствии с действием для линии сетки», то произойдет усреднение цены на старте с добавляемой суммой по текущей цене. Это необходимо для корректной статистики. При уменьшении сумм усреднение не производится.
 
Обрезка сумм строк сетки
Со временем, может возникнуть необходимость зафиксировать часть прибыли работающего бота. Для этих целей предусмотрен специальный механизм «Обрезка сумм строк сетки», которая запускается по нажатию на кнопку . Откроется окно:
В параметрах необходимо настроить следующие поля:
  • «Процент обрезки» - процент, которые будет вычисляться от выбранной базы для расчета суммы обрезки
  • «База обрезки» — это то, от чего будет вычисляться процент. Может быть:
    • Стартовая сумма – сумма стартовых ордеров того типа которые были на старте (BUY или SELL)
    • Сумма открытых ордеров – сумма текущих выставленных ордеров на бирже
    • Прибыль (сумма открытых ордеров минус сумма стартовых)
  • «Действие со стартовой суммой» - параметр, определяющий нужно ли изменять сумму стартовых ордеров. Может принимать значения:
    • Изменять
    • Не изменять
Например, указав параметр «Изменять» можно обрезать стартовые ордера вместе с выставленными на данный момент и тогда получится, что изымается сумма, выставленная в самом начале, но нужно учитывать, что при этом изменится и процент прибыльности в статистике. ВАЖНО!!! – при изменении стартовой суммы откатить изменение будет невозможно.
  • «Применить к:» - параметр, показывающий к каким строкам сетки, нужно применить обрезку. Может принимать значение:
    • Всем линиям сетки
    • Всем активным линиям сетки – это все строки, у которых поле «Строка активна» установлено в «Истина»
    • Всем выбранным линиям сетки – ко всем все строкам торговой сетки бота, которые выбраны в самой торговой сетке перед открытием формы обрезки сумм
Для предварительного расчета обрезки необходимо нажать на кнопку «Рассчитать». В таблице будет отображены все строки, по которым будет выполнена обрезка, суммы обрезки, суммы до и после обрезки стартовых сумм и текущих ордеров, а также освобождаемый эквивалент в USDT по текущему курсу. В итоговой строке будет сумма всех строк.
Необходимо проверить и убедиться, что вас устраивает такой вариант обрезки, после чего нажать кнопку «Обрезать суммы». Результатом будет проставленная сумма в полях «Установить SELL» и «Установить BUY» каждой строки торговой сетки, а также измененная стартовая сумма:
Если результат устраивает, выделите нужные строки и нажмите кнопку , если не устраивает, то очистите результат обрезки с помощью кнопки . Если была изменена стартовая сумма, то отменить ее изменение невозможно.