Распараллеливание вычислений МТ4

 

Тема старая, но, может быть есть какие-то новые наработки. МТ4 не может грузить все процессоры из-за чего многоядерность бессмысленна при оптимизации советников. Точнее, можно запустить столько МТ4 сколько у вас нитей процессора, но при 10 ядрах это утомительно, а при 18 - просто тяжело. Нет информации, может быть есть какая-то прога или что-то, что параллелит вычисления при оптимизации роботов в МТ4?

Заранее всем спасибо.

 

  • Либо разбить Оптимизационную задачу на несколько подзадач для каждого терминала MT4.
  • Либо при наличии исходников за час (при должной сноровке минимальное изменении исходного кода) сделать советник кроссплатформенным и оптимизировать в многоядерном MT5.

 
Установил Win-10 x64 и работа пошла много быстрее, чем на win-7 x32. Похоже, стали использоваться все ядра процессора. Сейчас как раз выясняю, в чем дело
 
STARIJ:
Установил Win-10 x64 и работа пошла много быстрее, чем на win-7 x32. Похоже, стали использоваться все ядра процессора. Сейчас как раз выясняю, в чем дело
Я на другой оси и не работал. Не грузятся ядра. Для этого МТ4 или ось должна распределять вычисления. МТ4 не умеет, а Win10 не понимает.
 
Luchezar Shalomaev:

Тема старая, но, может быть есть какие-то новые наработки. МТ4 не может грузить все процессоры из-за чего многоядерность бессмысленна при оптимизации советников. Точнее, можно запустить столько МТ4 сколько у вас нитей процессора, но при 10 ядрах это утомительно, а при 18 - просто тяжело. Нет информации, может быть есть какая-то прога или что-то, что параллелит вычисления при оптимизации роботов в МТ4?

Заранее всем спасибо.


Для MT4 попробуйте отключить Hyper-Threading и на реальные ядра сделайте по терминалу, разбейте задачу на части и будет всё хорошо - я бью по валютным парам часто - так удобней.

 
Aleksey Vyazmikin:

Для MT4 попробуйте отключить Hyper-Threading и на реальные ядра сделайте по терминалу, разбейте задачу на части и будет всё хорошо - я бью по валютным парам часто - так удобней.

Спасибо, с отключением  hyper threading - это идея. Терминалов-то по числу ядер я сделал, но, вот по числу ниток все никак не собирался с силами.
 
Luchezar Shalomaev:
Спасибо, с отключением  hyper threading - это идея. Терминалов-то по числу ядер я сделал, но, вот по числу ниток все никак не собирался с силами.

Это не моя идея, а подсмотренная, поэтому не знаю какой будет результат - сам я пользуюсь AMD, где все ядра реальные, поэтому отпишитесь, меняется ли производительность в сторону увеличения при таком подходе, если не сложно.

 
Aleksey Vyazmikin:

Это не моя идея, а подсмотренная, поэтому не знаю какой будет результат - сам я пользуюсь AMD, где все ядра реальные, поэтому отпишитесь, меняется ли производительность в сторону увеличения при таком подходе, если не сложно.

Хорошо. Если удастся отключить, отпишусь.
 
Luchezar Shalomaev:
Хорошо. Если удастся отключить, отпишусь.

Спасибо. Обычно в биосе отключалось...

 
Aleksey Vyazmikin:

Спасибо. Обычно в биосе отключалось...

Да, я знаю. Пишут, что не во всех. У меня до вечера стоит прогон робота, как закончит, попробую.
 
Aleksey Vyazmikin:

Спасибо. Обычно в биосе отключалось...


Отключил, при загрузке программой loop.vbs - загрузка 100% при 18 запущенных процессах. При включенном Hyper Threading нужно было запускать 36 процессов. Чуть позже еще проверю на 18 терминалах. По идее, раз на 18 процессах грузит ядра на 100%, значит и терминалы будут так же грузить.

Причина обращения: