Балансировка нагрузки

 

Всем доброго времени суток!
Хотел спросить, кто-нибудь занимался балансировкой нагрузки на процессоры из под терминала?

Заранее благодарен. 

 

Что имеется в виду?

Можно управлять использованием ядер процессора.

 

Это понятно если использовать свою dll. Но можно-ли это делать в MT4 если в dll ничего не скидывается.

Проблема в следующем. При загрузке "полного боекомплекта индикаторов" какое-то время терминал работает нормально. Загрузка ядер процессоров сбалансирована и приблизительно одинакова. Плоть до локальных пиковых нагрузок. Но в какой-то момент времени вся загрузка смещается на одно ядро. При этом загрузка ядра колеблется в пределах 98-100%, у других в пределах 0-3%. И все начинает жутко тормозить, и ОС тоже. Потом все возвращается в нормальное состояние. И так как на качелях, но с разными интервалам.

Как это прервать без понятия. 

 

А что смущает то? Загрузка одним процессом всё равно будет = 100 / КолВоЯдер

ОС сама распоряжается нагрузкой на каждое физическое/логическое ядро...

Производительность от этих качелей не страдает никак

 
В том-то все и дело что все подвисать начинает
 
Теперь понятно. Где-то обсуждалось. Индикатор и его вычисления работают в GUI потоке. Не распределяются по ядрам. Тяжелые вычисления нужно или оптимизировать, или выносить в другие потоки, работающие асинхронно. Средствами MQL можно вынести вычисления данных индикатора в советник, проблема только передать данные обратно в индикатор. Можно в советнике рисовать линии индикатора графическими линиями. Продвинутые программисты могут написать свою DLL.
 

Да у меня типа все уже есть... (и dll-и и COM-сервера и еще много чего)

Вот уперся в непонятные ограничения... :)) 

Понятно. Никто ничего не знает и конкретно сказать не может.

Благодарю всех, кто потратил время на чтение и ответы. Как говорил герой Никулина: "Будем искать..."

Тема закрыта. 

 
Debugger:

Да у меня типа все уже есть...

Вот уперся в непонятные ограничения... :))

Терминал вообще не паралелит вычисления никак (инфа непосредственно от MQ). Только своя DLL спасет.
 

Программисты ау.... из Метаквот...

подскажите как можно решить вышеозначенную проблему.  

Это один из вариантов. Но при этом все жестко висит...

 

 

 

Подключи второй терминал к тому же счету.

Гы, с такими запросами давно пора шестиядерку покупать или многопроцессор.

 

Дык это... в чем проблема-то? Грузится DLL. И сразу грузится еще раз ;-). HMODULE -> string -> LoadLibrary. 

Внутри нее создаются именованные инстансы "приложения" (CApplication), каждое приложение создает свой поток.

Снаружи торчит интерфейс для помещения в очередь заданий и считывания результатов. 

+ приложение при создании запоминает хэндл окна, в котором "столуется" индикатор и может

в любой момент это окно дернуть, чтобы оно засосало результаты обработки, если они готовы. 

Я так уже давно делаю ;-). 

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