Скачать MetaTrader 5

MQL5 WaitForSingleObject

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Mikhail Filimonov
5931
Mikhail Filimonov  

Добрый день!

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

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

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

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

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

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

Vladimir Pastushak
75764
Vladimir Pastushak  
Михаил:

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

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

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

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


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

Alexander Puzanov
31458
Alexander Puzanov  
Михаил:

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

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

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

George Merts
3979
George Merts  
Alexander Puzanov:

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

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

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

Добрый день!

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

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

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

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

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

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

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

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

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