Возможности МТ4 или компа очень ограничены оказывается. Если задать в алгоритме многоуровневые циклы с "тяжелыми" математическими формулами - то компьютер зависает..... - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ihor Herasko:
... стоит тщательно проверить, оптимально ли происходят вычисления. Возможно, проблема не в скорости работы программы, а именно в неоптимальном алгоритме расчета.
Алексей Тарабанов:
ПонравилосьТут можно:
1. Воспользоваться профайлером МТ, хотя он в зародышевом состоянии.
2. Оптимизировать код в VS на С++ проекте - там профайлеры что надо. Перенос MQL -> C++проблем не вызовет.
3. Вынести все в DLL, которую компилировать на Intel Parallel Studio 2016
Это в корне ошибочное утверждение.
Все наши программы с 2000 года эффективно используют многоядерность. В то же время, оптимизатор статегий в MetaTrader 4 однопотоковый по своей архитектуре. Если нужен многопотоковы/сетевой/облачный оптимизатор торговых стратегий, то используйте MetaTrader 5.
...
3. Вынести все в DLL, которую компилировать на Intel Parallel Studio 2016
Зачем?
Для оптимизации скорости, едреныть.
Очень похоже на анекдот:
- Студент, как работает трансформатор?
- Уууууууууууууууууууууууууууууууууууу...
Очень похоже на анекдот:
- Студент, как работает трансформатор?
- Уууууууууууууууууууууууууууууууууууу...
Так и работает :)
...
Вообще, MQ заявляют, что в МТ4 каждый советник работает в своем потоке. Проверить это крайне легко, задача на 5 минут, сейчас тест выложу. Самому стало интересно.
Вот вам тест, у меня 2-х ядерник, наблюдается странный эффект - при увеличении количества запущенных советников и последующем уменьшении до одного время на поток не уменьшается до начального уровня. Вопрос к MQ - вы что, при увеличении нагрузки уменьшаете приоритеты потоков, а при уменьшении не восстанавливаете приоритеты? Советник приаттачен внизу.
Проверьте на многоядерных процах, интересно. Я потом сделаю статистику поудобнее, пока обычный принт.
1. Запустите на одном чарте
2. Потом на втором и так далее
3. Смотрите вывод в закладке Эксперты
4. Выключите все советники, кроме одного. Время такое же, как в начале?
Ну и посмотрите на загрузку ядер.
Код (готовый советник скачайте внизу страницы)
Вот вам тест, у меня 2-х ядерник, наблюдается странный эффект - при увеличении количества запущенных советников и последующем уменьшении до одного время на поток не уменьшается до начального уровня. Вопрос к MQ - вы что, при увеличении нагрузки уменьшаете приоритеты потоков, а при уменьшении не восстанавливаете приоритеты? Советник приаттачен внизу.
Это в корне ошибочное утверждение.
Все наши программы с 2000 года эффективно используют многоядерность. В то же время, оптимизатор статегий в MetaTrader 4 однопотоковый по своей архитектуре. Если нужен многопотоковы/сетевой/облачный оптимизатор торговых стратегий, то используйте MetaTrader 5.