Я понял, что я не то искал. Время от времени пытаюсь найти API от TradingView и всегда натыкаюсь на то, что есть только для брокеров. А искал-то не то. Данные-данными, данные в другом месте можно взять, а вот UI про графики хороший. Оказывается у них есть такая штука: www.tradingview.com/lightweight-charts/
Есть и более продвинутые у них, но эта вроде сама нетребовательная к скиллам разработчика. Хотя даже эта для меня слишком front-ориентированная, кажется. Но благо есть какие-то либы на гитхабе чтобы с этим можно было взаимодействовать из Python.
В моих розовых мечтах (пока даже не уверен, позволит ли это всё делать эта либа) я это могу заиспользовать для чего-то такого:
— Мой автоматический скринер-алертер, найдя интересный кейс автоматом кидает его в окно график, может сразу в нескольких TF. И я могу сам по своему усмотрению определять логику работы: например, новый тикер вешается в окно, куда был добавлен наиболее давно добавленный график или что-то такое.
— У меня есть простенький UI (пусть даже просто в JupyterNotebook), но он позволяет полностью подстраиваться под мои процессы, а не процессы подстраивать под tool. Ну например, выделил список тикеров и они все «прыгнули» в окна графиков или что-то такое.
Создал дэшбоорд (онлайн) для отображения усредненных результатов торговли с нескольких счетов на фондовом рынке корпоративными и государственными облигациями публично.
https://kimkarus.ru/deshbordy/proizvoditelnost-i-effektivnost-investirovaniya/
Используемые технологии: MetaTrader5 (MQL5), ETL, ClickHouse, DateLens
Просто решил показать, как можно отслеживать торговую активность с разных бирж
Изменения, баг-фиксы и улучшения, которые были внесены в проект за последний месяц.
В данной статье поговорим об использовании циклов. Какие нужны, а какие смогут уронить наш замечательный терминал. Кроме того, поговорим о синтаксическом сахаре из библиотеки LINQ, которая, как не сложно догадаться по динамике этих записей, тоже под запретом. Почему и как?
Один из самых быстрых циклов, которые существуют. Это основная боевая единица, которую нужно использовать.
Данный цикл не создаёт дополнительных методов в памяти и не является потоконебезопасным. Практически любую ситуацию внутри него можно обработать. Также он позволяет ставить внутри себя точки останова.
Бесконечный цикл с условием продолжения.
Также разрешён к использованию. Имеет все плюсы цикла for.
Этот цикл создаёт метод внутри памяти и не даёт контролировать выбор объекта. В случае, если есть какие-то проблемы с перечислением или листом, выбрасывается неконтролируемое исключение.
Данный цикл нельзя использовать в многопоточном окружении при работе с листами.
Продолжаем разбираться со слоями в OsEngine. И впереди у нас три статьи про класс ConnectorCandles.
Смотрим на картинку:
Класс, предоставляющий данные для источников в роботе. Хранит в себе информацию по подключению. Содержит внутри процедуры для переподключения к серверам в случае разрыва соединений и изменении настроек со стороны пользователя.
Находится в проекте вот здесь:
Сегодня рассмотрим историю появления индикатора Sma.
Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.
1. История появления индикатора Sma.
2. Как проводятся расчеты индикатора Sma.
3. Какие сигналы может подавать индикатор Sma?
4. Роботы для OsEngine на индикаторе Sma.
4.1. Стратегия на пересечение цены и линии индикатора Sma.
4.2. Пересечение двух индикаторов Sma.
4.3. Пересечение трех индикаторов Sma.
4.4. Стратегия основанная на индикаторе Sma и Sma со сдвигом.
4.5. Стратегия основанная на пяти индикаторах Sma.
5. Таблица общих результатов.
История возникновения индикатора SMA связана с развитием технического анализа на фондовых рынках.