Обсуждение статьи "Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)" - страница 2

 
Экспериментальный статус MT5Bridge.mqh означает, что его работоспособность широко не проверялась. Это исследование из разряда Proof Of the Concept. Используйте исходный код для отладки и исправления ошибок.
Один из вариантов применения.
Библиотеки: BestInterval
Библиотеки: BestInterval
  • 2020.08.15
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: BestInterval
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)"

Станислав Короткий, 2020.08.24 10:45

Прилагаю немного измененный заголовочный файл и пример тестового советника. В файл ParticleSwarmEmbed.mqh добавлен класс Settings, вспомогательные функции и шаблонные обработчики событий. Предполагается, что пользователя устраивает реализация по умолчанию. Тогда код эксперта ExprBotPSOEmbed.mq5 значительно упрощается. Достаточно описать свой торговый расчет и передать обработчики в класс PPSO_EventHandlers. Во входных переменных также содержатся коэффициенты настройки динамики PSO (инерция и т.д.), а также отключение индексных файлов.

 

Привет, отличная тема, но, к сожалению, при попытке соединить все части, компилятор все равно выкидывает ошибки:

Похоже, что из-за какого-то обновления это теперь невозможно? Если бы вы могли посмотреть на это, было бы здорово.

 
Tobias Johannes Zimmer #:

Привет, отличная тема, но, к сожалению, при попытке соединить все части, компилятор все равно выкидывает ошибки:

Вектор и ошибка компиляции позиции принадлежат друг другу, так как позиция - это массив размерностей (степеней свободы/входов), который можно было бы вставить в метод calculate, но из-за какого-то обновления это теперь невозможно? И тогда массив positions[] не может быть приведен к positionValue... если бы вы могли посмотреть на это, было бы здорово.

И еще есть вещи, связанные с рабочим функтором, где я понятия не имею, в чем проблема.

Я надеюсь, что есть простой способ исправить это. Если нет, то я полностью пойму, если вы предпочтете этого не делать.

Просто сделайте контекстную замену "vector" на "_vector" в ParticleSwarmParallel.mqh или/и ParticleSwarmEmbed.mqh.

В MQL5 с момента публикации был введен тип vector , что нарушило многие исходные коды, где уже использовался идентификатор vector.

 
Stanislav Korotky #:

Просто сделайте контекстную замену "vector" на "_vector" в ParticleSwarmParallel.mqh или/и ParticleSwarmEmbed.mqh.

В MQL5 с момента публикации появился тип vector , что нарушило многие исходные коды, где уже использовался идентификатор vector.

О, конечно, вектор не должен быть типом... спасибо, это работает.
 
не может быть преобразовано в enum
 
dustovshio #:
невозможно преобразовать в enum

MT4Orders и Virtual являются сторонними библиотеками. Вы должны проверить наличие последних версий на их страницах в кодовой базе.

 
Stanislav Korotky #:

MT4Orders и Virtual являются библиотеками сторонних разработчиков. Вы должны проверить наличие последних версий на их страницах в кодовой базе.

Я скачал последнюю версию MT4Orders, она скомпилировалась, но теперь выдает ошибку после загрузки файлов сета PSO. Для стандартного режима оптимизации ошибки нет. Возможно ли изменить даты для оптимизации на последний бар, а не на последний день?



 
dustovshio #:

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

Если вы спрашиваете об ошибке "неправильные входные параметры", вы можете дважды щелкнуть таблицу оптимизации на проходе, который дает ошибку, и получить журнал одного прохода для подробного описания того, что идет не так. Также вы не предоставили информацию о том, какой советник и с какими настройками вы пытались запустить.

Я уже говорил вам, что ограничение на последний день накладывается самим тестером.