секунды по DDE и протокол обмена клиента и сервера MT4

 
Добрый день.
Вопросы, в первую очередь, к разработчикам.

Можно ли каким-либо образом при получении данных от терминала MetaTrader4 по DDE обмену получать время сервера с точностью большей, чем до минут? При получении данных от нескольких терминалов MetaTrader4 (с разных счетов/ДЦ) по DDE обмену каким образом различать, от какого терминала пришли данные?

Расскажите подробнее о протоколе общения клиентской и серверной части MetaTrader4 по протоколу TCP/IP (или подскажите где искать). Какие данные отправляет терминал на сервер, что получает в ответ? Как происходит шифрование?

С уважением, Денис.

E-mail: zdd@mail.ru
ICQ: 146444651
 
Можно ли каким-либо образом при получении данных от терминала MetaTrader4 по DDE обмену получать время сервера с точностью большей, чем до минут? При получении данных от нескольких терминалов MetaTrader4 (с разных счетов/ДЦ) по DDE обмену каким образом различать, от какого терминала пришли данные?


Сожалею, никак. Но Вы можете для этого написать программу на MQL4: "MQL4: механические торговые системы"

Расскажите подробнее о протоколе общения клиентской и серверной части MetaTrader4 по протоколу TCP/IP (или подскажите где искать). Какие данные отправляет терминал на сервер, что получает в ответ? Как происходит шифрование?


Это коммерческая информация.
 
Tatyana, спасибо за ответ.
Можно ли каким-либо образом при получении данных от терминала MetaTrader4 по DDE обмену получать время сервера с точностью большей, чем до минут? При получении данных от нескольких терминалов MetaTrader4 (с разных счетов/ДЦ) по DDE обмену каким образом различать, от какого терминала пришли данные?

Сожалею, никак. Но Вы можете для этого написать программу на MQL4: "MQL4: механические торговые системы"

К сожалению, при использовании программы на MQL4 (советника или индикатора) теряется достаточно много данных, так как если при поступлении новой котировки выполнялась функция start(), запущенная на предыдущей котировке, то пришедшая котировка будет проигнорирована. (Даже состоящая из двух-трех комманд программа не успевает выполняться на современном компьютере за время между котировками, если они приходят часто). При получении данных от терминала MetaTrader4 по DDE обмену потерь меньше, но полностью их исключить не удается, так как DDE сервер терминала MetaTrader4 при отправке данных не следит за тем, чтобы приложение-клиент успевало их получать. Подскажите, пожалуйста, решение, позволяющее получать данные о приходящих котировках без потерь.

Расскажите подробнее о протоколе общения клиентской и серверной части MetaTrader4 по протоколу TCP/IP (или подскажите где искать). Какие данные отправляет терминал на сервер, что получает в ответ? Как происходит шифрование?

Это коммерческая информация.

Есть потребности, которые не удается решить средствами MetaTrader4, среди которых:
- получение данных без потерь о приходящих котировках с разных счетов (разных ДЦ) для анализа;
- визуализация информации (построение любых графиков, диаграмм) (пользовательские индикаторы и графические объекты не позволяют это делать);

Хотелось бы иметь возможности для решения этих задач в новых версиях терминала MetaTrader. Также, буду рад любой информации о способах решения этих задач в текущих условиях (для личного использования).

С уважением, Денис.
 
Tatyana, спасибо за ответ.
К сожалению, при использовании программы на MQL4 (советника или индикатора) теряется достаточно много данных, так как если при поступлении новой котировки выполнялась функция start(), запущенная на предыдущей котировке, то пришедшая котировка будет проигнорирована. (Даже состоящая из двух-трех комманд программа не успевает выполняться на современном компьютере за время между котировками, если они приходят часто).


Это не так. Программа из двух-трех комманд всегда успеет выполниться. Возможно, Вы забыли упомянуть, что эти две - три команды являются пользовательскими функциями, написанными не оптимальным образом, и поэтому требующих больших ресурсов процессора.
 

Это не так. Программа из двух-трех комманд всегда успеет выполниться. Возможно, Вы забыли упомянуть, что эти две - три команды являются пользовательскими функциями, написанными не оптимальным образом, и поэтому требующих больших ресурсов процессора.

Две-три команды, это либо
start()
  {
    c[i]=Bid;
    i++;
    return;
  }


либо

start()
  {
   FileWrite(handle,Bid);
   return;
   }


При малом промежутке времени между котировками программа не успевает завершиться до прихода новой котировки и данные теряются.

 
Tatyana :

Это коммерческая информация.

Добрый день.


Компания, в которой я работаю www.cmsfx.com, в основном использует собственную платформу для предоставления услуг торговли на форексе своим клиентам. В то же время для отдельных категорий пользователей мы используем платформу метатрейдер.


Вопросы:

  • что нам нужно для того, чтобы получить доступ к информации по протоколу обмена между клиентом и сервером?
  • существует ли готовая реализация API для клиентской части на языке программирования Java?
 
Tatyana :

Расскажите подробнее о протоколе общения клиентской и серверной части MetaTrader4 по протоколу TCP/IP (или подскажите где искать). Какие данные отправляет терминал на сервер, что получает в ответ? Как происходит шифрование?


Это коммерческая информация.

>> что нам нужно для того, чтобы получить доступ к информации по протоколу обмена между клиентом и сервером?


Присоединяюсь, я бы тоже хотел написать своего клиента для подключения к серверу MT4, если эту информацию можно приобрести, скажите пожалуйста как это сделать и сколько стоит.

 
lewolf : 

Присоединяюсь, я бы тоже хотел написать своего клиента для подключения к серверу MT4, если эту информацию можно приобрести, скажите пожалуйста как это сделать и сколько стоит.

В MetaTrader 4 нет клиентского API и не будет. Информация о протоколах общения между сервером и клиентом не раскрывается и не продаётся, сожалею.

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