Правильно ли я понимаю что для отправки команд по сети нужно не только открыть порт, но должен быть и советник который будет слушать этот порт и выполнять поступающие команды? или советник не нужен?
Добрый день,
Я новенький,
Мне нужно чтобы моя программа на с# могла отправлять команды на открытие позиций по заданным инструментам в терминал meta trader4 или meta trader5, никакую информацию из терминала в программу на c# передавать не требуется,
команды идут в одностороннем порядке, слышал что можно как-то через socket соединяться и взаимодействовать, буду рад если кто-то предоставит пример кода на C# такого соединения и отправки команды на открытие позиции через это соединение.
Проще всего организовать передачу команд и результатов их выполнения через сигнальные файлы в "песочнице" = каталог терминала\MQL4 или \MQL5. И Ваша программа на c#, и советники на MQL4 и MQL5 умеют их читать и писать. И даже не мешать при этом работе сканирующих антивирусов, разрешив при открытии файлов совместное чтение. Признак изменения файла - изменение его возраста или длины. Примеры кода, думаю, писать не надо, они общеупотребительны.
Так же я читал тут на форуме что кто то через Pipe передавал информацию в советник. А так же где то была статья (Избавляемся от балласта Dll или как то так называлась) где автор показывал способ стыковки робота написанного на Mql с любой программой практически через MemoryMapedFile. Поищите это по форуму, думаю раз у Вас есть программка (.exe) на C# - то это будет наиболее оптимальный вариант для Вас. А передача команд через файл - это по моему личному мнению - не надежный способ, да и громоздкий какой то)
Добрый день,
Я новенький,
Мне нужно чтобы моя программа на с# могла отправлять команды на открытие позиций по заданным инструментам в терминал meta trader4 или meta trader5, никакую информацию из терминала в программу на c# передавать не требуется,
команды идут в одностороннем порядке, слышал что можно как-то через socket соединяться и взаимодействовать, буду рад если кто-то предоставит пример кода на C# такого соединения и отправки команды на открытие позиции через это соединение.
- www.mql5.com
Проще всего организовать передачу команд и результатов их выполнения через сигнальные файлы в "песочнице" = каталог терминала\MQL4 или \MQL5. И Ваша программа на c#, и советники на MQL4 и MQL5 умеют их читать и писать. И даже не мешать при этом работе сканирующих антивирусов, разрешив при открытии файлов совместное чтение. Признак изменения файла - изменение его возраста или длины. Примеры кода, думаю, писать не надо, они общеупотребительны.
Не несите бред. Даже если сделать через файлы, нужно как-то решать проблему многопоточного доступа к ресурсу-файлу (читатель-писатель), иначе дед-лок не избежен.
на уровне данных совместимость МТ5 и С# очень хорошая
я через массив double и int организовал связь тудымсюдым )))
при вызове dll в массивы я записываю инфу от терминала, а при возврате из dll - там инфа от C#
но у меня dll используется
на уровне данных совместимость МТ5 и С# очень хорошая
я через массив double и int организовал связь тудымсюдым )))
вызов dll в массивы записал инфу терминал, возврат из dll - там инфа от C#
У человека похоже уже есть сервер который отдает инфу через сокет. Ему нужно получить и использовать ее в терминале. Сейчас это можно делать напрямую. Просто стоит определиться что использовать эксперт или скрипт. И dll уже ни к чему тогда.
У человека похоже уже есть сервер который отдает инфу через сокет. Ему нужно получить и использовать ее в терминале. Сейчас это можно делать напрямую. Просто стоит определиться что использовать эксперт или скрипт. И dll уже ни к чему тогда.
тогда вопрос решен со 2-го поста топика
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день,
Я новенький,
Мне нужно чтобы моя программа на с# могла отправлять команды на открытие позиций по заданным инструментам в терминал meta trader4 или meta trader5, никакую информацию из терминала в программу на c# передавать не требуется,
команды идут в одностороннем порядке, слышал что можно как-то через socket соединяться и взаимодействовать, буду рад если кто-то предоставит пример кода на C# такого соединения и отправки команды на открытие позиции через это соединение.