MT5 <---> MT4 [как передать строку данных]

 

Задача: передать информацию из MT5 в MT4 и обратно;

строку или массив(если возможно);

на прямую, без использования файла;

какие самые современные(быстрые,легкие) методы?

на каких DLL и функциях? возможно ли без DLL?


P.S. вся что я нашел по этой теме довольно старое и мало информации 

 
Pavel Kolchin:

Задача: передать информацию из MT5 в MT4 и обратно;

строку или массив(если возможно);

на прямую, без использования файла;

какие самые современные(быстрые,легкие) методы?

на каких DLL и функциях? возможно ли без DLL?


P.S. вся что я нашел по этой теме довольно старое и мало информации 

а посмотреть первоисточник ? https://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx

Interprocess Communications (Windows)
  • msdn.microsoft.com
The Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC). Some forms of IPC facilitate the division of labor among several specialized processes. Other forms of IPC facilitate the...
 
Maxim Kuznetsov:

а посмотреть первоисточник ? https://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx

спасибо, почитаю это

P.S. я с dll не работал никогда, мнеб кто функцию подсказал, яб её изучил, чтобы всё подряд не ковырять, а вдруг я не туда начну копать? а вдруг я пойду не оптимальным путем?

 
Pavel Kolchin:

спасибо, почитаю это

P.S. я с dll не работал никогда, мнеб кто функцию подсказал, яб её изучил, чтобы всё подряд не ковырять, а вдруг я не туда начну копать? а вдруг я пойду не оптимальным путем?

тогда наверное самое простое это взять готовое - https://www.mql5.com/ru/articles/115

Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • 2010.07.01
  • //www.mql5.com/ru/users/investeo">
  • www.mql5.com
Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
 
Maxim Kuznetsov:

тогда наверное самое простое это взять готовое - https://www.mql5.com/ru/articles/115

я так понял это не работает на MT4
 
Pavel Kolchin:
я так понял это не работает на MT4
там ничего специфичного для MT5 вроде как нет - просто переименуй в mq4 и исправь warnings (если они вообще будут) компиляции
 
Maxim Kuznetsov:

тогда наверное самое простое это взять готовое - https://www.mql5.com/ru/articles/115


Каналы - это старье, битовая передача, надо самому все парсить. + Надо делать сервер не на MQL.

Memory Mapping - самое то, если в пределах компа. 

 
Alexey Volchanskiy:

Каналы - это старье, битовая передача, надо самому все парсить. + Надо делать сервер не на MQL.

Memory Mapping - самое то, если в пределах компа. 

по идее да. Но по хорошему придётся дополнять семафорами. А учитывая отсутствие опыта у ТС, готовые pipe лучше :-)

для мелких порций кстати есть ещё и mailslots - почти идеальное решение для обмена MT<->MT

 
Maxim Kuznetsov:

по идее да. Но по хорошему придётся дополнять семафорами. А учитывая отсутствие опыта у ТС, готовые pipe лучше :-)

для мелких порций кстати есть ещё и mailslots - почти идеальное решение для обмена MT<->MT


Так все равно для пайпов нужен внешний сервер, учитывая отсутствие опыта у ТС, он его не напишет. Со слотами не работал, надо глянуть MSDN

 
Вот какая мысль возникла. Если написать TCP клиент и TCP сервер, и оба будут в разных локальных сетях, то TCP клиент не найдет TCP сервер без глобального IP.
Причина обращения: