Как сделать сигналы на tradingview

Обновлено: 07.07.2024

Трейдинг через веб-терминалы с каждым годом становится всё популярнее, но у него есть один минус – в онлайн-платформах представлено слишком мало вспомогательных аналитических инструментов. К счастью, эту проблему решает ресурс TradingView, где пользователи выкладывают сотни индикаторов и систем.

Как уже все догадались, сегодня я рассмотрю лучшие индикаторы TradingView, которые могут пригодиться при торговле валютными парами, CFD-контрактами и опционами. Разумеется, данный рейтинг будет отражать лишь моё частное мнение, а оно, как известно, может идти в разрез с взглядами некоторых читателей.

Установка индикаторов на график TradingView

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

Особенные индикаторы TradingView

И первый алгоритм, который мне кажется интересным, называется SuperTrend V1.0 . Фактически, это упрощённая версия канала Дончиана, т.е. он следит за динамикой локальных экстремумов и определяет с их помощью направление тенденции.

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

Ещё один лучший индикатор TradingView, предназначенный для поиска тренда, представлен под названием TrendTraderStrategy . Он выполняет аналогичную функцию, но рассчитывается по иному принципу.

Обратите внимание – если SuperTrend привязан строго к локальным High/Low рынка, то динамика TrendTraderStrategy уже не так дискретна. Мои эксперименты показывают, что при определённых условиях оба индикатора приносят пользу (многое зависит от таймфрейма и выбранного актива).

Следующий интересный инструмент числится в платформе TradingView под именем CM_Pivot Points Daily To Intraday .

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

Если же нужно автоматически найти поддержки/сопротивления старшего порядка, рекомендую пользоваться модулем CM_OldSchool_Projected . На мой взгляд, он является лучшим индикатором TradingView в своём роде, так как позволяет быстро рассчитать потенциальные цели движения на ближайшую неделю, месяц, квартал или год.

Как можно заметить, CMOP строит два уровня – один выше цены открытия недели, а второй ниже, поэтому трейдеру остаётся лишь определиться с направлением сделки (этот вопрос должна решать конкретная торговая стратегия) и поставить на соответствующую планку тейк-профит.

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

Что же касается тестера, то его интерфейс появляется автоматически сразу после установки Open Close Cross Strategy на график.

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

Candlesticks Patterns identified вишенка на торте TradingView

И последний полезный индикатор TradingView из моего списка числился в базе данных под названием Candlesticks Patterns identified .

Подводя итог, хочу ещё раз напомнить о том, что всё вышесказанное – моё личное мнение. Если кому-то перечисленные индикаторы кажутся устаревшими, банальными или просто не подходят для решения определённых задач, их всегда можно заменить альтернативными вариантами, благо на TradingView в общий доступ выложены сотни алгоритмов.

Проблема: На текущий момент наиболее удобным и полноценным программным обеспечением (далее ПО) для автоматизации торговли на российском биржевом рынке является небезызвестный ТСЛАБ.

Несмотря на несомненные плюсы в виде удобного визуального редактора для написания торговых скриптов, который позволяет писать роботов даже без знания языков программирования, есть ряд недостатков, которые делают использование данного ПО для меня крайне не практичным. И думаю не только для меня, учитывая, что средний размер счёта на Мосбирже как правило не превышает 500 тыс.р.

1. Стоимость: Абонентская плата 4500р./мес+аренда виртуального сервера (1000 р./мес.)
Это постоянная издержка ложится очень сильным бременем на финансовый результат моей торговли. Поэтому имея размер счёт в размере 500 тыс.р. и надеясь с него получить хотя бы 20% годовых, с существующими издержками вам нужно зарабатывать порядка 32-35%, чтобы выйти на плановую доходность.

2. Нестабильность работы: Несмотря на то, что мои алгоритмы работают преимущественно с рыночными заявками (тип заявок, который предполагает 100% исполнение), мои позиции часто удваивались, либо не исполнялись вовсе.

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

Архитектура всего проекта с текущим и функционалом и планируемыми доработками представлен на рисунке ниже.


Самым главным звеном в программе несомненно является сайт Tradingview (далее TV). Он как раз и представляет нам удобный функционал для написания своих торговых скриптов за счёт встроенного языка Pine_Script.

Язык к слову сказать не требует специфических знаний и в своей основе похож на язык Easy Language пакета Metastock, а наличие интерактивной справки на русском языке делает написания кода максимально приятным.

Пример стратегии пробитие скользящей средней (буквально в три строчки кода):

Теперь имея удобный интерфейс для написания торговых скриптов, собственно осталось наладить процесс отправки заявок из TV непосредственно в торговую систему (в моём случае это программа Quik), либо напрямую на сервер брокера. Проблема лишь в том, что у TV нет открытого API для реализации данного функционала.

В попытках решить данную проблему первое, что мне пришло в голову это использовать плагин для тестирования WebSelenium и путём поиска XPath локаторов находить нужные нам элементы, которые отвечают за сигналы покупки-продажи.

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


Поэтому пришлось искать другое решение.

Визуально сигналы TV у нас отображается в элементе сanvas. Цвет сигнала при необходимости можно менять (ex: красный-продажа, зелёный-покупка).

Цвета заданные в TV мы задаём в нашем приложении. Само приложение написано на Java, графический интерфейс реализован с помощью библиотеки Swing
Далее в самой программе нам нужно выделить область canvas (либо просто сканируемую область), в которой мы будем искать контрольные цвета.

На рисунке ниже представлен сайт tradingview c тремя выбранными инструментами, по каждому из них задан цвет торгового сигнала. Эти цвета продублированы в мою программу Parse_Signal.


.

После задания области сканирования и задания в настройках типа торгуемого инструмента (к слову сказать настройки программы занимают 5 минут и сохраняются в файл с расширением .txt). Далее нажимаем кнопку "START"и программа начинает работать.

Работает она в двух потоках.

1 первый поток:

Сканирует выделенную область (в данном случае canvas).
Скан делаем классически используя функционал класса Robot:

Далее разбивает полученный скан на массив пискелей:

Ищет в массиве пикселей контрольные цвета торговых сигналов. Поиск осуществляется слева направо. Т.е. именно цвет крайнего правого пикселя является актуальным для программы:


Осуществляет по шаблону запись торговой транзакции (в файл с расширением .tri) в зависимости от найденного цвета. Здесь на самом деле всё просто в торговом терминале Quik есть возможность автоматического считывания транзакций из файла. Нам достаточно их прописать по определённому шаблону. Quik же при появлении новой записи отправляет заявку на сервер брокера. Считывания файла происходит каждые 500 мс. Информация о торговых сигналах опционально можно отправлять либо на почту, либо телефон, либо в торговую систему (три параметра можно выбрать одновременно). 1 поток работает с периодичностью 500 мс.

2 поток программы осуществляет запрос цены торгуемого инструмента посредством парсинга html страницы сайта Финам. Используется плагин JSOUP. Здесь всё просто выгружаю html страницы и осуществляю поиск кода необходимого мне торгуемого инструмента (ex: Si, Sber и т.п.).

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

Код программы выложен в открытом доступе.

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

Читайте также: