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
    Какое то нагромождение костылей
      • wrmngr
        14 августа 2020, 19:29
        ANTI_Finsov, писать серьезные боевые алгоритмы на платформе трейдинг вью это уже смешно.
          • wrmngr
            15 августа 2020, 00:14
            ANTI_Finsov, нет. Это только игрушки. Поверьте более опытным товарищам на слово
      • VladMih
        14 августа 2020, 21:06
        ANTI_Finsov, сам ТВ уже костыль, еще и на чужих котировках — для мелких таймов это может быть смертельно.
        Почему не делать всё то же самое в терминале?
        Если он этого не позволяет — подумать о замене.

        Эх, мне бы ваши навыки… Знал бы куда применить.
  • AlgoTradingCC
    14 августа 2020, 22:26

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

  • day0markets.ru
    15 августа 2020, 09:08
    Есть вопрос с безопасностью. Как исключить вариант, что на ваш вебхук сходит кто-то кроме tradingview?
      • day0markets.ru
        15 августа 2020, 18:21
        ANTI_Finsov, ну в целом как вариант, если они действительно выкладывают свои ip и не меняют их постоянно.
        а так схема, конечно, костыльная немного. например, если вебхук не дошел, то что? будут кидать его снова или просто проигнорят? контролировать и логировать это никак не получится, такая своеобразная точка нестабильности системы. в целом, выглядет норм для среднесрока и небольших депошек.
  • luks sluk
    03 февраля 2021, 12:09
    TradingViewScraper kotlin Websockets
    github.com/PerfectDreams/TradingViewScraper

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

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