1. Что такое настраиваемые боты?
Настраиваемые боты позволяют инвесторам устанавливать свои собственные торговые правила, которые подходят для всех пользователей. Для новичков настраиваемые боты могут объединять простые торговые правила, такие как "Продать удерживаемый GT по 10 USDT, когда цена GT на спотовом рынке выше 10 USDT."

Для профессиональных пользователей ботов настраиваемые боты также могут адаптировать сложную торговую логику, такую как:
“Когда спотовая цена BTC выше 50 000 USDT, а соотношение цены фьючерсов на BTC к цене индекса выше 1, продайте 4 BTC фьючерсов и одновременно купите 0.01 BTC по цене 51 000 USDT.”

2. Объяснения параметров настроек настраиваемых ботов
Новые правила
Правила состоят в основном из двух частей: условий и логики выполнения.

Условия
Условия - это конкретные критерии, установленные для запуска логики выполнения. Пользователи могут комбинировать существующие рыночные данные Gate, финансовые данные бота и математические функции, предоставленные платформой, чтобы создать условия, отвечающие их потребностям.
Нажмите на иконку, чтобы выбрать все данные, которые могут быть предоставлены
Нажмите на «Инструкции по функциям», чтобы просмотреть конкретные методы использования всех данных.
Например: Правило срабатывает, когда цена спотовой торговли BTC превышает 50 000 USDT. Условие: цена ("BTC_USDT", 0, "спот") > 50 000. Более сложные боты также могут быть приняты, например, те, которые требуют несколько условий:
-
Когда цена фьючерсов BTC_USDT ниже 50 000 USDT
-
Когда премия цены фьючерсов BTC_USDT к цене индекса больше 1
-
Когда позиция BTC_USDT равна 0 Условие: price("BTC_USDT", 0, "usdt") < 50000 и премиум("BTC_USDT", 0, "usdt") > 1 и (position_net("BTC_USDT", "usdt") == 0)
Логика исполнения Логика исполнения задает, какие ордера будут исполнены при наступлении условий. Пользователи могут использовать логику исполнения, предоставленную Gate, для исполнения ордеров на спотовой и фьючерсной торговле и создания своих собственных функций (переменных). “Тип” означает, что пользователи могут выбирать тип торговли: Спотовая торговля или Торговля фьючерсами. “Рынок” означает, что пользователи могут выбирать рынок для ботов. Одно правило может поддерживать несколько настроек логики исполнения для разных рынков, с возможностью выбора максимум 20 рынков. Типы “Ордеров” предлагают различные варианты, включая Лимитные Ордера, Рыночные Ордера, Тейк Профит и Стоп Лосс.
Например: Продавать BTC после того, как цена BTC на споте превысит 50 000 USDT. Логика выполнения:
Откройте позицию в лонг позицию с плечом 5x после того, как цена фьючерсов на BTC упадет ниже 5 000 USDT. Логика исполнения:

Одно правило поддерживает одновременно несколько логик выполнения, при этом максимально можно выполнить вместе 20 логик.
Новые переменные
Переменные в основном состоят из двух частей: условий и значений переменных. Пользователи могут хранить любые переменные и получать значение "имя_переменной" через "получить-значение", когда им нужно использовать их.

Условия
Условие — это предустановленное условие, запускающее вычисление значений переменных. Пользователи могут комбинировать условия, отвечающие их потребностям, с существующими рыночными данными Gate, данными о капитале ботов и математическими функциями, предоставляемыми платформой.

Нажмите на значок, чтобы выбрать все предоставленные данные.

Нажмите "Как использовать функции", чтобы посмотреть, как использовать все данные Пример: Способ использования условий в том же правиле.
Переменная Значение
Это задает значения переменных, которые будут сохраняться при срабатывании условия. Пользователи могут создавать значения переменных на основе данных, предоставленных Gate.
Пример: получение индикатора EMA за 10 минут по споту BTC, значение переменной:

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

настраиваемые боты циклически выполняются каждые 10 секунд и выполняют все правила и переменные от низкого к высокому в порядке выполнения. Если существует ссылочное отношение между переменными или между правилами, необходимо добавить сначала ссылочные переменные, иначе вы не сможете получить предварительно заданный эффект бота.
Например, если ema-BTC используется в качестве условия в «купить BTC и продать BTC», и когда условия выполнены, боту нужно сначала купить BTC, а затем продать BTC. Порядок в боте должен быть ema-BTC, купить BTC и продать BTC.
Сохранить и Запустить

-
Пользователь может выбрать «Сохранить», чтобы сохранить вновь созданного бота в библиотеке ботов, а затем запустить бота позже. При запуске бота вы можете запустить его, просто кликнув в библиотеке ботов, и бот, сохраненный в библиотеке ботов, может быть запущен несколько раз.

-
Вы также можете выбрать «Сохранить и Запустить», чтобы сохранить только что созданного бота в библиотеке ботов и пополнить средства для его развертывания.

Включить и отключить
После создания бота правила и переменные включены по умолчанию. При редактировании бота их можно отключить или включить. Изменения вступят в силу немедленно после нажатия кнопки "Сохранить", непосредственно влияя на работу бота.

1. При отключении правил и переменных:
"Отключить" означает не использовать конкретное правило или переменную в боте.
"Отключить все" относится к неприменению всех правил или переменных в боте.

Случай настраиваемых ботов
1. Бот "Прорыв диапазона" Этот пример сосредотачивается на том, как создать бота с настраиваемыми правилами. Открытие позиций:
Позиция в Лонг: Открывается, когда цена пробивает выше самой высокой точки последних 60 минут
Позиция в шорт: Открывается, когда цена падает ниже самой низкой точки за последние 60 минут
Закрытие позиций:
Закрыть Лонг: Закрыть, когда цена падает ниже самой низкой точки за последние 10 минут
Закрыть шорт: Закрыть, когда цена превышает самую высокую точку последних 10 минут
1.1 Новые правила
Правила открытия позиций в лонг
Условия
price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 60, “usdt”) и order_collateral(“usdt”) ==0 и position(“BTC_USDT”, “usdt”) == 0
(1)price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 60, “usdt”) Это условие указывает на то, что последняя цена BTC бессрочных фьючерсов больше самой высокой цены BTC бессрочных фьючерсов за последние 60 минут.
(2)и order_collateral(“usdt”) ==0 Это условие указывает на то, что у бота нет открытых ордеров. Функция “order_collateral” предварительно устанавливает маржу для незавершенных ордеров. Если эта функция возвращает значение 0, это означает, что у бота нет текущих ордеров.
(3)и position(“BTC_USDT”, “usdt”) == 0 Это условие указывает на то, что у бота в настоящее время нет позиций. Здесь "позиция" - это предустановленная функция, которая возвращает количество текущей позиции бота на указанном рынке.
Логика исполнения
Тип: Торговля фьючерсами
рынок: бессрочные фьючерсы BTC/USDT
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Лонг
Лимит цена: ask_price("BTC_USDT", 1, "usdt")
Количество: 1

Правила открытия шорт позиций
Условия
price("BTC_USDT", 0, "usdt") < минимальная_price("BTC_USDT", 60, "usdt") и залог_ордера("usdt") == 0 и position("BTC_USDT", "usdt") == 0
(1)price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 60, “usdt”) Это условие указывает на то, что последняя цена BTC бессрочных фьючерсов меньше минимальной цены BTC бессрочных фьючерсов за последние 60 минут.
(2)и order_collateral(“usdt”) ==0 Это условие означает, что у бота нет никаких текущих ордеров.
(3)и position(“BTC_USDT”, “usdt”) == 0
Это условие указывает на то, что у бота в данный момент нет позиций.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT Переменные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Шорт
Лимит цена: ask_price("BTC_USDT", 1, "usdt")
Количество: 1

Правила закрытия позиций в лонг
Условия
price(“BTC_USDT”, 0, “usdt”) < мин_price(“BTC_USDT”, 10, “usdt”) и поручение_обеспечение(“usdt”) ==0 и position(“BTC_USDT”, “usdt”) > 0
(1)price("BTC_USDT", 0, "usdt") < min_price("BTC_USDT", 10, "usdt") Это условие указывает, что последняя цена Перпетуальных фьючерсов BTC меньше, чем самая низкая цена Перпетуальных фьючерсов BTC за последние 60 минут.
(2)и order_collateral(“usdt”) ==0 Это условие означает, что у бота нет никаких текущих ордеров.
(3)и позиция («BTC_USDT», «usdt») > 0 Это условие указывает на то, что бот ранее установил позицию и сейчас выполняет закрытие на основе этой существующей позиции.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT бессрочные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Шорт
Лимитная цена: ask_price(“BTC_USDT”, 1, “usdt”)
Количество: 1

Правила закрытия позиций в шорт
Условия
price("BTC_USDT", 0, "usdt") > max_price("BTC_USDT", 10, "usdt") и order_collateral("usdt") ==0 и position("BTC_USDT", "usdt") < 0
(1)price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 10, “usdt”) Это условие указывает на то, что последняя цена BTC бессрочных фьючерсов выше максимальной цены BTC бессрочных фьючерсов за последние 60 минут.
(2)и order_collateral(“usdt”) ==0 Это условие означает, что у бота нет активных ордеров.
(3) и position("BTC_USDT", "usdt") < 0 Это условие указывает на то, что бот ранее установил позицию и сейчас выполняет закрытие операции на основе этой существующей позиции.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT бессрочные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Лонг
Лимитная цена: ask_price("BTC_USDT", 1, "usdt")
Количество: 1

1.2 Создание бота
Добавьте правила в следующем порядке выполнения: "Условия открытия позиции в лонг" - "Условия открытия позиции в шорт" - "Закрыть позицию в лонг" - "Закрыть позицию в шорт".

2. Бот 'сильно превышает объем'
Этот пример сосредоточен на том, как создать бота с использованием настраиваемых переменных.
Открыть позицию в Лонг / Закрыть позицию в Шорт

Здесь, price(t) означает последнюю цену в текущий момент
close(t-1) представляет собой цену закрытия на предыдущий момент
Открыть позицию в шорт / Закрыть позицию в лонг
2.1 Новые правила
Имя переменной: диапазон
Условие: правда
Значение переменной: max_price("BTC_USDT", 10, "usdt") - min_price("BTC_USDT", 10, "usdt")

2.2 Новые правила
1. Правила открытия позиций в лонг
Условия
price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt")+get_value("range")*0.5 и order_collateral("usdt") ==0 и position("BTC_USDT", "usdt") == 0
(1)price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt") + get_value("range")0.5 Это условие означает условие открытия позиций в лонг price(t) > Close(t-1) + 0.5range настраиваемая переменная "range" доступна с использованием функции "get_value".
(2)и order_collateral("usdt") ==0 Это условие указывает на то, что в данный момент отсутствуют открытые ордера.
(3)и position("BTC_USDT", "usdt") == 0 Это условие указывает на отсутствие открытых позиций.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT бессрочные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление Лонг
Лимитная цена: ask_price(“BTC_USDT”, 1, “usdt”)
Количество: 1

2. Правила открытия позиций в шорт
Условия
price("BTC_USDT", 0, "USDT")
(1)price("BTC_USDT", 0, "usdt")
Это условие означает условие открытия позиций в шорт.

настраиваемая переменная "range" доступна с использованием функции "get_value". (2)и order_collateral("USDT") ==0
Это условие указывает на то, что в данный момент нет открытых заказов. (3)и position("BTC_USDT", "usdt") == 0 Это условие указывает на то, что нет открытых позиций.
Логика исполнения
Тип Торговля фьючерсами
рынок: BTC/USDT Перпетуальные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Шорт
Лимит цена: ask_price("BTC_USDT", 1, "usdt")
Количество: 1

3. Правила закрытия позиций в лонг
Условия
price(“BTC_USDT”, 0, “usdt”) 0
(1)price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)*0.5
Это условие означает условие закрытия позиций в лонг.
настраиваемая переменная "range" доступна с помощью функции "get_value".
(2)и order_collateral(“usdt”) ==0
(3) и order_collateral("USDT") ==0
Это условие указывает на то, что в настоящее время нет открытых ордеров.
(4)и position("BTC_USDT", "usdt") > 0
Это условие указывает на наличие открытой позиции в лонг, на основе которой будет выполнена операция закрытия.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT Перманентные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Шорт
Лимит цена: ask_price("BTC_USDT", 1, "usdt")
Количество: 1

4. Правила закрытия позиций в шорт
Условие
Это условие относится к условиям открытия позиций в шорт:

настраиваемая переменная 'range' доступна с использованием функции 'get_value'.
(2)и order_collateral(“usdt”) ==0
Это условие указывает на то, что в данный момент нет открытых ордеров.
(3) и position("BTC_USDT", "usdt") < 0
Это условие указывает на наличие существующей позиции в шорт позиции, на основе которой будет выполнена операция закрытия.
Логика исполнения
Тип: Торговля фьючерсами
Рынок: BTC/USDT бессрочные фьючерсы
Тип ордера: Лимитный ордер
Плечо: 5x
Направление: Лонг
Цена ордера: bid_price(“BTC_USDT”, 1, “usdt”)
Количество: 1

2.3 Создать бот
При использовании настраиваемых переменных необходимо установить порядок выполнения настраиваемых переменных перед правилами. Например, если порядок выполнения настраиваемой переменной 'range' равен 1, то порядок выполнения правил открытия и закрытия должен быть установлен в диапазоне от 2 до 5.

3. Как создать настраиваемых ботов?
Примечание: настраиваемые Bots доступны только на веб-версии.
Боты - Пул ботов - Создать бота - Настроить - настраиваемые боты - Установка параметров - Создать


Gate оставляет за собой окончательное право на интерпретацию продукта.
