Меня интересуют не ухищрения, а именно штатная возможность, раз это официально было продекларировано. Например в статьях есть предложения это сделать, через экспорт неуправляемого кода https://www.mql5.com/ru/articles/249 Но насколько я понимаю, интеграция через декомпиляцию, это хакерские методы..., тут я где то читал на форуме, что MQ подает судебные иски на хакеров. Так вот, этот метод какраз подошел бы, в качестве аргумента, при таком судебном разбирательстве...)
В данной статье я представил различные методы взаимодействия между кодом, написанным на MQL5, и управляемым кодом на C#. Также я подготовил несколько примеров маршалинга структур MQL5 для C# и примеров вызова экспортированных функций DLL в скриптах на MQL5. Приведенные примеры могут служить основой для дальнейших исследований аспектов написания DLL в управляемом коде. Эта статья также открывает двери для использования в MetaTrader 5 множества библиотек, уже реализованных на C#.
Пишите dll не дотнете и штатно используйте в терминале как и другие dll. Для поддержки дотнет библиотек мы применяем прозрачный враппер, который поддерживает родные вызовы.
Renat: Пишите dll не дотнете и штатно используйте в терминале как и другие dll. Для поддержки дотнет библиотек мы применяем прозрачный враппер, который поддерживает родные вызовы.
Попробовал, но сходу не получилось. Если указывал имя функции с неймспейс и именем класса как в C# то не пропускает MQL5 компилер, а если указывал просто имя функции, то она не находится в процессе исполнения EX5 в терминале. Вероятно требуется какая то дополнительная нотация, чтобы явно указать на атрибуты .Net, если бы увидеть простенький пример...
revers45: Попробовал, но сходу не получилось. Если указывал имя функции с неймспейс и именем класса как в C# то не пропускает MQL5 компилер, а если указывал просто имя функции, то она не находится в процессе исполнения EX5 в терминале. Вероятно требуется какая то дополнительная нотация, чтобы явно указать на атрибуты .Net, если бы увидеть простенький пример...
Вам необходимо организовать трансляцию котировок из MetaTrader 5 в собственное приложение? Связка MQL5-DLL позволяет создавать подобные решения. В статье продемонстрирован один из способов трансляции котировок из MetaTrader 5 в приложения, написанные на .NET. Мне было рациональнее, интереснее и проще реализовать экспорт котировок именно с использованием этой платформы. К сожалению, с выходом "пятерки" поддержки .Net также не появилось, поэтому по старинке будем использовать как прослойку win32 dll с поддержкой .NET.
В этой статье, речь о дополнительной прослойке для MQL5 программ, в виде win32 dll QExpertWrapper.dll, которая в свою очередь работает с .Net, а мой вопрос об использовании .Net dll непосредственно в MQL5 программах.
revers45: В этой статье, речь о дополнительной прослойке для MQL5 программ, в виде win32 dll QExpertWrapper.dll, которая в свою очередь работает с .Net, а мой вопрос об использовании .Net dll непосредственно в MQL5 программах.
Спасибо, то что Вы предложили, это еще одна интерпретация c dll посредником(враппером), только к MQL4. Приблизительно так я и делал, но зачем мне эти ухищрения, снижать надежность работы и лепить на каждую библиотеку свой враппер, если он уже есть в терминале... Покажите только, небольшой пример, как его использовать, этот прозрачный штатный враппер...
Renat: ... Для поддержки дотнет библиотек мы применяем прозрачный враппер, который поддерживает родные вызовы.
Переписал с трудом робота с MQL4 на MQL5. В тестере не оптимизируется параметр Тейкпрофит и по нему сделки не закрываются. Но если поставить на демо счет, то TP выставляется, на графике рисуется пунктирная красная линия и сделки закрываются. В чем причина.
Периодически возникает "какаята фигня": оптимизатор не запускается, думал может процессор сильно загружен или ещё чего. Сегодня перезагрузил WIN XP, дефраментировал диск, запустил оптимизатор:
IQ 0 04:19:14 Tester Experts\Smart Neurons Test.ex5 on EURJPY,H1 from 2003.06.01 00:00 to 2013.06.01 00:00 IP 0 04:19:14 Tester genetic optimization started PG 0 04:19:14 Tester size of initial task pack is 512 PM 0 04:19:14 Core 1 agent process started CN 0 04:19:15 Core 1 connecting to 127.0.0.1:3000 II 0 04:19:15 Core 1 connected QP 0 04:19:16 Core 1 connection closed
Со второго раза запускается, т.е. нажимаю "стоп" затем "старт", и так уже не впервый раз.
Подскажите, где прочитать об использовании в MQL5 программах, библиотек .Net? Соответствующего раздела в документации не нашел
в статьях поищите.
Например в статьях есть предложения это сделать, через экспорт неуправляемого кода https://www.mql5.com/ru/articles/249
Но насколько я понимаю, интеграция через декомпиляцию, это хакерские методы..., тут я где то читал на форуме, что MQ подает судебные иски на хакеров.
Так вот, этот метод какраз подошел бы, в качестве аргумента, при таком судебном разбирательстве...)
Пишите dll не дотнете и штатно используйте в терминале как и другие dll. Для поддержки дотнет библиотек мы применяем прозрачный враппер, который поддерживает родные вызовы.
Вероятно требуется какая то дополнительная нотация, чтобы явно указать на атрибуты .Net, если бы увидеть простенький пример...
Попробовал, но сходу не получилось. Если указывал имя функции с неймспейс и именем класса как в C# то не пропускает MQL5 компилер, а если указывал просто имя функции, то она не находится в процессе исполнения EX5 в терминале.
Вероятно требуется какая то дополнительная нотация, чтобы явно указать на атрибуты .Net, если бы увидеть простенький пример...
https://www.mql5.com/ru/articles/27
В этой статье, речь о дополнительной прослойке для MQL5 программ, в виде win32 dll QExpertWrapper.dll, которая в свою очередь работает с .Net, а мой вопрос об использовании .Net dll непосредственно в MQL5 программах.
https://c.mql5.com/mql4/forum/2009/03/NETSampleR.zip
Спасибо, то что Вы предложили, это еще одна интерпретация c dll посредником(враппером), только к MQL4.
Приблизительно так я и делал, но зачем мне эти ухищрения, снижать надежность работы и лепить на каждую библиотеку свой враппер, если он уже есть в терминале...
Покажите только, небольшой пример, как его использовать, этот прозрачный штатный враппер...
... Для поддержки дотнет библиотек мы применяем прозрачный враппер, который поддерживает родные вызовы.
Периодически возникает "какаята фигня": оптимизатор не запускается, думал может процессор сильно загружен или ещё чего. Сегодня перезагрузил WIN XP, дефраментировал диск, запустил оптимизатор:
IQ 0 04:19:14 Tester Experts\Smart Neurons Test.ex5 on EURJPY,H1 from 2003.06.01 00:00 to 2013.06.01 00:00
IP 0 04:19:14 Tester genetic optimization started
PG 0 04:19:14 Tester size of initial task pack is 512
PM 0 04:19:14 Core 1 agent process started
CN 0 04:19:15 Core 1 connecting to 127.0.0.1:3000
II 0 04:19:15 Core 1 connected
QP 0 04:19:16 Core 1 connection closed
Со второго раза запускается, т.е. нажимаю "стоп" затем "старт", и так уже не впервый раз.