Скачать MetaTrader 5

MQL5 WaitForSingleObject

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши программы на заказ. Зарабатывай с помощью сервиса Фриланс!
Mikhail Filimonov
5931
Mikhail Filimonov 2015.06.24 00:21 

Добрый день!

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

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

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

Alexander Puzanov
29612
Alexander Puzanov 2015.06.24 00:37  
Через файл в общей папке - см флаг FILE_COMMON 
Mikhail Filimonov
5931
Mikhail Filimonov 2015.06.24 03:26  
Alexander Puzanov:
Через файл в общей папке - см флаг FILE_COMMON 

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

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

Vladimir Pastushak
69053
Vladimir Pastushak 2015.06.24 08:24  
Михаил:

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

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

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

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


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

Alexander Puzanov
29612
Alexander Puzanov 2015.06.24 08:58  
Михаил:

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

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

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

George Merts
3612
George Merts 2015.06.24 09:49  
Alexander Puzanov:

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

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

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

Добрый день!

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

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

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

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

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

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

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

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

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