ANTI_Finsov
ANTI_Finsov личный блог
14 августа 2020, 12:08

Организация алгоритмической торговли портфелем из стратегий с использованием вебхуков. Часть 2.

Всем добрый день!

Я уже в своё время писал о том, что на Tradingview (далее TV) наконец-то появился адекватный способ полноценной автоматизации торговли без применения костыльных решений.

Например, раньше TV предоставлял возможность отправлять сигналы только на почту.

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

Либо второй вариант, сканирования выделенной области экрана на наличие в нём заданного цвета сигнала покупка (зелёный), продажа (красный). А о каком открытом API речи даже и не шло.

Очевидно, что у данных решений были определённые недостатки, но они позволяли так или иначе автоматизировать торговлю. И если вы торгуете максимум 1-2 инструментами вышеописанного функционала может быть вполне достаточно, но в случае желания работать с портфелем из стратегий эти решения не совсем подходят.

Но благо TV дал нам наконец функционал, используя который мы можем наконец построить портфель из нескольких стратегий.  

Речь идёт о возможности получения сигнала через вебхуки (WebHook).

Defenitions:

Вебхук — это механизм отправки уведомлений при наступлении в системе события, на которое подписано клиентское приложение. Под событием понимается изменение состояния системы.

Например, событиями является: торговая система в TV сформировала сигнал на продажу.  Самое уведомление будет содержать информацию о наименование стратегии и типе сигнала (покупка, продажа…).

Вид уведомления можно задать либо в JSON формате, либо просто в виде текста:

{

 «nameTs»:«Акции APPLE»,

 «operation»:«sell»

 }

Клиентское приложение, которое подписано на вебхуки, получает данное уведомление и обрабатывает его в соответствии со своей логикой. В простейшем случае по стратегии c наименование “Акции APPLE ” совершается сделка по продаже в торговом терминале.

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

Стоить отметить, что на Tradingview можно писать не только линейные стратегии типа купить-продать-закрыть позиции, но также и стратегии с управлением капитала. Ну например реализовать тот же мартингейл или пирамидинг это не проблема.  Для этого просто потребуется использовать в уведомлении к вебхукам набор предопределённых плейсхолдеров.

Плейсхолдеры — это переменные, которыми можно заменить в тексте 

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

 {«nameTs»:" Акции APPLE ",

«operation»:"{{strategy.order.action}},

«position»:"{{strategy.market_position_size}}"}

{{strategy.order.action}} — текущая состояние стратегии (покупка-продажа)

{{strategy.market_position_size}} — количество открытых лотов стратегии на текущий момент.

 В целом схема выглядит следующим образом:

 Организация алгоритмической торговли портфелем из стратегий с использованием вебхуков. Часть 2.



13 Комментариев
  • Андрей К
    14 августа 2020, 15:00
    прикольное решение =)
  • wrmngr
    14 августа 2020, 19:12
    Какое то нагромождение костылей
  • AlgoTradingCC
    14 августа 2020, 22:26

    Очень интересно, продолжайте пожалуйста!
    П.С. К сожалению, лайкнуть не смогу, не хватает рейтинга

  • day0markets.ru
    15 августа 2020, 09:08
    Есть вопрос с безопасностью. Как исключить вариант, что на ваш вебхук сходит кто-то кроме tradingview?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн