Комментарии 19
Так же, как и вы, парсю TV, правда использую Requests-HTML (pip пакет для Питона). Код глянуть можно здесь. Правда, если бы я реализовывал бы вашу стратегию, я бы парсил цену указанным методом, заносил бы в базу, и уже оттуда извлекал бы данные, чтобы принимать решение.
Исходный код github.com/almirus/broker_tcs
(ex: используя как вариант интерфейс Atlentis от Алора).
У Алора есть интеграция с TV. Можно прямо с TV торговать у них.
И все эти костыли будут не нужны.
Они дали возможность торговать с сайта TV, используя все его возможности, просто указав свою учетку в Алоре.
tradingview
P. S. официальный api тоже не панацея, и с ним тоже в случае ошибок никому ничего не предъявить, но все жк значительно меньше вероятность форс мажора
P. P. S все выше это все на собственном опыте проверено, но возможно это просто мне так не пофартило (у меня не ноль был на счёте, а просто убытки, но я прикинул что еще капельку везения и ноль легко можно было получить)
Нестабильность работы: Несмотря на то, что мои алгоритмы работают преимущественно с рыночными заявками (тип заявок, который предполагает 100% исполнение), мои позиции часто удваивались, либо не исполнялись вовсе.
Может быть вы не обрабатываете ответы брокера о результатах размещения заявки? Когда я занимался разработкой автоматизированных средств торговли через IT Invest, используя их SmartCom такая проблема возникала именно в случае игнорирования результата обработки заявки брокером.
Брокер может отклонить заявку по многим причинам. Несоответствие цены заявки текущему диапазону цен торгов, остановка торгов, заявка не дошла до брокера вовсе.
Задваивание позиции как правило происходит если торговый алгоритм повторно срабатывает в момент, когда первая заявка на открытие позиции еще не исполнилась (не дошла до брокера), а торговый сигнал по прежнему обнаруживается алгоритмом.
Бывали кстати и случаи, когда брокер не присылал подтверждение получения заявки, как будь то она до него не дошла (возможно произошел сетевой сбой), а потом все же исполнял ее.
В случае сильного движения на рынке кстати, исполнение даже рыночной заявки может значительно задерживаться и это тоже может влиять на дублирование позиции.
В общем как показал мой опыт, процесс обмена заявками с брокером следует реализовывать в исчерпывающем виде. Обрабатывая абсолютно все события:
- Отправка
- Подтверждение доставки заявки брокеру
- Отсутствие подтверждение доставки заявки брокеру (запрашивать брокера о состоянии ранее отправленной заявки, чтобы понять знает ли он о ней)
- Получение информации о сделках
- Получение информации об изменении размера своего депозита у брокера
У Финама есть API к ММВБ.
Есть бесплатный опенсорсный 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. Это вы его можете написать. А кто-то с программированием совсем не дружит. Почитайте зарубежные форумы люди мечтают о подобном решении. Аргументация ваша не соотносится с тем, что проект ориентирован на людей кто в автоматизации полный ноль.
статья за 2019 год, в 2021 году появилась опция webhook, можно alert data в виде json послать себе
Как и зачем я писал парсер для сайта Tradingview. Автоматизация торговли своими руками