Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Устанавливай программы из библиотеки прямо в MetaTrader. Это просто!
Sergey Shcherbakov
382
Sergey Shcherbakov 2016.09.18 20:48 

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

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

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

o_o
Модератор
23690
o_o 2016.09.18 21:08  
Sergey Shcherbakov:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sergey Chalyshev
4487
Sergey Chalyshev 2016.09.18 22:12  
o_O:

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

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

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

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

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

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

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

new-rena
3372
new-rena 2016.09.18 22:26  
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
11602
Dmitriy Skub 2016.09.18 22:40  
Sergey Shcherbakov:

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

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

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

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

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