Poll
Poll личный блог
02 апреля 2025, 13:55

Графический анализ результатов оптимизации алгоритма.

Перефразируя классика, график всегда лучше тысячи цифр.

Осенжин добавили в свой функционал очень полезную опцию – графическое представление результатов оптимизации. Возможно к этому их побудил мой недавний пост-просьба.)) Для меня это очень удобный инструмент и уже извлек из него пользу. На мой взгляд, лучше всего при оптимизации менять один параметр (на рисунке изменяется параметр от 0 до 35), тогда можно точнее понять влияние этого параметра на систему. Тестирование на нескольких коротких периодах поможет понять влияние на систему других факторов, например изменение волатильности.
Графический анализ результатов оптимизации алгоритма.

При переключении вкладок результатов оптимизации можно видеть распределение других параметров, например здесь просадка
Графический анализ результатов оптимизации алгоритма.

В общем, респект за этот инструмент!

Воспользуюсь моментом и предложу еще одну полезную фишку на подумать.

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


 

21 Комментарий
  • Михаил Шардин
    02 апреля 2025, 16:04
    А чем лучше tradingview например?
      • Просто трейдер
        03 апреля 2025, 10:41
        Poll, поверьте — ТВ это недосягаемая высота. Там и данные качественнее (они берут с источника) и результаты точнее.
  • akumidv
    03 апреля 2025, 05:32
    Вообще можно строить 3Д графики по параметрам — выбирая 2 оси изменяемые параметры, а 3я ось оцениваемое значение. Тогда можно исследовать любое многомерное пространство гиперпараметров. Выглядит вот так.




    Это реализовано в бактестере для ТрейдинвВью chromewebstore.google.com/detail/tradingview-assistant/pfbdfjaonemppanfnlmliafffahlohfg
    • Просто трейдер
      03 апреля 2025, 10:42
      akumidv, 

      TSLab — smart-lab.ru/company/tslab/blog/657848.php
      StockSharp — smart-lab.ru/company/stocksharp/blog/1025546.php
      MT5 — smart-lab.ru/company/metaquotes/blog/581981.php

      Бесплатные программы, используй здесь и сейчас.

      Но ОсЭнджин это отдельный вид культа. Там из трейдеров пытаются делать программистов )) Поэтому тем кто неповезло с этой штукой поработать будут рады даже такому, о чем пишет автор. Сам был таким, плевался и убежал с итоге из-за тонн ошибок.
        • Просто трейдер
          03 апреля 2025, 16:01
          Poll, восприму это как шутку. Все программы выше умеют оперировать числом минимум на порядок выше. Минимум.

          Вы можете скачать эти программы. Это не поделка с ГитХаба, которую нужно компилировать, и читать инструкцию чтобы запустить. В 2025 году нормальные программы имеют и нормальный установщик и интуитивный интерфейс.
            • Просто трейдер
              03 апреля 2025, 16:44
              Poll, вы не хотите тратить время на настоящие программы, но готовы выкидывать в утиль время на программу энтузиаста? Это, конечно, ценная инвестиция своего времени )

              Походите по другим форумам, чатам, блогам. Эту программу никто не упоминает. Она никому неизвестная. Про нее знает только этот полу-мертвый раздел сайта.

              Впрочем, дело ваше. Хотите попытаться исправить нерабочую программу — дерзайте. Не ясно только зачем вам это всё
    • Просто трейдер
      03 апреля 2025, 16:46
      Poll, всем известно, что ИИ подстраивается под ответы. И не умеет пока делать анализ по наиболее релевантному.

      Вот ответ от Грока

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

      1. NinjaTrader
        • Почему подходит: NinjaTrader — одна из самых популярных платформ для разработки торговых стратегий на C#. Она предлагает мощный встроенный тестер стратегий (Strategy Analyzer), который позволяет проводить бэктестинг на исторических данных с большим количеством итераций. Поддерживает оптимизацию параметров через генетические алгоритмы, что ускоряет процесс тестирования.
        • Преимущества: Высокая производительность, доступ к историческим данным через подключение к брокерам, возможность писать сложные алгоритмы на C#.
        • Недостатки: Требует определённого времени на освоение, бесплатная версия ограничена в функционале (например, для реальной торговли нужен платный ключ).
        • Итерации: Подходит для большого количества итераций благодаря многопоточности и оптимизации.
      2. Quantower
        • Почему подходит: Quantower — современная торгово-аналитическая платформа с поддержкой C# для создания пользовательских стратегий и индикаторов. Она позволяет тестировать алгоритмы на исторических данных и поддерживает подключение к различным рынкам (фондовый, криптовалютный).
        • Преимущества: Гибкость в настройке, поддержка многопоточности, возможность интеграции с API брокеров.
        • Недостатки: Инструменты бэктестинга менее развиты по сравнению с NinjaTrader, может потребоваться дополнительная разработка для массового тестирования.
        • Итерации: Хорошо справляется с большим количеством итераций при правильной реализации кода.
      3. TradeStation (с использованием EasyLanguage и адаптации под C#)
        • Почему подходит: Хотя TradeStation изначально использует EasyLanguage, можно интегрировать C# через внешние библиотеки или API. Платформа известна своим мощным движком для бэктестинга и оптимизации стратегий.
        • Преимущества: Высокая скорость обработки данных, поддержка больших объёмов исторических данных.
        • Недостатки: Полная интеграция с C# требует дополнительных усилий, так как платформа ориентирована на свой язык.
        • Итерации: Отлично подходит для массового тестирования благодаря встроенным инструментам оптимизации.
      4. cTrader (cAlgo)
        • Почему подходит: cTrader — это платформа для торговли на Forex и CFD, которая использует C# для создания торговых роботов и индикаторов через cAlgo. Она имеет встроенный тестер стратегий с поддержкой исторических данных.
        • Преимущества: Простота написания кода на C#, хорошая производительность, интеграция с брокерами.
        • Недостатки: Тестер стратегий менее гибкий, чем у NinjaTrader, и может быть ограничен для очень сложных итераций.
        • Итерации: Подходит для среднего количества итераций, но может потребовать оптимизации кода для больших объёмов.
      5. Собственная разработка на C# с использованием библиотек
        • Почему подходит: Если ни одна из готовых платформ не удовлетворяет требованиям, можно создать собственное решение на C#, используя библиотеки вроде TA-Lib (технический анализ), Math.NET (математические вычисления) или Akka.NET (для параллельных вычислений). Это даёт полный контроль над процессом тестирования.
        • Преимущества: Максимальная гибкость, возможность оптимизировать под конкретные задачи, поддержка многопоточности и параллельных вычислений.
        • Недостатки: Требует значительных затрат времени на разработку и доступ к качественным историческим данным.
        • Итерации: Идеально для большого количества итераций, если реализовать многопоточность и эффективное управление памятью.

      Рекомендации по выбору:

      • Для готового решения: NinjaTrader — лучший выбор благодаря мощному тестеру и оптимизации для C#. Подходит для тестирования тысяч итераций с минимальными доработками.
      • Для гибкости и скорости: Quantower или собственная разработка на C# с использованием многопоточности (например, через Task Parallel Library или Parallel.For).
      • Для простоты: cTrader, если задачи не слишком сложные и объём итераций умеренный.

      Советы по оптимизации для большого количества итераций:

      • Используйте многопоточность (например, Parallel.For в C#) для параллельного тестирования.
      • Оптимизируйте работу с памятью, избегая лишних аллокаций (например, заранее задавайте размер массивов).
      • Применяйте генетические алгоритмы для сокращения числа тестируемых комбинаций.
      • Убедитесь, что исторические данные загружаются эффективно (например, в формате CSV или базы данных SQLite).

      -----

      Ни ваш результат ни мой результат не отражает объективность. Пока это не подвластно для ИИ.

        • Просто трейдер
          04 апреля 2025, 14:54
          Poll, вы или заинтересованное лицо в продвижении вашей программы или вы очень сильно попали.


          В первом случае я вам ничего не смогу доказать априори.

          Во втором случае вы явно не хотите видеть реальность. Вам трое человек написали про ТВ. Я даже привел ссылки на другие программы. А вы продолжаете себя успокаивать ответами из ИИ, который отвечаем то, что от него хотят услышать. С ИИ вы работать не можете, раз не умеете правильно задавать ему вопросы, чтобы он вам выдавал то что нужно, а не то что вас успокоит.

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

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

          Дело ваше, повторюсь. Хотите свою личную жизнь тратить на ничто — это ваше инвесторское право. Ваша жизнь, ваше время, ваша ответственность.

            • Просто трейдер
              04 апреля 2025, 16:45
              Poll, зря вы используете ИИ для описания к программам. Область микроскопическая. Вы путаете трейдинг с алготрейдингом. Вам ИИ выдает нерелеватное в итоге.

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

              В других программам — оптимизация по тикерам — есть и у MT5, и у StockSharp, и у TSLab. Это я делал сам персонально. Я не знаю с чего вы взяли что у вас нет выбора. Предположу, что спросили у ИИ. Вы не умеете его готовить (задавать правильно вопросы).
                • Просто трейдер
                  04 апреля 2025, 18:28
                  Poll, «Сейчас мы выяснили, что в ТВ такого нет» давайте так, прекращайте свои манипуляции. Не «мы», а только Ваша упертость. Я и сейчас знаю что в ТВ это возможно.

                  Что касается других программ:

                  www.mql5.com/ru/book/automation/tester/tester_multicurrency_sync

                  doc.stocksharp.ru/topics/designer/optimization/portfolio_optimization.html

                  Для ТСЛаб стало лень искать, документация у них не очень. Но и там есть.

                  Удачи вам. Она вам пригодится, раз у вас так плохо не только с ИИ, но и с поисковиком.

                • Joni2
                  05 апреля 2025, 11:43
                  Poll, NinjaTrader — имеет такую возможность. Прогонял таким образом тысячи акций)
    • Дмитрий Овчинников
      04 апреля 2025, 22:36
      Poll, 
      MetaTrader 4/5 (MT4/MT5)
      MetaTrader — популярная платформа для трейдинга, которая поддерживает бэктестинг торговых стратегий. Однако стандартный функционал позволяет тестировать только одну торговую пару за раз в одном экземпляре тестера.
      Это неверное утверждение. Можно тестировать сколь угодно много символов в один прогон тестера. 

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

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