Помощь
Боты
CTA-Экспертные боты

Пример кастомной стратегии

2025-03-21 UTC
23211 Прочли
7

1. Стратегия преодоления диапазона

В этом примере показано, как создать стратегию, применяя пользовательские правила

Открыть позицию Позиция в лонг: прорыв выше максимума за последние 60 минут Позиция в шорт: прорыв ниже минимума за последние 60 минут Закрыть позицию Закрыть позицию в лонг: прорыв ниже 10-минутного пика Закрываем позицию в шорт: прорыв выше 10-минутного минимума

1.1 Правила создания новых

1. Открытие позиции в лонг

Условия price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 60, “usdt”) and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) == 0

(1)price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 60, “usdt”) Это условие означает, что текущая цена бессрочного контракта BTC превышает самую высокую цену за последние 60 минут.

(2)and order_collateral(“usdt”) ==0 Это условие означает, что для текущей стратегии нет отложенных ордеров; порядок отслеживания - это предопределенная функция, которая определяет маржу неисполненных ордеров. Если возвращаемое значение этой функции равно 0, это означает, что для текущей стратегии нет отложенных ордеров.

(3)and position(“BTC_USDT”, “usdt”) == 0 Это условие означает, что текущий размер позиции по стратегии равен 0, и позиция является предопределенной функцией. Она указывает позицию на указанном рынке для текущей стратегии.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5X; Сторона: в лонг; Предельная цена: бид цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

2. Открытие позиции в шорт - условия открытия позиции в шорт

Условия price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 60, “usdt”) and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) == 0

(1)price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 60, “usdt”) Это условие означает, что текущая цена бессрочного контракта BTC ниже самой низкой цены за последние 60 минут.

(2)and order_collateral(“usdt”) ==0 Это условие означает, что для текущей стратегии нет отложенных ордеров.

(3)and position(“BTC_USDT”, “usdt”) == 0 Это условие означает, что текущий размер позиции для данной стратегии равен 0.

Стратегия исполнения

Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5x; Срок действия: в шорт; Предельная цена: аск цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

3. Условия закрытия позиций в лонг - закрытие позиции в лонг

Условия price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 10, “usdt”) and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) > 0

(1)price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 10, “usdt”) Это условие означает, что текущая цена бессрочного контракта BTC ниже самой низкой цены за последние 10 минут.

(2)and order_collateral(“usdt”) ==0 Это условие указывает на отсутствие отложенных ордеров по текущей стратегии.

(3)and position(“BTC_USDT”, “usdt”) > 0 Это условие подразумевает, что в стратегии уже установлены позиции, на основании которых они будут закрыты.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5x; Сторона: в шорт; Предельная цена: аск цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

4. Условия закрытия шорта

Условия price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 10, “usdt”) and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) < 0

(1)price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 10, “usdt”) Это условие означает, что текущая цена бессрочного контракта BTC выше самой высокой цены за последние 10 минут.

(2)and order_collateral(“usdt”) ==0 Это условие указывает на отсутствие отложенных ордеров по текущей стратегии.

(3)and position(“BTC_USDT”, “usdt”) < 0 Это условие подразумевает, что в стратегии уже установлены позиции, на основании которых они будут закрыты.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5x; Сторона: в лонг; Предельная цена: аск цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

1.2 Правила создания стратегий

Установите условия открытия и закрытия поочередно, добавив “условия открытия позиции в лонг”, “условия открытия позиции в шорт”, “условия закрытия позиции в лонг” и “условия закрытия позиции в шорт” по очереди.

2. Стратегия прорыва экстремума

В этом примере показано, как создать стратегию с помощью пользовательских переменных Открывать позиции в лонг/закрывать позиции в шорт

Где: price t — последняя цена на текущий момент close t-1 - цена закрытия на предыдущий момент Открыть шорт/ закрыть лонг

2.1Новая переменная

Имя переменной: диапазон Условие true Значение переменной 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 and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) == 0

(1)price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)*0.5 Это условие указывает на открытие позиций в лонг по следующему правилу:

Получить значение переменной “диапазон” с помощью предопределенной функции “получить значение”

(2)and order_collateral(“usdt”) ==0 Это условие указывает на отсутствие отложенных ордеров по текущей стратегии.

(3)and position(“BTC_USDT”, “usdt”) == 0 Это условие означает, что по данной стратегии есть открытые позиции.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5x; Сторона: в лонг; Предельная цена: бид цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

2. Условия открытия шорта

Условия price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)0.5 and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) == 0 (1)price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)0.5 Это условие указывает на открытие позиций в шорт по следующему правилу:

Получите значение переменной “диапазон” с помощью предопределенной функции “получить значение”.

(2)and order_collateral(“usdt”) ==0 Это условие указывает на отсутствие отложенных ордеров по текущей стратегии.

(3)and position(“BTC_USDT”, “usdt”) == 0 Это условие означает, что для данной стратегии нет открытых позиций.

Логика исполнения Type: Contract Trading; Market: BTC/USDT Perpetual Contract; Order Type: Limit; Leverage: 5x; Side: Short; Limit price: аск_цена(“BTC_USDT”, 1, “usdt”); Size: 1.

3. Закрытие позиций в лонг

Условия цена(“BTC_USDT”, 0, “usdt”) 0 (1)price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)*0.5 Это условие указывает на закрытие позиций в лонг в соответствии со следующим правилом:

Получить значение переменной “диапазон” с помощью предопределенной функции “получить значение”

(2)and order_collateral(“usdt”) ==0 Это условие означает, что для текущей стратегии нет отложенных ордеров.

(3)and position(“BTC_USDT”, “usdt”) > 0 Это условие подразумевает, что в стратегии уже установлены позиции, на основании которых они будут закрыты.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5X; Сторона: В шорт; Предельная цена: аск цена(“BTC_USDT”, 1, “usdt”); Размер: 1.

4. Условия закрытия шорта

Условия price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)*0.5 and order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) < 0

(1)price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)*0.5 Это условие указывает на закрытие позиций в шорт в соответствии со следующим правилом:

Получить значение переменной “диапазон” с помощью предопределенной функции “получить значение”

(2)and order_collateral(“usdt”) ==0 Это условие указывает на отсутствие отложенных ордеров по текущей стратегии.

(3)and position(“BTC_USDT”, “usdt”) < 0 Это условие подразумевает, что в стратегии уже установлены позиции, на основании которых они будут закрыты.

Логика исполнения Тип: Контрактная торговля; Рынок: Бессрочный контракт BTC/USDT; Тип ордера: Лимитный; Кредитное плечо: 5X; Сторона: в лонг; Предельная цена: бид цена(“BTC_USDT”, 1, “usdt”);Размер: 1.

2.3 Правила создания стратегии

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

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

Зарегистрируйтесь сейчас и получите шанс выиграть до $10,000!
signup-tips