Большое спасибо за то, что поделились этой информацией и нашли время, чтобы объяснить ее в очень приятной и читабельной манере. Превосходно.
С уважением,
Антонио
Спасибо за публикацию, в очередной раз очень уникальный подход. Мне очень интересно понять и внедрить эту оценку. Я пришел с такими информативными объяснениями, это удовольствие читать и значительно улучшает мое понимание. Ценю ваше время, потраченное на создание этого
С уважением, Нил
Спасибо за публикацию, в очередной раз очень уникальный подход. Мне очень интересно понять и внедрить эту оценку. Я пришел с такими информативными объяснениями, это удовольствие читать и значительно улучшает мое понимание. Ценю ваше время, потраченное на создание этого
С уважением, Нил
Спасибо, Нил, есть так много людей, которые помогают за кулисами, как Рашид и другие модераторы контента, которые делают все это возможным, мы не могли бы поблагодарить всех. Я рад, что мы добавили пользу, это всегда является целью. На самом деле, это единственная цель.
Method Trained() has returned true at that point.
Может ли это быть как-то связано с тем, что я не в торговых часах?
UPDATE: Скорее всего, это проблема с историческими данными. Я работаю в режиме "реальных тиков". Пробую бэктест на данных за один месяц, все работает. Посмотрю, смогу ли я добавить код, который не позволит неопределенным данным проскользнуть незамеченными. Я вижу, что там есть некоторые проверки на неопределенные m[0] и d[0], но, возможно, нужно больше. Проверю завтра.
Method Trained() has returned true at that point.
Может ли это быть как-то связано с тем, что я не в торговых часах?
UPDATE: Скорее всего, это проблема с историческими данными. Я работаю в режиме "реальных тиков". Пробую бэктест на данных за один месяц, все работает. Посмотрю, смогу ли я добавить код, который не позволит неопределенным данным проскользнуть незамеченными. Я вижу, что там есть некоторые проверки на неопределенные m[0] и d[0], но, возможно, нужно больше. Проверю завтра.
Мое наблюдение с бэктестом "каждый тик" было решено путем явного экспорта файлов данных истории тиков и баров из списка символов и сохранения их по пути к файлу, на который будет ссылаться тестер.
Файлы должны охватывать диапазон дней, для которых выполняются тесты. Это может быть удобно для случая, когда период прошлого неоднократно используется для улучшения стратегии.
По умолчанию тестер загружает эти данные из сети при каждом запуске теста, и, очевидно, иногда это ненадежно. Хранить эти данные локально, кажется, работает лучше.
Обычно при первой попытке тестера ссылаться на них локально есть некоторые пути к файлам акробатика, пока не придет к знать правильный путь,
для иллюстрации в моем случае Windows путь "C:\Users\<имя пользователя>\Appdata\Roaming\MetaQuotes\Terminal\Common\Files".
Этот пост предоставил подсказки: https://www.mql5.com/en/forum/367098#comment_21816898
![Where to locate files for Strategy tester to find them Where to locate files for Strategy tester to find them](https://c.mql5.com/36/83/where-to-locate-files-for-strategy.jpg)
- 2021.04.12
- Anthony Eric Gillon Dawson
- www.mql5.com
Method Trained() has returned true at that point.
Может ли это быть как-то связано с тем, что я не в торговых часах?
UPDATE: Скорее всего, это проблема с историческими данными. Я работаю в режиме "реальных тиков". Пробую бэктест на данных за один месяц, все работает. Посмотрю, смогу ли я добавить код, который не позволит неопределенным данным проскользнуть незамеченными. Я вижу, что там есть некоторые проверки на неопределенные m[0] и d[0], но, возможно, нужно больше. Проверю завтра.
Приходилось искать компромисс между простотой изложения и исправлением всех замеченных мною ошибок. Если бы я пошел на последнее, то код мог бы быть обязательно более сложным и не таким простым для понимания, как сейчас. Поэтому я решил сохранить простоту изложения с расчетом на то, что вы сможете быстро расширить его.
Ваше решение звучит очень многообещающе, как оно продвигается?
Мое наблюдение о бэктесте "каждый тик" было устранено путем явного экспорта файлов данных истории тиков и баров из списка Symbols и сохранения их по пути к файлу, на который будет ссылаться тестер.
Файлы должны охватывать диапазон дней, за которые проводятся тесты. Это может быть удобно для случая, когда период прошлого неоднократно используется для улучшения стратегии.
По умолчанию тестер загружает эти данные из сети при каждом запуске теста, и, очевидно, иногда это ненадежно. Хранить эти данные локально, кажется, работает лучше.
Обычно при первой попытке тестера ссылаться на них локально есть некоторые пути к файлам акробатика, пока не придет к знать правильный путь,
для иллюстрации в моем случае Windows путь "C:\Users\<имя пользователя>\Appdata\Roaming\MetaQuotes\Terminal\Common\Files".
Этот пост предоставил подсказки: https://www.mql5.com/en/forum/367098#comment_21816898
Спасибо, что поделились ссылкой. Я найду время, чтобы просмотреть ее.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Создание самооптимизирующихся советников на MQL5:
Создавайте советников, которые адаптируются к любому рынку.
Разработка торгового бота, способного адаптироваться к текущим рыночным условиям, является ключом к стабильным алгоритмическим торговым стратегиям. Наша цель — выйти за рамки создания узкоспециализированных ботов, ограниченных несколькими символами. Мы намерены разрабатывать системы, способные обучаться и адаптироваться к любому торговому символу. В этой статье мы уделим основное внимание использованию MQL5 для разработки ботов, которые могут самостоятельно оптимизироваться под любую торговую среду.
Вопреки некоторым представлениям, MQL5 идеально подходит для этой задачи. Его API предоставляет обширные матричные и векторные функции, позволяющие создавать компактные модели машинного обучения. В этом введении особое внимание уделяется использованию MQL5 для создания самооптимизирующихся ботов. Объектно-ориентированное программирование сокращает повторы кода и повышает адаптивность к различным временным рамкам и рыночным условиям.
Выбор матричных и векторных возможностей MQL5 имеет значительные преимущества по сравнению с такими альтернативами, как ONNX и Python. Использование модели ONNX требует отдельных экземпляров модели для каждого торгового символа и новых моделей для любых незначительных изменений параметров, таких как корректировки временных рамок. Напротив, MQL5 обеспечивает адаптивность без необходимости управления многочисленными моделями для различных условий.
Автор: Gamuchirai Zororo Ndawana