Pull to refresh

Comments 19

Отличная статья и интересное решение.
Так же, как и вы, парсю TV, правда использую Requests-HTML (pip пакет для Питона). Код глянуть можно здесь. Правда, если бы я реализовывал бы вашу стратегию, я бы парсил цену указанным методом, заносил бы в базу, и уже оттуда извлекал бы данные, чтобы принимать решение.
Думаю, как я и писал в статье цены брать с сервера брокера напрямую. Но в моём случае я сталкиваюсь с тем, что все библиотеки брокеров написаны на C#, а я работаю чисто на Java. Поэтому и приходиться изобретать костыли в виде парсинга цены с сайта. Что сами понимаете не совсем практично.
У моего брокера API пока нет. Но думаю, это решаемо (или брокер созреет, или созрею я).
К сожалению, я пока не настолько богат. Нет, проголосую ногами и уйду к другому брокеру.
А что за брокер? Иностранный что ли?
Да нет, российский. Тинькофф. Вы по моей ссылке не проходили? Там описывалась и завязка и текущее решение (уже неактуальное, но у меня есть планы по его развитию).
Как успехи то? Сколько лет практикуете? Сколько годовых получается?
(ex: используя как вариант интерфейс Atlentis от Алора).

У Алора есть интеграция с TV. Можно прямо с TV торговать у них.
И все эти костыли будут не нужны.
У Алора просто оболочка от TV в которую они свои маркет дату грузят. Автоматизации торговли там никакой нет. Говорю как бывший сотрудник данной организации. Сама оболочка к слово сказать очень голая. Даже нет возможности написания своих скриптов. Графики и два десятка индикаторов. Так, что это не то.
Речь не про терминал Алора, а про TV.
Они дали возможность торговать с сайта TV, используя все его возможности, просто указав свою учетку в Алоре.
tradingview
Любые решения не на официальном api возможны только когда дело не затрагивает деньги (ну или пока эта информация не критична для торговой стратегии), ну или деньги так, поиграться (ну или стратегия с очень очень низкими рисками), иначе в одинь день можно проснуться с нулевым счетом или с долгом брокеру (это если маржиналкой еще увлечься)

P. S. официальный api тоже не панацея, и с ним тоже в случае ошибок никому ничего не предъявить, но все жк значительно меньше вероятность форс мажора
P. P. S все выше это все на собственном опыте проверено, но возможно это просто мне так не пофартило (у меня не ноль был на счёте, а просто убытки, но я прикинул что еще капельку везения и ноль легко можно было получить)
Нестабильность работы: Несмотря на то, что мои алгоритмы работают преимущественно с рыночными заявками (тип заявок, который предполагает 100% исполнение), мои позиции часто удваивались, либо не исполнялись вовсе.

Может быть вы не обрабатываете ответы брокера о результатах размещения заявки? Когда я занимался разработкой автоматизированных средств торговли через IT Invest, используя их SmartCom такая проблема возникала именно в случае игнорирования результата обработки заявки брокером.


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


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


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


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


В общем как показал мой опыт, процесс обмена заявками с брокером следует реализовывать в исчерпывающем виде. Обрабатывая абсолютно все события:


  • Отправка
  • Подтверждение доставки заявки брокеру
  • Отсутствие подтверждение доставки заявки брокеру (запрашивать брокера о состоянии ранее отправленной заявки, чтобы понять знает ли он о ней)
  • Получение информации о сделках
  • Получение информации об изменении размера своего депозита у брокера
Бредовое решение, первая диаграмма смотрится вырвиглазно. Если нужен доступ к Quick из другой программы — то можно использовать вот это QuikSharp — интерфейс Quik Lua полностью в .NET Придется переписать клиентскую часть на Java, если это действительно так нужно и все, кстати как я понял это решение использует и TSLab в последних версиях, так как оно намного лучше старых подходов для Quick.
Есть бесплатный опенсорсный OS.engine на C#, но какая разница на чем писать-то, C# не сложнее Java.
Можно найти в инете старую версию Weath-Lab, вроде четвертая, она имела какой-то интерфейс к Quick и могла сосать из него котировки, но заявки придется писать также в файл .tri, вот здесь на канале Евгений Черных объясняли как все это можно запилить. А можно все просто написать на Qlua для Quick, пишется один раз торговый бот и потом только меняем алгоритм расчета на нужный и все, получается супер-надежно и никакой абонентской платы ну и плюс все российские брокеры дают доступ из Quick.
У меня роботы в Quick на QLua, а оптимизацию и тестирование делаю в Wealth-Lab.
А вот ТSLab мне не подходит так как он не поддерживает тестирование по портфелю инструментов, да проще быстро написать код, чем гонять кубики по экрану.
Если нужен доступ к Quick из другой программы — то можно использовать вот это QuikSharp — интерфейс Quik Lua полностью в .NET П

Коллега прекрасно, что Вы умеете писать роботов на lua (я это тоже умею делать). Но уверяя вас скорость разработки с TV выросла в разы. Кроме того не забывайте моё решение предназначено для людей не программистов, а вы предлагаете людям писать на lua и c#. А если человек захочет сделать мультифреймовую стратегию или стратегию на ренко, да на lua он замучается всё это писать. Цель проекта делать процесс автоматизации максимально простым и понятным даже не для программиста. На счёт Wealt-lab не спорю, сдесь лишь вопрос стабильности связи wealtlab и Quika. Когда я грузил данные из Quika в метасток у меня график не всегда корректно отображался. Так что считаю моё решение стабильние. На счёт написал один раз бота на lua. Это вы его можете написать. А кто-то с программированием совсем не дружит. Почитайте зарубежные форумы люди мечтают о подобном решении. Аргументация ваша не соотносится с тем, что проект ориентирован на людей кто в автоматизации полный ноль.
Можно было использовать Алерты (study). Получив ключ сессии можно к каналу цепануться и слушать их. Правда не весь функционал так можно перехватиться, так как study и strategy на pinescript имеют разный набор фич

статья за 2019 год, в 2021 году появилась опция webhook, можно alert data в виде json послать себе

Sign up to leave a comment.

Articles