2. Научить оптимизатор перераспределять задачи, в случае если освободились остальные агенты, а работа иных агентов по плану завершиться не в ближайшие 5 минут.
Поддерживаю. Как вариант - выдавать задания не пачками, - а по одному. Освободился - получил следующее.
Не надо пока ничего улучшать!
Пусть то что есть сначала работает без ошибок!
Пора наверно приостановить улучшения и навести порядок в уже сделанном.
А что такое навести порядок? На мой взгляд это и есть улучшения/исправления мелких недостатков.
Навести порядок - это сделать так, чтобы все уже задекларированные возможности работали без ошибок во всех возможных режимах и сочетаниях.
Я вот например трое суток не мог запустить тестирование (то есть совсем никак) в режиме "каждый тик на основе" на рублёвом счете, пока не внесли исправление.
Периодически возникают и другие мелкие и не очень проблемы и неточности. Доверие к программе как к точному инструменту для финансовой деятельности подрывается.
Кстати Ваше предложение:
2. Научить оптимизатор перераспределять задачи, в случае если освободились остальные агенты, а работа иных агентов по плану завершиться не в ближайшие 5 минут.
Я бы сформулировал как:
Если свободное ядро может выполнить задачу быстрее чем уже запущенное, до задача должна передаваться ему.
Действительно, когда тестируешь на большом количестве ядер бывает обидно, когда в последнем прогоне цепляется самое медленное ядро, а весь пул тестирования тупо простаивает.
Если свободное ядро может выполнить задачу быстрее чем уже запущенное, до задача должна передаваться ему.
Действительно, когда тестируешь на большом количестве ядер бывает обидно, когда в последнем прогоне цепляется самое медленное ядро, а весь пул тестирования тупо простаивает.
А как у процессора могут быть медленные и быстрые ядра?
А как у процессора могут быть медленные и быстрые ядра?
Ядра распределенной сети облачных вычислений.
Вообще-то их агентами называют, поэтому и удивился.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Описание проблемы:
Столкнулся с тем, что тестер в режиме оптимизации раздаёт задания агентам без учета особенностей параметров перебора, в результате чего нагрузка получается не равномерной с точки зрения самих проходов. Как пример, оптимизируем диапазон времени работы советника - имеем две переменных - дата начала и дата окончания работы советника (входа в рынок), логично, что дата начала должна быть больше даты окончания, иначе результаты не будут иметь смысла, что и было реализовано в коде:
Оптимизатор раздает всем агентам задачи пропорционално по ему известной формуле, в результате чего часть агентов значительно быстрей выполняют свою работу и простаивают.
Предложение по решение проблемы:
1. Научить оптимизатор анализировать не только сами параметры, но и содержимое OnInit(), на предмет подобного кода, как в примере, содержащего "INIT_PARAMETERS_INCORRECT".
2. Научить оптимизатор перераспределять задачи, в случае если освободились остальные агенты, а работа иных агентов по плану завершиться не в ближайшие 5 минут.
Если кому известны способы решения описанной проблемы без изменения MT5, то прошу ими поделиться!