Ещё раз о многопоточности - страница 2

 
Renat:

Что такое мультипотоковость в MetaTrader 5:

Вот прям только что нажал на тест, мгновенно получил 5 743 агента/CPU в работу и за 6 минут исполнил 381 468 проходов в оптимизаторе. Каждый проход занимал от 1 до 2 секунд просчета. Если бы я вел тест на своем компьютере с 8 ядрами, то потратил бы вместо 6 минут от 800 до 1600 минут (381468 / 8 = 47683 секунд = 794 минуты).

Причем кроме нажатия на кнопку "Старт" мне больше ничего делать не пришлось. Некий скайнет поднялся, самостоятельно синхронизировал всю нужную историю чартов, распределил задачу по тысячам компов по всему миру и массово отработал их.

Добро пожаловать в реальность...

Ренат, так почему вы думаете, что область применения многопоточных расчётов ограничена вашим тестером? Что, по-вашему, пользователь не имеет права реализовать автооптимизацию непосредственно в своём алгоритме? Он обязательно должен запускать ваш тестер? А если у него там своя нейросеть используется?  Не надо судить о вещах так однобоко.  И при этом ещё обвиняя меня в том, что я ничего не понимаю.  Вы просто видите ситуацию со своей колокольни, а на остальное вам плевать как я понимаю.

 
meat:

Что, по-вашему, пользователь не имеет права реализовать автооптимизацию непосредственно в своём алгоритме? Он обязательно должен запускать ваш тестер? А если у него там своя нейросеть используется?  Не надо судить о вещах так однобоко.

А в чем сейчас проблема это сделать?
 
meat:

Ренат, так почему вы думаете, что область применения многопоточных расчётов ограничена вашим тестером? Что, по-вашему, пользователь не имеет права реализовать автооптимизацию непосредственно в своём алгоритме? Он обязательно должен запускать ваш тестер? А если у него там своя нейросеть используется?  Не надо судить о вещах так однобоко.  И при этом ещё обвиняя меня в том, что я ничего не понимаю.  Вы просто видите ситуацию со своей колокольни, а на остальное вам плевать как я понимаю.

У меня есть 11 лет постоянных раздумий, работы и ответственности об этом языке.

Так что, в детский сад. А если хочется именно мультипотоковость внутри MQL5, то или OpenCL или DLL. Чтобы понять уровень проработанности и этой теме, посмотрите на компиляцию C++ кода прямо из MetaEditor и drag&drop DLL файлов из навигатора в MQL5 код.

 

Когда будет сделана на "MQL5 - нейросеть на GPU", тогда цены этому проекту не будет. На первых начинаниях будет сложно на ,то оно и начинание что бы,  в дальнейшем искать недостатки.

Тем поболее при помощи тестера уже сейчас можно решать задачи любой сложности. 

 
Renat:

У меня есть 11 лет постоянных раздумий, работы и ответственности об этом языке.

Так что, в детский сад. А если хочется именно мультипотоковость внутри MQL5, то или OpenCL или DLL. Чтобы понять уровень проработанности и этой теме, посмотрите на компиляцию C++ кода прямо из MetaEditor и drag&drop DLL файлов из навигатора в MQL5 код.

Выделил ключевую фразу. Вообще-то именно об этом и шла речь с самого начала. Так может стоило сначала внимательно прочитать мои посты, а не хамить и переходить на личности, не разобравшись?  Как-то странно видеть такое грубое поведение человека, представляющее лицо компании... 

 
TheXpert:
А в чем сейчас проблема это сделать?
Речь идёт о многопоточных расчётах.
 
meat:

Выделил ключевую фразу. Вообще-то именно об этом и шла речь с самого начала. Так может стоило сначала внимательно прочитать мои посты, а не хамить и переходить на личности?  Как-то странно видеть такое грубое поведение человека, представляющее лицо компании... 

Вам про OpenCL и DLL ответили сразу в первом же комменте, но Вы продолжили заявлять, что знаете лучше и что разработчики такие бездари, что не могли сделать то и то, лишнего надобавляли и тд.

 
meat:

Что, по-вашему, пользователь не имеет права реализовать автооптимизацию непосредственно в своём алгоритме? Он обязательно должен запускать ваш тестер? А если у него там своя нейросеть используется?  Не надо судить о вещах так однобоко.  И при этом ещё обвиняя меня в том, что я ничего не понимаю.  Вы просто видите ситуацию со своей колокольни, а на остальное вам плевать как я понимаю.

Самопальную автооптимизизацию с тоже можно организовать в виде отдельных скриптов, объединенных через именованные каналы. Но намного проще воспользоваться штатным тестером и прописать в OnTester() собственную фитнес-функцию.
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • 2010.07.01
  • investeo
  • www.mql5.com
Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
 
Renat:

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


И что вы мне ответили? Вы начали рассказывать, какой у вас замечательный терминал и тестер, работающие в неколько потоков. А я ни словом не заикался о вашем терминале. Речь шла совсем о другом: о многопоточности в коде MQL. Когда алгоритм можно разбить на несколько частей, и каждая выполняется параллельно.  А вы, даже не вникнув в суть, начинаете грубить.  Ладно, как я вижу с таким подходом ни о каком конструктиве говорить не приходится, так что нет смысла продолжать обсуждение.

 
meat:

И что вы мне ответили? Вы начали рассказывать, какой у вас замечательный терминал и тестер, работающие в неколько потоков. А я ни словом не заикался о вашем терминале. Речь шла совсем о другом: о многопоточности в коде MQL. Когда алгоритм можно разбить на несколько частей, и каждая выполняется параллельно.  А вы, даже не вникнув в суть, начинаете грубить.  Ладно, как я вижу с таким подходом ни о каком конструктиве говорить не приходится, так что нет смысла продолжать обсуждение.

Рекомендую перечитать Ваше исходное сообщение, обратить внимание на все свои эпитеты, потом пойти ниже к ответам.

Ответы звучали спокойно, попутно ставились мягкие вопросы "Чтобы параллелить расчеты чего-либо, надо для начала осознать", давались ответы и объяснялось текущее положение вещей "что реально нужно параллелить".

Но вместо быстрого обучения Вы выдали еще больше бреда и навешали на нас собак. В результате получили жесткий ответ.

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