![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вообще-то в прямом доступе к данным ничего страшного нет.
Нужно разделить сферы, где "лучше перебдеть чем недобдеть" действительно применимо и целесообразно.
Принцип "Безопасность превыше всего", на мой взгляд, должен быть применим только к маркету и облаку. Покупатель платит за продукт, который естественно защищён, а значит и закрыт, и проверить на безопасность продукт нет никакой возможности. Поэтому маркет обязан давать покупателю 100% гарантию безопасности всех продуктов. А в случае с облаком - все компьютеры облака должны быть 100% защищены от зловредных программ.
А во всех остальных случаях, не касающиеся распространения программных продуктов через маркет и приобретения через данный сервис оных а так же с использованием облака, вся ответственность по использованию непроверенных dll полностью ложится на пользователя.
С таким подходом можно избежать многих текущих проблем, связанных со снижением производительности и функциональных возможностей языка MQL5 из-за "Безопасность превыше всего".
Поэтому маркет обязан давать покупателю 100% гарантию безопасности всех продуктов.
Как Вы себе это представляете? Вы, как продавец, арендуете у МК маркет-площадку и требуете у аредодателя нести 100% ответственность за безопасность от использования Вашего продукта. Абсурд.
Маркет уже даёт гарантию безопасности продуктов, так как запрещает использование продуктами внешних dll. А сами программы MQL5 работают в безопасной внутренней песочнице терминала.
Вы об этом не знали?
Предполагаю что править придется многое.
А Вы просто попробуйте.
Разумные DLL изначально пишутся под интеграцию с другими системами и поэтому имеют простые внешние интерфейсы в виде сырых функций. Их заголовочные файлы простые.
Вообще-то в прямом доступе к данным ничего страшного нет. Ведь сам MetaTrader наверное написан на С/С++, и ничего. И более того обычно линкеры позволяют делать даже ассемблерные вставки, и тоже ничего. Вспомним, что MetaTrader запущенный под виндовс прямо или косвенно использует огромное количество системных длл, и тоже ничего страшного.
Мне кажется, что нельзя лишать пользователя права выбора. Мне бы очень понравился вариант, когда я мог бы взять, например, ALGLIB-dll и их родной заголовочный файл (файлы) и пользоваться надежной отлаженной библиотекой не прикасаясь к ней своими “кривыми ручками”, а просто указав компилятору MQL, что это заголовочный файл от C++, а не MQL.
Берите библиотеку и с небольшими (если надо) изменениями используйте экспортируемые функции из заголовков.
Думать, что можно взять любой *.H файл от небезопасного C/C++ языка и использовать в другом (да еще и безопасном) языке - это полное непонимание языков. Мечтать можно, но требовать - нельзя.
Библиотека ALGLIB уже портируется на MQL5 и будет доступна в исходниках.
Может возникнуть вопрос – а вдруг эта библиотека вредоносная и опасная? Но ведь я сам решил ее использовать.
Задайте этот вопрос несколько миллионов раз для осознания количества конечных пользователей MetaTrader и оцените качество обдуманности и ответственности этих миллионов отвечающих.
Именно поэтому мы заботимся об изначальной безопасности среды.
Другими словами – написанное в MQL пусть будет насколько Вам угодно безопасным, но если я осмелился подключить что то внешнее, то это уже мои личные проблемы.
Думать, что можно взять любой *.H файл от небезопасного C/C++ языка и использовать в другом (да еще и безопасном) языке - это полное непонимание языков. Мечтать можно, но требовать - нельзя.
Библиотека ALGLIB уже портируется на MQL5 и будет доступна в исходниках.
Наверное, я зря высказал свое мнение (кстати, я ничего не требовал). А вот по поводу непонимания языков, тут Вы совершенно правы. Чем больше читаю и разбираюсь, тем меньше понимаю. До меня не доходит, почему если переписать ALGLIB на mql5, а затем откомпилировать внешним компилятором (visualc) в DLL, то библиотека от этого станет более безопасной чем в случае прямой компиляции оригинальных исходников самой библиотеки сразу в DLL?
Ну да ладно. Пусть будет так.
До меня не доходит, почему если переписать ALGLIB на mql5, а затем откомпилировать внешним компилятором (visualc) в DLL,
Мы проделали огромный обьем работы по доводке компилятора MQL5 для упрощения конвертации существующих библиотек, написанных на других языках.
Причем развитие языка MQL5 продолжается. В ближайшее время появятся новые возможности, включая мощный профайлер кода.
Сейчас перед нами встали две задачи:
1) выбрать полезные опенсорсные библиотеки для конвертации
2) собрать добровольцев для реализации проектов конвертации (мы профинансируем это)
Для начала хотелось бы собрать список потенциальных проектов. Помогите ссылками и кратким описанием, пожалуйста.
Поскольку ALGLIB уже портируется видимо главный вопрос темы "какую ещё опенсорсе библиотеку пользователи хотели бы видеть?"
Поскольку ALGLIB уже портируется видимо главный вопрос темы "какую ещё опенсорсе библиотеку пользователи хотели бы видеть?"
Да, я это прямо в первом сообщении четко указал:
Сейчас перед нами встали две задачи:
1) выбрать полезные опенсорсные библиотеки для конвертации
Вы немного не так поняли. Переписывание на MQL5 задумано как раз для того, чтобы не использовать DLL, а подключать все необходимые математические пакеты прямо в исходниках MQL5.
Прошу прощения, действительно перепутал с обещанной возможностью компилировать код C/C++ в длл непосредственно из метаедитора.
Но для меня все равно неясно, зачем портировать, когда она (библиотека) уже готова к использованию в виде ДЛЛ? Получается – купил в магазине книгу и прежде чем читать ее, сначала переписал в тетрадь.
Наверное, я опять что-нибудь напутал. Больше не буду писать.