Новая версия платформы MetaTrader 5 build 2190 - страница 3

 

билд 2190, Вин 10 - 64

проблемы с кнопкой тестера стоп-старт

если эксперт завис ( ошибка в коде при закрытии ордера) , то после нажатия красной кнопки "Стоп" - кнопка не становится зеленой "Старт", но тестирование прекратится, последующие нажатия этой кнопки запускают тестирование/останавливают, но вкладка "Настройки" будет всегда неактивной

лечится как всегда перезагрузкой терминала

 
Алексей Тарабанов:

Едрен батон, DLL - библиотека динамической загрузки. Пока какой-нибудь элемент библиотеки не вызовут, она спит. Хочешь, чтобы она, спя, рассылала сообщения? Давай советник, я тебе это организую. 

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

Мне нужно чтобы, как только расчёт закончится, DLL передала сообщение в советник.

 
Koldun Zloy:

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

Мне нужно чтобы, как только расчёт закончится, DLL передала сообщение в советник.

Что то не пойму прикола ))
Вы же хорошо разбираетесь в потоках,
ну так возвращайте любое сообщение через memcpy, после завершения расчёта, перед выходом из функции потока.

 
Roman:

Что то не пойму прикола ))
Вы же хорошо разбираетесь в потоках,
ну так возвращайте любое сообщение через memcpy, после завершения расчёта, перед выходом из функции потока.

memcpy тут вообще не при чём.

Почитайте про системные сообщения Windows.

 
Koldun Zloy:

memcpy тут вообще не при чём.

Почитайте про системные сообщения Windows.

Вам нужна информация о завершении вашего расчёта в отдельном потоке?
Или системные сообщения Windows?
Что то вы переусложняете для себя задачу.

 
Roman:

Вам нужна информация о завершении вашего расчёта в отдельном потоке?
Или системные сообщения Windows?
Что то вы переусложняете для себя задачу.

А как Вы по другому получите эту информацию?

 
Koldun Zloy:

А как Вы по другому получите эту информацию?

У меня тоже бывает такое состояние, когда самую очевидную вещь не могу вкурить, бывает.
Любой Сишной функцией копирования, возвращаем любую информацию, прописанную руками.
После завершения расчёта, в функции потока передаём или число или любую строку с сообщением и т.д.
0 или "Calculation is over" да что угодно, что соответствует вашим требованиям.

 
Roman:

У меня тоже бывает такое состояние, когда самую очевидную вещь не могу вкурить, бывает.
Любой Сишной функцией копирования, возвращаем любую информацию, прописанную руками.
После завершения расчёта, в функции потока передаём или число или любую строку с сообщением и т.д.
0 или "Calculation is over" да что угодно, что соответствует вашим требованиям.

Вы и сейчас не вкурили.

Но это не страшно, вопрос предназначался разработчикам.

 
Koldun Zloy:

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

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

 
Koldun Zloy:

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

Мне нужно чтобы, как только расчёт закончится, DLL передала сообщение в советник.

Стандартная задача по синхронизации потоков. Простой опрос потока на завершение в цикле. 

Коллбеки не реализованы, но они и не нужны.

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