Как использовать processsthreadsapi.mqh в MQL5 / MQL4?

 

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

 
jaffer wilson:

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

Многопоточность не поддерживается в языках MQL.

 
Реter Konow :

Многопоточность не поддерживается в языках MQL.

Тогда какая польза от этого: processsthreadsapi.mqh?

 
jaffer wilson:

Тогда какая польза от этого: processsthreadsapi.mqh?

А где Вы это взяли? Можно посмотреть? Не могу найти в поиске.

 
Реter Konow:

А где Вы это взяли? Можно посмотреть? Не могу найти в поиске.

MQL5--> Include ---> WinAPI
 
jaffer wilson:

Нашел ответ от MQ:

MetaQuotes 2019.07.24 17:31     RU

Из DLL нельзя вызывать MQL функции.

Но можно запускать множественные потоки через вызовы DLL, чтобы они независимо от MQL5 работали в своем окружении.

Например, из MQL подготовили данные, разместили где-то или передали в DLL библиотеку, которая уже в свою очередь во множестве потоков отработает задачу и вернет результат через дополнительную функцию.

//---------------------------------

Вот ссылка на тему, где обсуждаются проблемы многопоточности и MQL:

https://www.mql5.com/ru/forum/318593

Переведите материал.

MetaQuotes
  • www.mql5.com
Профиль трейдера
 
jaffer wilson:

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

В теории да. Если один из потоков загружен вычислениями и нужно срочно закрыть сделку в обход всех вычислений - то да. Но, работать нужно через DLL, а из DLL нет обратного вызова. Поэтому, если основной поток советника на МТ тормозит, второй поток в DLL не поможет, потому что из DLL не придет комманда на закрытие, пока из основного потока не будет запрос, а его не будет, пока поток не разгрузится.

 
Реter Konow :

Нашел ответ от MQ:

MetaQuotes   2019.07.24 17:31           RU

Из DLL нельзя вызывать MQL функции.

Но можно запускать множественные потоки через вызовы DLL, чтобы они независимо от MQL5 работали в своем окружении.

Например, из MQL подготовили данные, разместили где-то или передали в DLL библиотеку, которая уже в свою очередь во множестве потоков отработает задачу и вернет результат через дополнительную функцию.

//---------------------------------

Вот ссылка на тему, где обсуждаются проблемы многопоточности и MQL:

https://www.mql5.com/ru/forum/318593

Переведите материал.

Спасибо тебе за это. Но библиотека предоставлена MetaQuotes. Я не создал это. Я не создал ни одной DLL для этого. Я просто пытаюсь использовать программирование Windows на MQL5 / MQL4.

 
jaffer wilson:

Спасибо тебе за это. Но библиотека предоставлена MetaQuotes. Я не создал это. Я не создал ни одной DLL для этого. Я просто пытаюсь использовать программирование Windows на MQL5 / MQL4.

Это не наша библиотека, а прототипы Windows API функций для тех, кто хочет использовать DLL вызовы.

Мы специально выложили описания стандартных Windows функций, чтобы упростить жизнь тем, кому нужны Windows API.

 
Renat Fatkhullin:

Это не наша библиотека, а прототипы Windows API функций для тех, кто хочет использовать DLL вызовы.

Мы специально выложили описания стандартных Windows функций, чтобы упростить жизнь тем, кому нужны Windows API.

Было бы лучше, если бы вы удалили прототипы функций, которые нельзя использовать в MQL.

А то этот вопрос поднимается не первый раз.

 
Koldun Zloy:

Было бы лучше, если бы вы удалили прототипы функций, которые нельзя использовать в MQL.

А то этот вопрос поднимается не первый раз.

Это не является проблемой.

Мы сделали большую работу по упрощению жизни разработчиков и этого достаточно в вопросе поддержки WinAPI.

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