Как настроить сигнального бота ОКХ с помощью TradingView

Опубликовано 30 авг. 2023 г.Обновлено 3 июл. 2024 г.10 мин на чтение

Пользователи TradingView и поставщики сигналов теперь могут публиковать и настраивать сигнального бота с помощью своих сигналов TradingView. Просто следуйте нашему пошаговому руководству по настройке сигнального трейдинга на ОКХ.

Чтобы изучить подробное описание спецификаций для сообщений оповещений, перейдите по ссылке: Спецификации сообщений оповещений.

Если вы столкнетесь с какими-либо трудностями, ознакомьтесь с разделом Часто задаваемые вопросы. Он поможет вам решить проблемы, которые могут возникнуть при использовании этого продукта.

Содержание

Шаг 1. Открытие сигнального бота

Войдите в ваш аккаунт ОКХ и нажмите «Торговать» -> «Торговые боты» -> «Маркетплейс».

step-en-1

После этого выберите раздел «Сигнальный бот» и нажмите «Создать».

step-en-2

Шаг 2. Создание сигнала

Нажмите на кнопку «Добавить пользовательский сигнал».

step-en-3

Мы упростили интерфейс, чтобы вы могли быстро создавать сигналы TradingView. Введите название своего сигнала и по желанию укажите его описание (до 500 символов). Когда все будет готово, нажмите «Создать сигнал» и перейдите к следующему шагу.

step-en-4

Добавьте URL-адреса вебхука и спецификацию AlertMsg, которую OKX создала автоматически. Так вы перейдете к настройкам отправки сигнала на TradingView. Обратите внимание, что вам доступно два способа настройки оповещений:

  • «TradingView»: подходит для пользователей, использующих скрипты стратегий TradingView, особенно тех, кто применяет функции strategy.*() для передачи сигналов.
  • «Настроить»: разработан для более широкого круга пользователей, включая тех, кто применяет индикаторы TradingView, оповещения с помощью графиков, а также поставщиков, использующих сторонние программы.

step-en-5

Краткий обзор Pine Script™: «стратегия» и «индикатор»

Тип Pine Script™ Описание
Sect A - express overview 11. Стратегия TradingView Стратегии Pine Script нужны для тестирования на исторических данных, а также форвардного тестирования на реальных рынках. Стратегии выполняют расчеты индикаторов и содержат вызовы функций strategy.*(), которые передают торговые ордера в эмулятор брокера Pine Script™. После этого эмулятор может имитировать исполнение этих ордеров. Результаты тестирования появятся во вкладке «Тестер стратегий», расположенной под графиком, рядом с вкладкой «Редактор Pine». Если вы используете скрипты стратегий TradingView с функциями** strategy.*(), перейдите сразу к Шагу 3.1. Функции strategy.*() на TradingView.
Sect A - express overview 22. Индикатор TradingView Индикаторы Pine Script™ также предполагают вычисления, но они не предназначены для тестирования на исторических данных. Индикаторы не зависят от эмулятора брокера, а потому потребляют меньше ресурсов и исполняются быстрее. В Pine Script™ v4 индикаторы известны как скрипты study. Если вы используете индикаторы/скрипты study и сторонние программы, перейдите к Шагу 3.2, Шагу 3.3 или Шагу 3.4 в зависимости от вашего сценария. Этот раздел предназначен для общих случаев использования и пользователей, которые применяют индикаторы TradingView, оповещения с помощью графиков, а также поставщиков, использующих сторонние программы.

Шаг 3. Настройка оповещений TradingView

Чтобы изучить подробное описание технических характеристик для сообщений оповещений, перейдите по ссылке: Спецификации сообщений оповещений.

Откройте TradingView и выберите торговую пару, с которой хотите работать. (Убедитесь, что выбираете подходящий контракт с бессрочным свопом.)

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

step-en-8

step-en-9

Шаг 3.1【Руководство по скриптам стратегий TradingView】:для создателей стратегий Pine Script™, использующих функции strategy.*()

Шаг 1. Настройте скрипт стратегии в «Редакторе Pine» и нажмите «Сохранить» и «Добавить на график». Если у вас уже есть скрипт стратегии, можно добавить в график его.

step-en-10

Шаг 2. Нажмите на значок шестеренки рядом со стратегией, которую вы добавили в свой график. Измените свойства стратегии, такие как размер ордера, в соответствии с вашими предпочтениями. Когда вы закончите, нажмите «Ок», чтобы сохранить настройки.

step-en-11

Как согласовать стратегию на TradingView с настройками ордера на OKX?

В стратегии TradingView доступно три варианта настройки параметров ордера. Вы можете определить свой «размер ордера» в USDT, количестве контрактов или в процентах от капитала на основе вашего первоначального капитала. Все эти подходы можно адаптировать для OKX, однако важно понимать, как каждый из них работает на TradingView и как он соотносится с платформой OKX. Ниже приведен краткий обзор различных сценариев, которые помогут вам разобраться.

1. Размер ордера: USDT

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

step-en-12

Чтобы параметр был полностью совместим с OKX, установите для «investmentType» значение «base» и укажите «amount» как «{{strategy.order.contracts}}». Так ваш ордер на OKX будет точно соответствовать стратегии на TradingView.

JSON
{
  "id": "{{strategy.order.id}}",
  "action": "{{strategy.order.action}}",
  "marketPosition": "{{strategy.market_position}}",
  "prevMarketPosition": "{{strategy.prev_market_position}}",
  "instrument": "{{ticker}}",
  "signalToken": "********",  //enter the signalToken for your signal
  "timestamp": "{{timenow}}",
  "maxLag": "60",
  "investmentType": "base",
  "amount": "{{strategy.order.contracts}}"
}

2. Размер ордера: контракты

Понятие «контракты» на TradingView и OKX означает разные элементы. На TradingView контракт представляет собой одну единицу бессрочного свопа по преобладающей цене (эквивалент одной единице базовой валюты, т. е. один бессрочный BTCUSDT контракт равен покупке 1 BTC). А на OKX «размеры контракта» уникальны для каждого контракта с бессрочным свопом (например, один бессрочный BTCUSDT контракт равен покупке 0,01 BTC). Узнайте больше о размерах контракта на OKX по ссылке: https://www.okx.com/trade-market/info/swap.

step-en-13

Чтобы параметр был полностью совместим с OKX, выберите для «investmentType» значение «base» и укажите «amount» как «{{strategy.order.contracts}}». На TradingView плейсхолдер «{{strategy.order.contracts}}» совпадает с суммой в базовой валюте. А обозначение «investmentType» как «base» обеспечивает прямую совместимость. Выбор этих спецификаций гарантирует, что ваши ордера на OKX будут точно отражать вашу стратегию на TradingView.

JSON
{
  "id": "{{strategy.order.id}}",
  "action": "{{strategy.order.action}}",
  "marketPosition": "{{strategy.market_position}}",
  "prevMarketPosition": "{{strategy.prev_market_position}}",
  "instrument": "{{ticker}}",
  "signalToken": "********",  //enter the signalToken for your signal
  "timestamp": "{{timenow}}",
  "maxLag": "60",
  "investmentType": "base",
  "amount": "{{strategy.order.contracts}}"
}

3. Размер ордера: % капитала

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

step-en-14

Хотя параметры можно имитировать с помощью настройки «investmentType» как «base» и «amount» как «{{strategy.order.contracts}}» (пример ниже), важно учитывать, что значения, полученные с помощью этого способа, во многом зависят от расчетов тестирования. Между тестированием и реальной торговлей могут возникнуть расхождения, поскольку тестирование предназначено для приблизительных оценок, а не для точного исполнения ордеров. Поэтому рекомендуется указывать размер ордера либо в USDT, либо в контракте на TradingView.

JSON
{
  "id": "{{strategy.order.id}}",
  "action": "{{strategy.order.action}}",
  "marketPosition": "{{strategy.market_position}}",
  "prevMarketPosition": "{{strategy.prev_market_position}}",
  "instrument": "{{ticker}}",
  "signalToken": "********",  //enter the signalToken for your signal
  "timestamp": "{{timenow}}",
  "maxLag": "60",
  "investmentType": "base",
  "amount": "{{strategy.order.contracts}}"
}

Шаг 3. Нажмите «Создать оповещение» на верхней панели инструментов и измените параметр «Условие» для скрипта, добавленного в график, выбрав «Order fills only». Для срока действия можно выбрать опцию «Бессрочное оповещение».

step-en-15

Шаг 4. Скопируйте шаблон оповещения из вкладки TradingView в спецификации сигнального бота OKX. Вставьте этот шаблон в раздел «Сообщение» в оповещении на TradingView вместе с выбранным названием оповещения.

Если вы хотите изменить рекомендуемый шаблон оповещения, убедитесь, что изменения соответствуют нашим спецификациям, указанным здесь.

step-en-16

step-en-17

Шаг 5. В «Уведомлениях» выберите раздел* «URL вебхука». Вставьте адрес вебхука, скопированный из OKX, на TradingView и нажмите «Создать».
*Для доступа к этой функции требуется платная подписка на TradingView

step-en-18

step-en-19

Шаг 3.2【Руководство по индикаторам/study TradingView】для создателей скрипта индикатора/study Pine Script™

Шаг 1. Настройте скрипт в «Редакторе Pine» и нажмите «Сохранить» и «Добавить на график».

step-en-20

Шаг 2. Нажмите «Создать оповещение» на верхней панели инструментов и измените параметр «Условие» для скрипта, добавленного в график, выбрав соответствующее «AlertCondition». В этом случае MACD Golden Cross используется вместе с шаблоном сообщения ENTER_LONG. Для срока действия можно выбрать опцию «Бессрочное оповещение».

Наконец, скопируйте шаблон оповещения из вкладки «Настроить» в спецификации сигнального бота OKX. Вставьте этот шаблон в раздел «Сообщение» в оповещении на TradingView вместе с выбранным названием оповещения.

Если вы хотите изменить рекомендуемый шаблон оповещения, убедитесь, что изменения соответствуют нашим спецификациям, указанным здесь.

"ВАЖНО: OKX поддерживает 4 типа сообщений с разными действиями (ENTER_LONG, EXIT_LONG, ENTER_SHORT, EXIT_SHORT). При настройке оповещения выберите подходящее сообщение в зависимости от вашей торговой стратегии. 

step-en-21

step-en-22

Шаг 3. В «Уведомлениях» выберите «URL вебхука». Вставьте адрес вебхука, скопированный из OKX, на TradingView и нажмите «Создать».

step-en-23

step-en-24

Шаг 3.3【Руководство по анализу графиков】для тех, кто использует анализ графиков и/или базовые линии индикаторов

Шаг 1. Нажмите на кнопку «Создать оповещение» на верхней панели инструментов и задайте условие, которое обычно используете для торговли (например, RSI-14 пересекает 30).

step-en-25

Затем вставьте спецификации AlertMsg от OKX в поле «Сообщение». Узнайте больше о спецификациях AlertMsg от OKX по ссылке.

**ВАЖНО: мы поддерживаем 4 типа сообщения с разными действиями (ENTER_LONG, EXIT_LONG, ENTER_SHORT, EXIT_SHORT). При настройке оповещения выберите подходящее сообщение в зависимости от вашей торговой стратегии. **

Шаг 2. В «Уведомлениях» выберите «URL вебхука». Вставьте адрес вебхука, скопированный из OKX, на TradingView и нажмите «Создать».

step-en-26

Шаг 3. Чтобы посмотреть созданное оповещение, откройте вкладку «Оповещения» и выберите соответствующее оповещение.

step-en-27

Шаг 3.4【Руководство по сторонним программам】для поставщиков сигналов, передающих сообщения из нативных программ

Чтобы посмотреть пример настройки с Python, изучите Приложение B. Пример запроса с вебхуком Python.

Если вы хотите отправить на OKX запрос с фиксированного IP-адреса третьей стороны, свяжитесь с нашей службой поддержки или напишите электронное письмо на адрес tradingbot@okx.com с соответствующей аргументацией. Так наша команда сможет обработать ваш запрос надлежащим образом. Если вы не свяжетесь с нами по этому вопросу, все внешние сигналы будут по умолчанию считаться недействительными.

Шаг 4. Настройка сигнального бота

Если вы успешно опубликовали свой сигнал на OKX, пришло время подключить его к нашему сигнальному боту! Нажмите «Создать бота», чтобы перейти на страницу создания сигнального бота.

step-en-28

Вам нужно будет указать обязательные настройки для бота: применимые торговые пары, коэффициент кредитного плеча и сумму средств (маржу), которую хотите инвестировать.

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

step-en-29

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

Например, вы можете выбрать тип ордера: маркет-ордер или лимитный ордер. Маркет-ордер исполняется немедленно по текущей рыночной цене, а лимитный ордер позволяет устанавливать конкретные уровни цен, при которых ваши ордера должны быть исполнены.

Кроме того, вы можете определить сумму инвестиций для каждого ордера, то есть сколько средств будет выделяться на каждую сделку. Такой параметр довольно легко настроить. Доля средств для каждой сделки можно указать в абсолютном выражении (например, 1000 USDT) или в процентах (например, 10% от доступного баланса). Этот параметр позволяет управлять рисками и контролировать размеры позиций в соответствии с вашей торговой стратегией.

Вы также можете указать настройки выхода: выбрать уровни тейк-профит (TP) и стоп-лосс (SL). Тейк-профит устанавливает уровень цены, при котором ваш бот автоматически закроет сделку для получения прибыли, а стоп-лосс определяет уровень цены, при котором ваш бот выйдет из сделки, чтобы ограничить потенциальные убытки.

Каждую из этих расширенных настроек (кроме TP и SL) можно указать в боте напрямую или получить из оповещений TradingView. Такая гибкость позволяет выбрать способ, который лучше всего подходит для вашего стиля торговли.

step-en-30

После заполнения параметров нажмите «Подтвердить», чтобы завершить создание сигнального бота.

step-en-31

Шаг 5. Отслеживание и управление сигнальным ботом

Поздравляем! Вы создали сигнального бота. Теперь вам доступен новый уровень торговли: этот мощный инструмент будет получать сигналы от выбранного источника и мгновенно совершать ваши сделки в реальном времени.

Вы можете полностью контролировать и просматривать действия сигнального бота в любое время. Чтобы получить доступ к подробной информации в разделе «Сведения», нажмите на значок, показанный ниже.

step-en-32

На этой странице доступна общая информация о боте, список текущих позиций, открытые ордера, история ваших позиций и сигналов и многое другое.

step-en-33

Просматривайте общую информацию

step-en-34

Отслеживайте и контролируйте открытые позиции

step-en-35

Изучайте историю позиций

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

step-en-36

Отслеживайте историю сигналов

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

1. Изменение (добавление/сокращение) маржи в боте

В разделе сведений о боте можно легко добавлять или снижать маржу по мере необходимости. Эта функция позволяет пополнять баланс или откладывать часть средств после достижения значительного возврата на инвестиции (ROI).

step-en-37

Найдите кнопку «Изменить маржу»

step-en-38

Добавьте/сократите маржу

2. Размещение ордеров вручную

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

step-en-39

Найдите кнопку «Ордер вручную»

step-en-40

Размещайте ордера вручную в любом направлении

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

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

step-en-41

Рядом с информацией о позициях есть кнопка «Закрыть все»

step-en-42

Подтвердите, что хотите закрыть

4. Остановка сигнального бота

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

  1. На странице информации о боте

Откройте страницу со сведениями о боте и нажмите «Стоп» в правом верхнем углу.

step-en-43

  1. На странице ордеров в боте

Нажмите «Торговать» и перейдите на вкладку с ордерами в боте, расположенную в нижней части страницы.

step-en-44

Поздравляем с успешной настройкой сигнального бота с сигналами от TradingView! Вы сделали важный шаг для оптимизации торговых стратегий и увеличения потенциального дохода. Теперь вам доступны новые возможности для освоения рынка криптовалют и раскрытия своего потенциала. Желаем вам успехов на этом пути. Хотите узнать больше о сигнальном трейдинге? Тогда перейдите по ссылке.

Приложение

A. Пример 1. Скрипт MACD с alertcondition( ) + ручная настройка оповещений

Чтобы создать оповещение, необходимо определить условие, которое его вызовет. Оно может быть основано на различных факторах, таких как цена, индикаторы и так далее. В указанном ниже скрипте Pine Script™ в качестве примера используется технический индикатор MACD.

JavaScript
//@version=5
indicator('MACD Sample Script 1', overlay=true)

// Рассчитать MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Определить условие золотого креста
goldenCross = ta.crossover(macdLine, signalLine)

// Определить условие креста смерти
deathCross = ta.crossunder(macdLine, signalLine)

// Использовать функцию alertcondition для создания оповещений
alertcondition(condition=goldenCross, title="MACD Golden Cross", message="")
alertcondition(condition=deathCross, title="MACD Death Cross", message="")

В этом примере мы сначала рассчитываем MACD с помощью функции «macd», которая учитывает входные данные (в данном случае цены закрытия) и параметры для MACD (12, 26, 9). Затем мы определяем условия для золотого креста и креста смерти, используя функции «crossover» и «crossunder» соответственно. Золотой крест возникает, когда линия MACD пересекает сигнальную линию снизу вверх, а крест смерти — когда линия MACD пересекает сигнальную линию сверху вниз.

Если вас интересует настройка оповещений вручную, этот процесс описан в разделе 3 (способ B). Опишем его коротко: чтобы настроить оповещения, нажмите на кнопку «Создать оповещение» на TradingView. После этого выберите индикатор и подходящее условие. Затем скопируйте и вставьте соответствующее сообщение и URL-адрес вебхука из вашего сигнала на OKX.

step-en-45 step-en-46

B. Пример 2. Пример запроса с вебхуком Python

Python

import datetime
import time
import requests
import datetime
import json
import log

symbol = 'BTC-USDT-SWAP'

#enter long demo, using 100% available balance
signaldata_enterlong = {
        "action":"ENTER_LONG",
        "instrument":symbol,
        "signalToken":"your signaltoken",
        "timestamp":datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
        "maxLag":"2000",
        "orderType":"market",
        "orderPriceOffset":"0.1",
        "investmentType":"percentage_balance",
        "amount":"100"
    }
#enter short demo, using 100% available balance
signaldata_entershort = {
        "action":"ENTER_SHORT",
        "instrument":symbol,
        "signalToken":"your signaltoken",
        "timestamp":datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
        "maxLag":"2000",
        "orderType":"market",
        "orderPriceOffset":"0.1",
        "investmentType":"percentage_balance",
        "amount":"100"
    }

# exit short demo, closing 100% open position
signaldata_exitshort = {
        "action":"EXIT_SHORT",
        "instrument":symbol,
        "signalToken":"your signaltoken",
        "timestamp":datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
        "maxLag":"2000",
        "orderType":"market",
        "orderPriceOffset":"0.1",
        "investmentType":"percentage_position",
        "amount":"100"
    }
# exit long demo, closing 100% open postion
signaldata_exitlong = {
        "action":"EXIT_LONG",
        "instrument":symbol,
        "signalToken":"your signaltoken",
        "timestamp":datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S.%fZ'),
        "maxLag":"2000",
        "orderType":"market",
        "orderPriceOffset":"0.1",
        "investmentType":"percentage_position",
        "amount":"100"
    }

demo_trading_url = 'https://www.okx.com/pap/algo/signal/trigger'
live_trading_url = 'https://www.okx.com/algo/signal/trigger'

# Make a POST request signak enter
response = requests.post(live_trading_url, data=json.dumps(signaldata_enterlong))

# Check the response status code
if response.status_code == 200:
    log.info('trigger signal successful')
else:
    log.info('trigger sitgnal failed')

C. Примеры скриптов от OKX на TradingView

Спецификации сообщений оповещений

Узнайте больше о спецификациях сообщений оповещений на OKX в этой статье.

Часто задаваемые вопросы

Если вы хотите лучше разобраться в стратегиях с использованием сигналов, ознакомьтесь с часто задаваемыми вопросами от пользователей в этой статье.