Обмен данных MQL с другими процессами

 

Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:

1. Использование FileMapping

2. Запись и чтение 2 файлов для обмена сообщениями.


Какие еще варианты есть?

 

Есть довольно интересная реализация работы с COM

https://www.mql5.com/ru/articles/1454

 
Были предложения и даже реализация через реестр.
 
Номер 1 - номер 1. А вариантов много, вплоть до майл-слотов.
 
Zhunko >>:
Были предложения и даже реализация через реестр.

Это вот здесь, чтоб не искать.

 
JSman >>:

Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:

1. Использование FileMapping

2. Запись и чтение 2 файлов для обмена сообщениями.


Какие еще варианты есть?

managed dll даст синхронный доступ к .Net. А далее ....

 

Спасибо за ценные ответы. Цель - это создание компонента буфера данных, а также "удаленное" управление MT. Я не хочу логику кода реализовывать в рамках MQL. При реализации оболочки торговых функций нужно ли каждую функцию описывать или есть более простой способ типа метода eval как в VBScript или JScript, например?


OFF: Где можно посмотреть описание формата файла истории котировок?

 
JSman писал(а) >>

Здравствуйте. Хотел бы получить консультацию, как программно можно реализовать обмен данными между приложениями. Я вижу, что интеграция с .Net и Com пока не реализована. Мысли по этому поводу следующие:

1. Использование FileMapping

2. Запись и чтение 2 файлов для обмена сообщениями.

Какие еще варианты есть?

Занимаюсь сейчас похожей задачей.

Для себя выбрал способ обмена через сокеты, как более универсальный и очень хорошо реализованный в NET.

Дальше выход на NET Remoting и дальше возможности неограничены.

 
JSman писал(а) >>

OFF: Где можно посмотреть описание формата файла истории котировок?

Клиентский терминал - F1 - Сервис - Архив котировок

 
stringo >>:

Клиентский терминал - F1 - Сервис - Архив котировок

там была ошибка, может сейчас и поправили

я методом научного хака сделал вот так, это на шарпе, думаю, будет понятно

  [StructLayout(LayoutKind.Explicit, Size = 148, CharSet = CharSet.Ansi)]
  public unsafe struct HistoryHeader
  {
  [FieldOffset(0)]
  public int version; // версия базы
  [FieldOffset(4)]
  public fixed byte copyright[64]; // копирайт [64]
  [FieldOffset(68)]
  public fixed byte symbol[12]; // инструмент [12]
  [FieldOffset(80)]
  public int period; // период инструмента
  [FieldOffset(84)]
  public int digits; // число знаков после запятой в инструменте
  [FieldOffset(88)]
  public Int64 timesign; // временной отпечаток создания базы
  [FieldOffset(96)]
  public Int64 last_sync; // время последней синхронизации
  [FieldOffset(104)]
  public fixed int unused[11]; // для будущего использования [13]
  }


 

Dima_S, очень интересно. А протокол UDP использовал? В MQL ты с winsock.dll работал, а стороннее приложение я так понял, что на дот нете?

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