MQL5 WaitForSingleObject

 

Добрый день!

Есть необходимость передать из одного советника в одном терминале значение DOUBLE в другой

советник в другом терминале. Чтобы советник второго терминала ждал это значение.

Кто-нибудь реализовывал подобное? 

 
Через файл в общей папке - см флаг FILE_COMMON 
 
Alexander Puzanov:
Через файл в общей папке - см флаг FILE_COMMON 

Как передать - не проблема, проблема, чтобы второй советник во втором терминале ЖДАЛ этой передачи.

Что-то вроде WaitForSingleObject

 
Михаил:

Как передать - не проблема, проблема, чтобы второй советник во втором терминале ЖДАЛ этой передачи.

Что-то вроде WaitForSingleObject

Читайте файл в общей папке, файл должен быть общий, 

файл пустой ничего не делаем, файл имеет запись выполнить то то и то...


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

 
Михаил:

Как передать - не проблема, проблема, чтобы второй советник во втором терминале ЖДАЛ этой передачи.

Дак это одна и та же проблема - чтобы он начал ждать, ему надо передать соотв сигнал из 1го терминала. Если без DLL - проверять по таймеру OnTimer обновление файла как Владимир описал. Я делал синхронизацию объектов на графике (индикатор) в 2х терминалах - без тормозов работает с 1 сек интервалом (меньше не пробовал) и в MT5 и в MT4

Кста, если бы MQ по аналогии с файлами сделали глобальные переменные и/или события OnChartEvent с флагом COMMON - это былаб уже не бабушка :)

 
Alexander Puzanov:

Дак это одна и та же проблема - чтобы он начал ждать, ему надо передать соотв сигнал из 1го терминала. Если без DLL - проверять по таймеру OnTimer обновление файла как Владимир описал. Я делал синхронизацию объектов на графике (индикатор) в 2х терминалах - без тормозов работает с 1 сек интервалом (меньше не пробовал) и в MT5 и в MT4

Кста, если бы MQ по аналогии с файлами сделали глобальные переменные и/или события OnChartEvent с флагом COMMON - это былаб уже не бабушка :)

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

Добрый день!

Есть необходимость передать из одного советника в одном терминале значение DOUBLE в другой

советник в другом терминале. Чтобы советник второго терминала ждал это значение.

Кто-нибудь реализовывал подобное? 

Смотрите пример: Многопоточное программирование на примере сборщика котировок UnitedExchangeQuotes

Пока не будет реализована база данных, только через общие файлы.

 
Named Pipes - если создавать пайп как синхронный двусторонний, то код одного не будет выполнятся, пока не прийдет сообщение от другого
 
artemiusgreat:
Named Pipes - если создавать пайп как синхронный двусторонний, то код одного не будет выполнятся, пока не прийдет сообщение от другого
Тоже вариант.
 

Что-то я не совсем понимаю, Вас ребята.

Какой таймер? Никто не знает как работает функция WaitForSingleObject?

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