Отлично! Спасибо.
Интересуют тесты на производительность - сколько тиков в секунду может передавать?
Может оформите статью?
Отлично! Спасибо.
Интересуют тесты на производительность - сколько тиков в секунду может передавать?
Может оформите статью?
Задача не в передаче тиков, а в ответах на запросы
Скажем, запрашиваешь EURUSD CLOSE 2010-01-21 12:00 H1
Получаешь в ответ 1.4050
"Язык" запросов и ответов формируем на свое усмотрение
Можно запросить значение любого индикатора по любому символу, можно удаленно вызвать любую функцию MQL5
Скорость невелика - на моем стареньком одноядерном ноуте обрабатывалось 50-100 запросов в секунду
Не стоит забывать, что вся передача идет в текстовом виде. Т.е. производительность можно улучшить в разы - в этом я не сомневаюсь
Для меня была важна сама идея - возможность управлять терминалом удаленно , своего рода RPC для MQL5
Хороший результат.
Попадет ли библиотека в комьюнити?
Хороший результат.
Попадет ли библиотека в комьюнити?
Не вопрос - сам пользуюсь наработками других людей, поэтому выложить библиотеку не составит труда
В каком виде - вот вопрос
На данный момент все очень сырое
Для решения своих частных задач этого достаточно, для того чтобы выложить "для других" - явно недостаточно
Если будет интерес со стороны посетителей форума, приведу в надлежащий вид, опишу и выложу
Этот вариант МТ5 "сервера" подходит для создания более сложных систем с "головой" вне МТ5 терминала. Напимер, подзаливка кеширующихся в МТ5 терминале котировок во внешнюю базу данных, и/или синхронное управление торгами по разным брокерам.
Однако, при создании автономной ТС, может потребоваться реверс направления: советник захочет данные извне, и будет являться, по сути, клиентом, т.е. начинать связь. Это даёт возможность свободнее проходить через NAT firewall (так, вероятно, построены агенты тестера). Скажем, запрос динамического ключа разрешения торговли, сопоставление котировок с не МТ-шным брокером и т.п.
Короче, возможность инициализации связи с любого конца могла бы дать такой библиотеке весьма неплохую перспективу развития.
Этот вариант МТ5 "сервера" подходит для создания более сложных систем с "головой" вне МТ5 терминала. Напимер, подзаливка кеширующихся в МТ5 терминале котировок во внешнюю базу данных, и/или синхронное управление торгами по разным брокерам.
Однако, при создании автономной ТС, может потребоваться реверс направления: советник захочет данные извне, и будет являться, по сути, клиентом, т.е. начинать связь. Это даёт возможность свободнее проходить через NAT firewall (так, вероятно, построены агенты тестера). Скажем, запрос динамического ключа разрешения торговли, сопоставление котировок с не МТ-шным брокером и т.п.
Короче, возможность инициализации связи с любого конца могла бы дать такой библиотеке весьма неплохую перспективу развития.
Клиентская часть строится за 5 минут
Не нужны:
- учет клиентов
- синхронизация запросов
- синхронизация потоков
- и т.д. и т.п.
В клиентской части 95% нагрузки приходится на парсинг ответа сервера, из оставшихся 5% половина времени уйдет на стыковку Unicode String )))))) До сих пор не пойму ЗАЧЕМ в аскетичной программерской среде нужны двухбайтовые string ???
Допускаю, что я "залип" в delphi-стереотипах s[i] - это i-ый символ/байт string'a
Но как же это было удобно! )) И на этапе отладки - посмотрел в Watch и все понятно, не нужно "натягивать" всяко-разно structure
Эх, молодежжжь
До сих пор не пойму ЗАЧЕМ в аскетичной программерской среде нужны двухбайтовые string ???
Многие удивляются, когда выясняется, что за пределами их страны существует огромный мультиязычный мир, которому не подходит мультибайтовая вакханалия.
Китайцы хотят видеть свой текст как есть в любой части программы, японцы хотят писать названия торговых символов иероглифами, а европейцы желают видеть эти символы в оригинале, а не в виде "ЖоLtrsjkhd".
Но для упрощения работы с мультибайтовыми строками мы в очередных билдах включим тип строк cstring со штатными функциями перекодировки в любые кодировки.
Многие удивляются, когда выясняется, что за пределами их страны существует огромный мультиязычный мир, которому не подходит мультибайтовая вакханалия.
Китайцы хотят видеть свой текст как есть в любой части программы, японцы хотят писать названия торговых символов иероглифами, а европейцы желают видеть эти символы в оригинале, а не в виде "ЖоLtrsjkhd".
Но для упрощения работы с мультибайтовыми строками мы в очередных билдах включим тип строк cstring со штатными функциями перекодировки в любые кодировки.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть красивый ответ на вопрос "Как обмениваться данными с MT5" - это Socket-сервер.
В dll засовываем серверную часть.
На стороне клиента работает, соответственно, клиентская часть.
Обработчик запросов пишется на MQL5.
Уже все сделано - РАБОТАЕТ! Сейчас идут тесты на прочность/производительность.
MT5 прекрасно справляется с многопотоковой схемой организации сервера в dll.
Код обработчика запросов (добавляет ОК к тексту запроса)))
А вот сеанс одновременной игры (на стороне сервера каждая часть обрабатывается в своем потоке)
И не надо никаких "односторонних" DDE
Главное, чтобы клиентская программа могла открывать TCP-сокет и писать/читать в/из него