Михаил Шардин
Михаил Шардин личный блог
26 августа 2025, 04:52

Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

В мире алгоритмической торговли доминируют крупные фонды с их колоссальными ресурсами. Но что, если мы, частные инвесторы и разработчики, можем создать собственный мощный и доступный инструмент? Что, если больше не придётся зависеть от проприетарных платформ или писать с нуля сложную инфраструктуру для тестирования каждой новой идеи?

Сегодня у нас есть Python и такие мощные библиотеки, как Backtrader. Однако голый фреймворк — это лишь половина дела. Чтобы он стал по‑настоящему народным инструментом, ему нужна удобная обвязка: готовая структура проекта, автоматический импорт стратегий, наглядные отчёты, тепловые карты для оптимизации и бесшовное подключение к API брокеров — не только российских, но надо начать с Мосбиржи.

Мы стремимся сделать инструмент таким же удобным, как TradingView. Простота в использовании и доступность всех функций для пользователей без глубокой технической экспертизы — мне кажется вот идеал. Чтобы каждый, кто заинтересован в алгоритмической торговле, мог без усилий внедрить свою стратегию, протестировать её и получить результаты, не проводя часы и дни за настройкой системы.

Эта статья — не просто описание проекта, а призыв к действию. Я предлагаю объединить усилия и создать открытый стандарт для алготрейдинга на базе open source Backtrader, заточенный под реалии российского рынка.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской биржеhttps://github.com/empenoso/backtrader-quickstart-template

Главная задача — построить открытый шаблон, который позволит частному инвестору, даже с небольшими навыками в программировании, сосредоточиться на главном — на разработке и тестировании стратегий, а не на борьбе с инфраструктурой. Мы создаём систему для марафона, а не для спринта: для классических стратегий с горизонтом в часы и дни, которая будет работать автономно и не требовать ежедневного внимания.

Почему Backtrader, а не другая библиотека?

Выбор в пользу Backtrader был сделан не случайно. Прежде чем остановиться на этой библиотеке изучил несколько популярных open‑source решений, каждое из которых имеет свои сильные стороны, но не соответствовало главной цели — создать простой и гибкий инструмент, который будет удобен для частных инвесторов на Московской бирже.

С одной стороны, существуют комплексные платформы, такие как OsEngine. Это мощное решение на C#, предлагающее готовый функционал «из коробки»: от графического интерфейса до подключения к различным брокерам. OsEngine представляет собой готовую экосистему, в которую интегрируются торговые роботы. Для тех, кто ищет законченный продукт и готов работать в его рамках, это отличный выбор. Однако для нашей цели — создания гибкого и легко кастомизируемого шаблона на Python — его архитектура оказалась менее подходящей, так как мы стремимся к максимальной простоте и модульности, свойственной конструкторам.

На другом полюсе — узкоспециализированные инструменты. Freqtrade — необычайно популярен в мире криптотрейдинга. Он обладает огромным сообществом и богатым функционалом, но весь этот функционал «заточен» под цифровые активы. Для фондового рынка и тем более для Московской биржи потребуются серьёзные доработки.

Есть и проекты, выросшие из легендарного Zipline от Quantopian, например, Ziplime. Сам движок Zipline по‑прежнему силён в бэктестинге, но после закрытия Quantopian все стало сложно.

Отдельно стоит упомянуть Nautilus Trader — это современный высокопроизводительный фреймворк, который часто называют «тяжёлой артиллерией» для HFT. Он невероятно быстр, поддерживает асинхронную архитектуру и ориентирован на работу с миллионами тиков в секунду. Но для большинства частных инвесторов такой уровень скорее избыточен. Для долгосрочных стратегий с горизонтом в часы и дни он выглядит как перегруженный инструмент.

На фоне этих решений Backtrader выделяется своей философией. Это не готовая платформа с жёсткими рамками, а библиотека‑конструктор. Она даёт базовые «кубики», из которых можно собрать именно ту систему, которая нужна.

У неё есть три решающих преимущества: большое сообщество, качественная документация (и даже на русском, неофициальная, сделанная одним из пользователей) и проверенные интеграции с API российских брокеров.

Именно поэтому Backtrader кажется идеальной основой для «народного» шаблона: лёгкого, гибкого и понятного даже тем, кто делает первые шаги в алгоритмической торговле.

Open source

Все компоненты нашего фреймворка — библиотека Backtrader и предлагаемый шаблон — распространяются под лицензией Open Source. Это означает не просто бесплатный доступ к коду, но и возможность совместно развивать и улучшать проект.

В мире open source качественные инструменты создаются коллективными усилиями и становятся доступны каждому, устраняя барьеры проприетарных решений. Наш «народный шаблон Backtrader» — часть движения, которое делает мощные инструменты алгоритмической торговли доступными без значительных финансовых затрат.

Архитектура нашего шаблона: что «под капотом»?

В основе шаблона лежат три принципа: модульность, наглядность результатов и готовность к реальной торговле. Давайте заглянем «под капот» и посмотрим, как это устроено.

1. Максимальная модульность: одна стратегия — один файл.
Избавляемся от сложной структуры и запутанных зависимостей. Каждая ваша торговая идея — это отдельный Python‑файл в папке strategies. Внутри этого файла вы описываете всё, что касается именно этой стратегии: логику входа и выхода, список тикеров для теста, размер комиссии брокера, начальный капитал и, что самое важное, параметры для будущей оптимизации. Больше не нужно искать настройки по всему проекту. Система автоматически подхватывает все стратегии из этой папки, а в главном файле вы просто указываете, какую из них хотите запустить сегодня.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

2. Два режима работы: «тест» и «оптимизация».
В основном файле проекта заложен простой переключатель. Хотите быстро проверить гипотезу на исторических данных? Включаете режим тестирования. Нужно подобрать лучшие параметры для вашей стратегии? Переключаетесь в режим оптимизации. Это позволяет сосредоточиться на задаче, не меняя код самой стратегии. Данные для тестов хранятся в отдельной папке data, а в настройках запуска вы лишь указываете нужный временной интервал, например, с 01.01.2022 по 31.12.2024.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

3. Информативные отчёты и визуализация.
Поэтому по итогам каждого бэктеста фреймворк генерирует подробный текстовый отчёт в папку reports. В нём собраны ключевые метрики: чистая прибыль, годовая доходность в сравнении с «купил и держи», максимальная просадка, профит-фактор и коэффициент Сортино.

— ОТЧЕТ ПО БЭКТЕСТУ СТРАТЕГИИ: SmaCrossStrategy ---
Бумаги в тесте: ['SBER', 'VTBR', 'GAZP', 'LKOH', 'NVTK', 'YDEX', 'T']
Параметры: {'fast_ma': 20, 'slow_ma': 50, 'alloc_percent_per_ticker': 0.9, 'min_size': 1, 'rebal_weekday': None, 'log_on_connect': True}
Период тестирования: с 01.01.2018 по 12.08.2025
— РЕЗУЛЬТАТЫ ---
Итоговая прибыль/убыток: 252 713.12 [50.54%]
Доходность (годовых): 5.44%
Результат 'Купил и держал': 205 648.56 [41.13%]
Максимальная просадка: 67 124.98 [13.42%]
Всего сделок: 128
Процент прибыльных сделок: 41.41% (53 из 128)
Фактор прибыли: 2.13
Коэффициент Сортино: 1.08
--------------------------------------------------



Для режима оптимизации сознательно ограничились двумя параметрами. Почему? Это позволяет визуализировать результаты в виде тепловой карты. Глядя на неё, вы сразу видите, какие комбинации параметров дают наибольший профит‑фактор, и можете выявить зоны переоптимизации, где стратегия становится неустойчивой.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

4. Бесшовный переход к автоторговле.
Тестирование — это лишь первый шаг. Шаблон изначально спроектирован с возможностью лёгкого подключения к реальному рынку. В него заложена основа для интеграции с API.

В России есть несколько брокеров с открытыми API:







Брокер



Документация



Тинькофф (T-Invest)



https://developer.tbank.ru/invest/intro/intro



Алор



https://alor.dev/docs/



Финам



https://tradeapi.finam.ru/

Для Backtrader есть интеграции с API российских брокеров.

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

Как вы можете помочь?

Я сделал первую рабочую версию шаблона, которую можно найти на GitHub. Это основа, скелет будущего шаблона, но чтобы он оброс «мясом» и стал по‑настоящему удобным и «народным», ему нужна помощь сообщества. И здесь я обращаюсь к вам.

Одна из первых трудностей, с которой я столкнулся, — это визуализация результатов. Стандартная функция cerebro.plot() отлично справляется с одной ценной бумагой, но при тестировании портфеля из десятка акций график превращается в нечитаемую кашу, где сигналы и сделки сливаются в сплошную линию. Приблизить и рассмотреть детали невозможно. В идеале, нужно научить систему сохранять графики для каждого тикера в отдельный файл с высоким разрешением, чтобы можно было спокойно и детально изучать каждую сделку.

Мне удалось сохранить график в таком читаемом виде только за счёт махинаций с поворотом экрана на 90° через программу управления монитором. Смартлаб сжал этот файл, вот оригинал.



Сделки только на первом графике показаны

Сделки только на первом графике показаны

Но технические задачи — это лишь часть дела.Я буду невероятно благодарен за любую конструктивную критику. Возможно, вы видите архитектуру иначе? Знаете, как сделать отчёты ещё информативнее или добавить новые метрики? Можете предложить более изящный способ управления стратегиями? Любые идеи приветствуются.

Да, я знаю о существовании такого популярного комплекса, как QUIK. Я уважаю его возможности, но сознательно выбрал путь Python. Гибкость, открытость и возможность запустить торгового робота даже на крошечном Raspberry Pi, который будет автономно работать месяцами — вот те преимущества, которые, на мой взгляд, перевешивают.

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

Заключение

Главная цель этого проекта — создать не просто очередную библиотеку или набор скриптов, а универсальный инструмент для алгоритмической торговли, который будет доступен каждому. Мы строим открытый шаблон на Python, чтобы частные инвесторы могли сосредоточиться на разработке стратегий и анализе идей, а не на бесконечной настройке инфраструктуры. Народный Backtrader — это шаг к формированию сообщества, где знания и опыт становятся общим ресурсом. Вместе мы можем превратить этот проект в удобный, гибкий и по‑настоящему народный стандарт для алгоритмической торговли на Московской бирже.

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

26 августа 2025

72 Комментария
  • Rostislav Kudryashov
    26 августа 2025, 06:27
    В книге «Deep Learning for Time Series Forecasting in Python»
    приводятся данные, что в прогнозировании биржевых цен нейросети работают хуже статистических методов. Причем более поздние и сложные алгортимы хуже самой простой MLP — многослойного персептрона.

    Мои опыты на Python
    sourestdeeds.github.io/pdf/Deep Learning with Python.pdf
    «Deep Learning with Python 2Ed» Fransois Chollet
    с этим вполне согласуются.
    Обучение нейросети по истории биржевых цен не дало полезных результатов.
    А вот прогнозирование температуры по часовой истории погоды немецкого города Ены (Jena) оказалось лучше базового прогноза на 10%.
    Базовый прогноз состоит в том, что в 75% случаев, температура в конце часа отличается от начала не более 0.1 градуса.
  • SergeyJu
    26 августа 2025, 07:23
    Для тепловой карты может потребоваться свободный выбор функционала. Кроме доходности, навскидку, сортино.
    Тема управления набором систем даже не затронута.
  • Михаил
    26 августа 2025, 08:10
    Думаю не взлетит. Видно, что вы не программист. Чтобы тащить проект с открытым кодом нужны линтеры, типизация и настроенный CI с проверками. pip странно использовать на современных проектах
      • Михаил
        26 августа 2025, 12:29
        Михаил Шардин, без проверок это часто скатывается в говнокод. Тут на самом деле вопрос про целевую аудиторию. Люди которые и так умеют писать и так напишут под себя со своими особенностями и ваше решение их не устроит. Кто чего-то накликивает в коробочных решениях, вряд ли будет питон осваивать
        • Juri
          27 августа 2025, 11:27
          Михаил, Вы упомянули лишь две крайности, а между ними ещё много кто есть. Например, человек имеет представление о программировании (этому чуть ли не в школе учат), но не может / хочет заниматься инфраструктурой, а его торговый алгоритм сложно / не возможно реализовать в коробочном продукте.
      • Доктор
        26 августа 2025, 16:25
        Михаил Шардин, розничный инвестор это человек с депошкой 100-300к в основном с автоследованием.
        Это тул для гиков,, коих единицы. Надо чётче рисовать портрет своего пользователя.
  • Juri
    26 августа 2025, 09:34
    А по моему, идея отличная! Желаю успеха! 
  • Juri
    26 августа 2025, 09:45
    А через QUIK ваш шаблон сможет торговать?
     
      • Prophetic
        26 августа 2025, 11:41
        Михаил Шардин, Не забудьте упомянуть, что эта библиотека «честно слизана» с коннектора QUIKSharp.
          • Prophetic
            26 августа 2025, 13:59
            Михаил Шардин, Более главным является соблюдение лицензии Apache 2.0. Настоятельно рекомендую ознакомиться.
              • Prophetic
                26 августа 2025, 14:56
                Михаил Шардин, С Backtrader тоже никак не связаны?
            • Beach Bunny
              26 августа 2025, 15:30
              Prophetic, у Backtrader лицензия GPL3.0 а на Apache 
                • Beach Bunny
                  26 августа 2025, 16:08
                  Михаил Шардин, в main.py
                  на мой взгляд, не совсем корректные параметры
                     cerebro = bt.Cerebro(
                          stdstats=False, 
                          optreturn=False if MODE == 'OPTIMIZATION' else True,
                          runonce=False,  # КЛЮЧЕВОЙ ПАРАМЕТР: отключаем синхронизацию данных
                          preload=False,  # НЕ предзагружаем все данные в память
                          oldsync=False,   # НЕ используем старый механизм синхронизации
                          exactbars=-1    # ДОБАВИТЬ: позволяет разную длину данных
                      )
                  
                  Работать будет, очень медленно, особенно тестирование.
                  Документацию читайте и проверяйте!
        • Beach Bunny
          26 августа 2025, 15:28
          Prophetic, ну Python часть ниоткуда не слизана, а написана автором, намного через попу, но самостоятельно, а про то что остальная чсать из другого проекта, так там так и написано
          • Prophetic
            26 августа 2025, 16:18
            Beach Bunny, Да, согласен. Требования лицензии соблюдены (не сразу увидел в самом начале ссылку на QUIKSharp).
  • Антон Б
    26 августа 2025, 11:43

    Добрый день Михаил.
    А Walk-Forward тестирование реализовано?

    Дело в том что на примере sma Walk-Forward покажет что лучшие на прошлом периоде почти всегда хуже 0 на следующем.

    есть бектетсы.
    Этим страдает кстати и мета трейдер — пере оптимизируя параметры.

    Он есть в OSA — вы можете взять ту-же sma стратегию там и пробекстесить WF  методом.

    Вообще без WF оптимизация не имеет практического смысла 99%

    • GOLD
      26 августа 2025, 23:44
      Антон Б, метод WF действует на малолетних алгашей, разноцветных инфоцыган и продавцов роботов как перекись водорода для микробов)))



      от этого метода у них тускнеет взгляд и пропадает румянец на щеках... короче… валит микробов наповал))

      оно и понятно… метод окунает их головой в навоз, лишая иллюзий, подписчиков и денег… кому ж такое понравится?)))
      • Антон Б
        27 августа 2025, 08:33
        GOLD, мои боты проходят WF тесты).
        и некоторые! боты заказчиков проходят.
        но тут — «ты сам обманываться рад» — уходит много времени объяснить что такое переоптимизация.
        и что чем больше индикаторов тем хуже.
        и что должна быть какая-то неэффективность рыночная на входе в разработку.
        и что это ошибка выжившего — на примере дельфинов.

        так что да.
        от переоптимизации спасает.
        и от иллюзий.

        но зато дает достаточно качественную картину.

        кстати те кто пишет роботов для клиентов и не используют WF зарабатывают больше на разработке.
        это вопрос совести против денег.
  • Maxim Abrosimov
    26 августа 2025, 13:32
    а в чем проблема генерировать картинки высокого разрешения?
    я себе такие вот генерирую под каждую стратению
      • Maxim Abrosimov
        27 августа 2025, 13:06
        Михаил Шардин, визуализация matplotlib, backtrader еще не подключал! пока занимаюсь описанием паттернов для поиска сигналов! потом буду засовывать в backtrader или в backtest. хотя и на обще картинке если построить все сигналы за год или 5 — видно что происходит! надо еще риски прикрутить и правила выхода, трейлстопы может тоже! в общем есть чем заниматься)
  • amberfoxman
    26 августа 2025, 14:27
    уважаю ваши усилия, пару раз ваши скрипты помогали
    но конкретно этот проект — думается, из серии «больному не поможет, здоровому не нужно»
      • Антон Б
        27 августа 2025, 08:40

        Михаил Шардин, очень хороший задел.
        но в какой-то момент понимаешь что нужна надежность — типизация прибитая в компилятор.
        и переходишь на rust \ c# .
        а если еще и скорость то rust.

        кстати у вас используется тип float  в данных — это видно по cvs файлам.
        а нужен decimal.
        или ЦЕЛОЧИСЛЕННЫЙ int64\int128

        docs.python.org/3/library/decimal.html

        потому что с ошибками округления бороться это трешь.
        и брокер на такую цену с ошибкой округления вернет ОШИБКУ.
        особенно плохо если это будет стоп… он же в долях от цены берется.

        пока бектесты это мелочь.

        а потом вы говорите в боевой переводить — а там он эти сделки будет откидывать брокер.
        с неправильной ценой.

        • Juri
          27 августа 2025, 11:35
          Антон Б, можно подумать, что тип  decimal избавляет от ошибок округления.
          • Антон Б
            27 августа 2025, 11:43

            Juri, избавляет. цены в decimal.
             и лоты тоже — в своем потомке от децимал, так как торгуют лотами.
            и округления цен и лотов везде ловятся в момент конвертации в децимал.
            а не пропускаются.

            часто вижу код который в реальности брокер \ биржа отбросит заявку так как округление не то.

            причем не все заявки а некоторые — где float сработало неожиданно оставив 0.000000002 к лоту) или к цене.

            можно конечно при генерации заявки все это делать и проще, но тогда план-факт по лотам\ценам не совпадает.

  • Synthetic
    26 августа 2025, 15:09
    Главная задача — построить открытый шаблон, который позволит частному инвестору, даже с небольшими навыками в программировании, сосредоточиться на главном — на разработке и тестировании стратегий, а не на борьбе с инфраструктурой.
      
    Это шаблон, который десятилетиями вбивают в голову трейдерам разнообразные инфоцыгане. На самом деле он глубоко ошибочен. Попробуйте так сделать самолет. Он не полетит.Сначала надо изучить аэродинамику, и понять, почему самолеты вообще летают. После этого Вы сможете сделать самолет, который хоть и с трудом, но оторвется от земли. После этого можно  его  тестировать и оптимизировать.
    Теоретическая база трейдинга ничуть не меньше аэродинамики. И требует определенных усилий для своего усвоения. Существенная разница в том, что самолет, сделанный без знания основ точно не полетит. А стратегия разработанная методом случайного тыка может заработать. И даже много заработать. Случайно. Нассим Талеб даже книжку про это написал. «Одураченные случайностью» называется.
      • Антон Б
        27 августа 2025, 08:42
        Михаил Шардин, сделать летающий самолет — любительский.
        или вот на квадриках что-то поднимающее человека.
        ГОРАДО ПРОЩЕ чем рабочую стратегию.
        и ДЕШЕВЛЕ.

        Вот пройти потом лицензию с уже летающим прототипом — да это много бумажной волокиты.
  • Алекс П
    26 августа 2025, 15:11
    зачем сохранять график, когда можно использовать визуализацию вроде apache superset?
      • Алекс П
        26 августа 2025, 19:43
        Михаил Шардин, нужно покопаться, какая библиотека хорошо подходит для графиков акций. Plotly для этого точно используется.
  • Beach Bunny
    26 августа 2025, 15:41
    Тебе надо новую рисовалку графиков подключить, с блек-джеком и шл**ми — с нормальным zoom, маштабированием и прочим.
    Библиотек которые рисуют свечные графики под Python сейчас много, выбираешь и делаешь.
    Там работы всего то на 2-4недели ! 
    • Synthetic
      26 августа 2025, 18:05
      Beach Bunny, 
      Вот умеете Вы все усложнять...
      Получаешь данные (realtime), делаешь инсерт в скуль и имеешь картинку (с масштабированием, зумом и т.п.)  в браузере:


      А потом 2-4 недели попиваешь пивко… ;)
      PS: Но я свечи ненавижу. Только тики. Поэтому вот так:




      • Beach Bunny
        26 августа 2025, 18:03
        Synthetic, и хде индикаторы, хде сделки ?
        Зум готовой статичной-картинки, он нам им даром не нужон.
        Нужно чтобы отдельный участок можно было отмаштабировать и картинку подвигать, типа как в TradingView на графиках.
        А это можете оставить себе.
        • Synthetic
          26 августа 2025, 18:30
          Beach Bunny, 
          Индикаторов нет, они исключительно для лохов.
          Это реал-тайм график. Период обновления указан в верхнем правом углу — 1с. Можно и 0,1с поставить, но мне это не нужно. А сделок нет специально, а то слюной подавитесь… :)



          • Антон Б
            27 августа 2025, 08:58

            Synthetic, а сделки где? есть возможность из коробки показать сделки.

            не только голый график.
            и индикаторы для лохов — ну такое себе.
            а доверительный интервал 5% это тоже для лохов к примеру?
            а линии показывающие страйки опционов… там где опцины выходят в деньги\уходят из денег — это тоже для лохов?
            вся математика для дохов?
            и опционная доска для лохов?

            не обязательно индикаторы это бред вида macd в луне)

          • Скромный комментатор
            28 августа 2025, 19:50
            Synthetic, о, графана!
      • Beach Bunny
        26 августа 2025, 18:07
        Synthetic, а еще нужно вот такой вот анализ результативности github.com/ranaroussi/quantstats  (желательно чуть получше)
        HTML tearsheet 
        • Synthetic
          26 августа 2025, 18:33
          Beach Bunny, 
          а еще нужно вот такой вот анализ результативности

          Я стремлюсь к стабильной доходности 10% в день. Поверьте, когда Вы этого достигнете, все эти графики Вам нах не будут нужны.
            • Synthetic
              27 августа 2025, 08:11
              Михаил Шардин, 

              Здесь много говорят о том, что плечи убивают депозит. Я вот так не считаю. Разумные плечи (а мосбиржа других и не дает) весьма полезны.
              Гораздо вреднее пресловутое реинвестирование. Чудес не бывает. На бирже высокая прибыль равноценна высокому риску. Поэтому прибыль надо выводить и реинвестировать туда, где это будет оптимально, обязательно предварительно хорошо подумав.
              А помечтать конечно не вредно…
            • Антон Б
              27 августа 2025, 09:09
              Михаил Шардин, перепись тех кто реально кодит под алго устроил просто.
              спасибо!
      • Beach Bunny
        26 августа 2025, 18:10
        Synthetic, ужасная кардиограмма, срочно вызывайте реанимобиль с бригадой
  • Turbo Pascal
    26 августа 2025, 21:01

    Питон питоном, но я бы предпочел расчетную часть писать фундаментально, на Java.

    Делал так: на lua в Quik только маленький модуль двусторонней связи, который сразу перебрасывает данные в endpoint, а там уже Java во всей красе обрабатывает и укладывает данные а postgres, и потом работает с ними. И обратно команды на сделки кидает в Lua. В теории туда же можно натравить питон для анализа и каких то решений. Но я питон не люблю.

    Визуально морда — на react, тащит данные через то же джавовкое бэк-приложение по rest.

    Но потом что-то всё забросил, скучно стало. Надо бы поднять архив, ещё покопаться.

    • Synthetic
      27 августа 2025, 08:06
      Turbo Pascal, 
      Делал так: на lua в Quik только маленький модуль двусторонней связи, который сразу перебрасывает данные в endpoint

      Quik был сделан в те времена, когда ядро биржи работало на MS SQL SERVER. Брокерский сервер естественно тоже работал на MS SQL SERVER. Протокол квиковский был рассчитан на обмен между SQL серверами. Поэтому терминал Quik Весь пропитан идеологией SQL. Поэтому есть возможность, по крайней мере теоретическая, используя локальный MS SQL сервер, получить у себя что-то вроде локального дубля брокерского сервера (ессно read only).
      Это можно сделать вообще без квика с использованием «Модуля экспорта биржевой информации.» Но можно попытаться и с квиком, который заносит в SQL всю необходимую информацию по odbc. При этом обеспечивая синхронизацию с брокерским сервером, обрабатывая разрывы связи и т.п. Читать из SQL может кто и что и как угодно. А заявки можно посылать и через dll, если конечно у Вас не ХФТ. С MS SQL сервером работает очень стабильно. Включил и забыл. Пробовал с другими — не работает вообще...
      Все это к тому, что можно не тратить особо усилия на добывание данных из Quik. Но это для тех. кто с SQL на ты.
      • Андрей К
        27 августа 2025, 00:53

        Synthetic, вроде как на ms sql они начали строить срочный рынок )

        а другие сектора были на других движках, более модных в нулевых

        • Synthetic
          27 августа 2025, 07:37
          Андрей К, 

          Ну, для меня в то время других рынков, кроме срочного, как бы и не существовало.Скучные они были какие-то.
  • Replikant_mih
    27 августа 2025, 02:29
    LLM и вайбкодинг при разработке проекта используете? Щас сильно меньше порог входа стал в эти (соорудить что-то своё) вещи стал.
    • Андрей К
      27 августа 2025, 10:02
      Replikant_mih, 
       вайбкодинг 

      прочитал что это такое

      я сейчас веб управление и мониторинг делал. Вот 1 в 1 вайбкодинг )

      • Replikant_mih
        27 августа 2025, 11:54

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

         

        Ну и я тут вкладываю использование специальных IDE по типу Cursor. Чтобы не просто ChatGPT по запросу код писал, а чтоб система могла за рычажки дергать, сама смотреть ошибки, запускать команды и т.д.

  • broker25
    01 сентября 2025, 17:11
    А зачем??? Сложность реализации в изменении и уточнении позиции. С этим BT не поможет. Индикаторы там написаны как-то сложно, дольше времени потришь на изучение и исправление. Чатгпт сделает любой индикатор и внедрить его в код будет на порядок проще, чем с BT, у которого куча собственных тараканов. Ну разве что вы собираетесь торговать рыночными заявками, но это же аут полный. В чем смысл?
  • Роман Захаров
    01 сентября 2025, 17:59
    С точки зрения визуализации посмотри в сторону grafana.com/ — туда можно сливать сырые данные и там уже строить графики в динамике.
  • Антон Станкевич
    02 сентября 2025, 15:22
    Инициатива с шаблоном хорошая. Сам смотрел в сторону backtrader и так руки не дошли разобраться. В общем клонировал репозиторий, буду изучать.
    А насчёт визуализации можно посмотреть в строну plotly: pypi.org/project/backtrader-plotly/ Библиотека позволяет строить интерактивные графики, что можно попробовать использовать для анализа стратегий.
  • Константин Комаров
    05 сентября 2025, 08:08
    Проблема алгоритмов в проскальзывании и нудно ещё учитывать объемы в моменте, а так же крайне не эффективны утренние и вечерние сессии. В итоге если алгоритм научился учитывать объемы, то есть более простые и эффективные алгоритмы.

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

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