Скачать MetaTrader 5

Экспорт котиров в порт или файл из МТ5

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

Задача,научить tslab торговать по реальным тиковым котировкам,которые можно получить из мт5 по определенному финансовому инструменту.Вижу два метода а)запись в файл.Есть риск,что при чтении такого файла в режиме реального времени tslab может не получить доступ к файлу ибо он используется др программой.Второй б) способ что бы мт5 отсылаю данные в порт например 3939.

Вопрос в том,как это на mql5 сделать?

Возможно ли ли  из СИ шарпа вызывать mql5 функции и классы,если да то прошу пример. 

o_o
Модератор
23922
o_o  
Sergey Shcherbakov:

Задача,научить tslab торговать по реальным тиковым котировкам,которые можно получить из мт5 по определенному финансовому инструменту.Вижу два метода а)запись в файл.Есть риск,что при чтении такого файла в режиме реального времени tslab может не получить доступ к файлу ибо он используется др программой.Второй б) способ что бы мт5 отсылаю данные в порт например 3939.

Вопрос в том,как это на mql5 сделать?

Возможно ли ли  из СИ шарпа вызывать mql5 функции и классы,если да то прошу пример. 

для отправки вы можете
- использовать pipe
- использовать socket
- использовать memory mapping
- использовать перечисленное выше, но через dll (написанную как вы хотите вариантом на C#)

все варианты описаны в статьях, воспользуйтесь поиском
Sergey Chalyshev
4721
Sergey Chalyshev  
Sergey Shcherbakov:

Задача,научить tslab торговать по реальным тиковым котировкам,которые можно получить из мт5 по определенному финансовому инструменту.Вижу два метода а)запись в файл.Есть риск,что при чтении такого файла в режиме реального времени tslab может не получить доступ к файлу ибо он используется др программой.Второй б) способ что бы мт5 отсылаю данные в порт например 3939.

Вопрос в том,как это на mql5 сделать?

Возможно ли ли  из СИ шарпа вызывать mql5 функции и классы,если да то прошу пример. 

Невозможно, МТ5 закрытая система.

Может лучше перейти полностью на МТ5?

Maxim Dmitrievsky
15683
Maxim Dmitrievsky  
через пайпы наверное удобнее и проще всего будет, как создать клиента на mt5 в поиске найти можно, а сервер на сишарпе
o_o
Модератор
23922
o_o  
Sergey Chalyshev:

Невозможно, МТ5 закрытая система.

тс интересует как на MQL5 написать отправщика.

при чем тут закрытость?  всё делается легко перечисленными способами

Sergey Chalyshev
4721
Sergey Chalyshev  
o_O:

тс интересует как на MQL5 написать отправщика.

при чем тут закрытость?  всё делается легко перечисленными способами

Я понял немного по другому: 

Возможно ли ли  из СИ шарпа вызывать mql5 функции и классы,если да то прошу пример.  

Я знаю все способы связи МТ5 с внешним миром, все ваши статью и коды изучил, и пользую их, за что большое спасибо!

Но нет ни одного нормального простого и доступного способа связи МТ5 с внешним миром, все только через ....

Очень не хватает обработчика событий от внешних программ. 

new-rena
3372
new-rena  
o_O:
для отправки вы можете
- использовать pipe
- использовать socket
- использовать memory mapping
- использовать перечисленное выше, но через dll (написанную как вы хотите вариантом на C#)

все варианты описаны в статьях, воспользуйтесь поиском

Я пробовал почти все.

Лучше, надежнее, наиболее практичнее применить выделенное, т.к. МТ может быть расположен не обязательно дома. Главное, что торговый терминал где-то в Интернете и у него есть некий IP-адрес и порт. На сокетах не виснет, обладает наиболее высоким быстродействием общения между терминалом и внешним приложением.

Делал на МТ4.

Не сомневаюсь, что получится и на МТ5.

ТОПИК-СТАРТЕРУ:

Использовать общение через файлы крайне не рекомендую

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

http://metanit.com/sharp/net/3.2.php

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

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

Клиент-серверное приложение на сокетах TCP в C# и .NET
  • metanit.com
Рассмотрим, как создать сервер, работающий по протоколу TCP, с помощью сокетов. Общая схема работы серверного сокета TCP будет следующей: Код программы сервера будет таким: Вначале после создания сокета связываем его с локальной точкой методом Bind: Сокет будет прослушивать подключения по 8005 порту на локальном адресе 127.0.0.1. То есть клиент...
Dmitriy Skub
11835
Dmitriy Skub  
Sergey Shcherbakov:

Задача,научить tslab торговать по реальным тиковым котировкам,которые можно получить из мт5 по определенному финансовому инструменту.Вижу два метода а)запись в файл.Есть риск,что при чтении такого файла в режиме реального времени tslab может не получить доступ к файлу ибо он используется др программой.Второй б) способ что бы мт5 отсылаю данные в порт например 3939.

Вопрос в том,как это на mql5 сделать?

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

Обмен через PIPE видится оптимальным с точки зрения производительности и простоты (поддерживается штатно МТ5). Использую именно его для точно такой же задачи. Все ИМХО.

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