Чтобы подключить стратегию TradingView к Phemex Signal Trading, вставьте приведённый ниже шаблон JSON в поле Message (Сообщение) при создании алерта в TradingView, укажите в нём ваш signalToken с платформы Phemex и направьте алерт на webhook-URL Phemex. После этого Phemex автоматически будет дублировать ваши сигналы на покупку/продажу. Подробную инструкцию смотрите в этой статье > Как использовать торговых ботов Signal Trading на Phemex? (Web)
Формат алерта
Скопируйте этот шаблон JSON в поле Message при создании алерта в TradingView. Переменные в фигурных скобках автоматически подставляются TradingView при генерации сигнала.
Описание параметров
| Параметр | Тип | Значение | Описание |
|---|---|---|---|
| id | Обязательный | {{strategy.order.id}} из TradingView | id — идентификатор ордера. Возвращает ID исполненного ордера — строка, которую вы указали в функции strategy.entry, strategy.exit или strategy.order. |
| symbol | Обязательный | {{ticker}} из TradingView | Торговый тикер с TradingView. Должен полностью соответствовать тикеру на Phemex. |
| action | Обязательный | {{strategy.order.action}} из TradingView | Тип действия — "buy" (купить) или "sell" (продать) для исполненного ордера. "Buy" — открыть лонг/закрыть шорт. "Sell" — открыть шорт/закрыть лонг. |
| qty | Опционально | {{strategy.order.contracts}} из TradingView | Количество актива в заявке. Например, для BTCUSDT можно указать qty=0.001. |
| price | Обязательный | {{strategy.order.price}} из TradingView | Цена лимитного ордера. Данный шаблон по умолчанию ставит все заявки как Limit. |
| type | Опционально | Тип ордера установлен как "Limit" по умолчанию, можно изменить на "Market" при необходимости. | Для лимитного ордера используйте "Limit", для рыночного — "Market". |
| marketPosition | Опционально | {{strategy.market_position}} из TradingView | marketPosition — ожидаемый статус позиции (на момент исполнения ордера): "long" (лонг), "flat" (нет позиции), "short" (шорт). |
| prevMarketPosition | Опционально | {{strategy.prev_market_position}} из TradingView | prevMarketPosition — предыдущий статус позиции (до исполнения ордера): "long", "flat" или "short". |
| marketPositionSize | Опционально | {{strategy.market_position_size}} из TradingView | marketPositionSize — ожидаемый объём позиции (на момент исполнения ордера). |
| prevMarketPositionSize | Опционально | {{strategy.prev_market_position_size}} из TradingView | prevMarketPositionSize — объём предыдущей позиции (до исполнения ордера). |
| signalToken | Обязательный | Указывается пользователем, получен при создании сигнала на Phemex | signalToken — код для аутентификации сигнала. Гарантирует, что поступающий запрос легитимен и авторизован. Генерируется автоматически при создании нового сигнала на Phemex и должен быть скопирован в сообщение для алерта TradingView. |
| timestamp | Обязательный | {{timenow}} из TradingView | Временная метка отправки ордера. |
Примеры
Пример 1: Открытие длинной позиции → Полное закрытие лонга
// Открытие лонга по BTCUSDT, цена входа: 40 000, объём: 0.001.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Закрытие лонга по BTCUSDT, цена выхода: 41 000, объём: 0.001.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Limit", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }
Пример 2: Лонг → Шорт (реверс за один шаг)
// Открытие лонга по BTCUSDT, цена: 40 000, объём: 0.001.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Открытие шорта по BTCUSDT, цена: 41 000, объём: 0.002.
// Если qty > posQty, происходит реверс: полностью закрывается 0.001 лонг, далее открывается 0.001 шорт.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.002, "price": 41000, "type": "Limit", "marketPosition": "short", "prevMarketPosition": "long", "marketPositionSize": 0.001, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }
Пример 3: Открытие лонга → Частичное закрытие → Полное закрытие
// Открытие лонга по BTCUSDT, цена: 40 000, объём: 0.002.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.002, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.002, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Частичное закрытие лонга по BTCUSDT, цена: 41 000, объём: 0.001.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "long", "marketPositionSize": 0.001, "prevMarketPositionSize": 0.002, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }
// Полное закрытие лонга по BTCUSDT, цена: 42 000, объём: 0.001.
{ "id": "id_9b4b19b3d114", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 42000, "type": "Limit", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T12:51:58Z" }
Пример 4: Вход в лонг по рынку → Выход по рынку
// Открытие лонга по BTCUSDT, цена: 40 000, объём: 0.001, тип: Market
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Market", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Выход из лонга по BTCUSDT, цена: 41 000, объём: 0.001, тип: Market
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Market", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }

Submit Ticket