Проблема раздачи равномерно заданий связана и с очередностью включения агентов в работу. Особенно это очевидно, когда добавляешь новых агентов, после запуска оптимизации.
Я надеюсь, что советники и их сопровождающие файлы будут в светлом будущем закачиваться единожды на удаленный компьютер с агентами, что сэкономит время, и сделает более равномерным распределение вычислительных ресурсов.
Вопрос разработчикам МТ: Когда будут продвижения? Скажите пож-та сроки исправления катастрофических ошибок описанных выше из-за которых оптимизация фактически не работает ....
Boris Egorov: Вопрос разработчикам МТ: Когда будут продвижения? Скажите пож-та сроки исправления катастрофических ошибок описанных выше из-за которых оптимизация фактически не работает ....
Boris Egorov: Вопрос разработчикам МТ: Когда будут продвижения? Скажите пож-та сроки исправления катастрофических ошибок описанных выше из-за которых оптимизация фактически не работает ....
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
но вроде все как то худо бедно заработало после обновлений, хотя и остались простаивающие ядра
остался вопрос неадекватной раздачи заданий вычислительным ядрам:
1. почему выдается разным ядрам сетевого агента разное количество заданий, почему не каждому ядру - одно задание
2. Что будет если я отключу агента которому розданы 58 заданий в данный момент времени как на картинке выше, будут ли они все равно просчитаны или будут забыты и не просчитаны никогда?
volchyonok: Здравствуйте, пытаюсь ускорить тестирование с помощью функции TestorStop() в ОnTiket останавливая отдельное тестирование если эксперт достигает неприемлемых значений. В результате отдельные прогоны идут быстрее других и один из агентов тестирование финиширует первым( где то читал что если агент тестирования простаивает какое то время, то он отключается) - когда все оставшиеся агенты финишируют, первому агенту задания не отправляются. И так один за одним агенты тестирования выбывают, пока не останется один агент - в этом случае о скорости и говорить нечего. Тоесть скорость можно увеличить, но не позволяют технические ошибки реализации распределенных вычислений. Если запустить TestorStop() в OnInit() например для оптимизации 2 параметров один из которых должен быть больше другого при первом прогоне скорость тоже увеличивается, а после агенты тестирования перестают выполнять задания хотя задания отправляются, причем счётчик отправленных заданий увеличивается с большой скоростью, а счетчик решёных агентом заданий стоит. Может кто знает как это обойти, так - тема то интересная, скорость тестирования за счёт откидывания не нужных результатов в 10-ки раз больше чем при обычном тестирование, к тому же обнуляя не нужные результаты в OnTest() можно направлять генетический алгоритм в нужном нам направлении!
Можно долго перечислять все преимущества новой торговой платформы MetaTrader 5 и приводить доводы в пользу того, что она лучше других программ для технического анализа и торговли на финансовых рынках. А можно одним словом прекратить любые споры и поставить жирную точку в подобных дискуссиях. И это слово - тестер торговых стратегий в клиентском...
Разработчики решите уже наконец проблему раздачи заданий .... по принципу "одно ядро - одно задание"
у меня сейчас 10 ядер основного процессора считают так как получили по 40 с гаком заданий а еще 40 сетевых ядер простаивают так как все отсчитали ... можно же задания распределять равномерно .... это же элементарно просто для программирования
Разработчики решите уже наконец проблему раздачи заданий .... по принципу "одно ядро - одно задание"
у меня сейчас 10 ядер основного процессора считают так как получили по 40 с гаком заданий а еще 40 сетевых ядер простаивают так как все отсчитали ... можно же задания распределять равномерно .... это же элементарно просто для программирования
Это не верный подход - нужно не задания по одному давать, а перераспределять мощности, если есть свободные ресурсы, т.е. отменять уже выданные задания и отдавать их на исполнения другим. При этом нужно вести аналитику производительности каждого агента, что б отдать ядру на исполнение нужное число новых заданий.
Проблема раздачи равномерно заданий связана и с очередностью включения агентов в работу. Особенно это очевидно, когда добавляешь новых агентов, после запуска оптимизации.
Я надеюсь, что советники и их сопровождающие файлы будут в светлом будущем закачиваться единожды на удаленный компьютер с агентами, что сэкономит время, и сделает более равномерным распределение вычислительных ресурсов.
Вопрос разработчикам МТ: Когда будут продвижения? Скажите пож-та сроки исправления катастрофических ошибок описанных выше из-за которых оптимизация фактически не работает ....
Вопрос разработчикам МТ: Когда будут продвижения? Скажите пож-та сроки исправления катастрофических ошибок описанных выше из-за которых оптимизация фактически не работает ....
Какие "катастрофические ошибки" вы имеете в виду?
И как это оптимизация не работает?
>Какие "катастрофические ошибки" вы имеете в виду?
>И как это оптимизация не работает
все описано выше и не только мной
1. Не работают по факту сетевые агенты, они просто не запускаются
2. При расчете нового набора очень долго висит и чего то там думает
3. Раздает пакеты задач только одним и тем же ядрам когда есть много других свободных
Результат: оптимизация "работает" в 4 раза дольше чем было раньше ....
Все таки нет ответов на вопросы сверху
но вроде все как то худо бедно заработало после обновлений, хотя и остались простаивающие ядра
остался вопрос неадекватной раздачи заданий вычислительным ядрам:
1. почему выдается разным ядрам сетевого агента разное количество заданий, почему не каждому ядру - одно задание
2. Что будет если я отключу агента которому розданы 58 заданий в данный момент времени как на картинке выше, будут ли они все равно просчитаны или будут забыты и не просчитаны никогда?
Здравствуйте, пытаюсь ускорить тестирование с помощью функции TestorStop() в ОnTiket останавливая отдельное тестирование если эксперт достигает неприемлемых значений. В результате отдельные прогоны идут быстрее других и один из агентов тестирование финиширует первым( где то читал что если агент тестирования простаивает какое то время, то он отключается) - когда все оставшиеся агенты финишируют, первому агенту задания не отправляются. И так один за одним агенты тестирования выбывают, пока не останется один агент - в этом случае о скорости и говорить нечего. Тоесть скорость можно увеличить, но не позволяют технические ошибки реализации распределенных вычислений. Если запустить TestorStop() в OnInit() например для оптимизации 2 параметров один из которых должен быть больше другого при первом прогоне скорость тоже увеличивается, а после агенты тестирования перестают выполнять задания хотя задания отправляются, причем счётчик отправленных заданий увеличивается с большой скоростью, а счетчик решёных агентом заданий стоит. Может кто знает как это обойти, так - тема то интересная, скорость тестирования за счёт откидывания не нужных результатов в 10-ки раз больше чем при обычном тестирование, к тому же обнуляя не нужные результаты в OnTest() можно направлять генетический алгоритм в нужном нам направлении!
Разработчики решите уже наконец проблему раздачи заданий .... по принципу "одно ядро - одно задание"
у меня сейчас 10 ядер основного процессора считают так как получили по 40 с гаком заданий а еще 40 сетевых ядер простаивают так как все отсчитали ... можно же задания распределять равномерно .... это же элементарно просто для программирования
Разработчики решите уже наконец проблему раздачи заданий .... по принципу "одно ядро - одно задание"
у меня сейчас 10 ядер основного процессора считают так как получили по 40 с гаком заданий а еще 40 сетевых ядер простаивают так как все отсчитали ... можно же задания распределять равномерно .... это же элементарно просто для программирования
Это не верный подход - нужно не задания по одному давать, а перераспределять мощности, если есть свободные ресурсы, т.е. отменять уже выданные задания и отдавать их на исполнения другим. При этом нужно вести аналитику производительности каждого агента, что б отдать ядру на исполнение нужное число новых заданий.