Пора конвертировать библиотеки на MQL5 - страница 6

 
victorg:

Вообще-то в прямом доступе к данным ничего страшного нет. 

Да ладно, сказочник. Безопасность - превыше всего. Тем более в условиях, когда терминал с советниками и индикаторами, работает круглосуточно, да ещё и "висит" это всё на реальных деньгах и доступах. А сторонние dll - это вообще "троянский конь" и кто использует "втёмную" такие dll - "харакири".
 

Нужно разделить сферы, где "лучше перебдеть чем недобдеть" действительно применимо и целесообразно.

Принцип "Безопасность превыше всего", на мой взгляд, должен быть применим только к маркету и облаку. Покупатель платит за продукт, который естественно защищён,  а значит и закрыт, и проверить на безопасность продукт нет никакой возможности. Поэтому маркет обязан давать покупателю 100% гарантию безопасности всех продуктов. А в случае с облаком - все компьютеры облака должны быть 100% защищены от зловредных программ.

А во всех остальных случаях, не касающиеся распространения программных продуктов  через маркет и приобретения через данный сервис оных а так же с использованием облака, вся ответственность по использованию непроверенных dll полностью ложится на пользователя.

С таким подходом можно избежать многих текущих проблем, связанных со снижением производительности и функциональных возможностей языка MQL5 из-за  "Безопасность превыше всего".

 
joo:

Поэтому маркет обязан давать покупателю 100% гарантию безопасности всех продуктов. 

Как Вы себе это представляете? Вы, как продавец, арендуете у МК маркет-площадку и требуете у аредодателя нести 100% ответственность за безопасность от использования Вашего продукта, да ещё и закрываете при этом часть кода в dll. Абсурд.
 
abolk:
Как Вы себе это представляете? Вы, как продавец, арендуете у МК маркет-площадку и требуете у аредодателя нести 100% ответственность за безопасность от использования Вашего продукта. Абсурд.

Маркет уже даёт гарантию безопасности продуктов, так как запрещает использование продуктами внешних dll. А сами программы MQL5 работают в безопасной внутренней песочнице терминала.

Вы об этом не знали?

 
victorg:

Предполагаю что править придется многое.

А Вы просто попробуйте.

Разумные DLL изначально пишутся под интеграцию с другими системами и поэтому имеют простые внешние интерфейсы в виде сырых функций. Их заголовочные файлы простые.


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

Боюсь, Вы вообще не в теме разговора о безопасности и не представляете о чем идет речь.


Мне кажется, что нельзя лишать пользователя права выбора. Мне бы очень понравился вариант, когда я мог бы взять, например, ALGLIB-dll и их родной заголовочный файл (файлы) и пользоваться надежной отлаженной библиотекой не прикасаясь к ней своими “кривыми ручками”, а просто указав компилятору MQL, что это заголовочный файл от C++, а не MQL.

Берите библиотеку и с небольшими (если надо) изменениями используйте экспортируемые функции из заголовков.

Думать, что можно взять любой *.H файл от небезопасного C/C++ языка и использовать в другом (да еще и безопасном) языке - это полное непонимание языков. Мечтать можно, но требовать - нельзя.

Библиотека ALGLIB уже портируется на MQL5 и будет доступна в исходниках.


Может возникнуть вопрос – а вдруг эта библиотека вредоносная и опасная? Но ведь я сам решил ее использовать.

Задайте этот вопрос несколько миллионов раз для осознания количества конечных пользователей MetaTrader и оцените качество обдуманности и ответственности этих миллионов отвечающих.

Именно поэтому мы заботимся об изначальной безопасности среды.


Другими словами – написанное в MQL пусть будет насколько Вам угодно безопасным, но если я осмелился подключить что то внешнее, то это уже мои личные проблемы. 

Используйте DLL - никаких проблем для личного применения нет.
 
Renat:

Думать, что можно взять любой *.H файл от небезопасного C/C++ языка и использовать в другом (да еще и безопасном) языке - это полное непонимание языков. Мечтать можно, но требовать - нельзя.

Библиотека ALGLIB уже портируется на MQL5 и будет доступна в исходниках.

Наверное, я зря высказал свое мнение (кстати, я ничего не требовал). А вот по поводу непонимания языков, тут Вы совершенно правы. Чем больше читаю и разбираюсь, тем меньше понимаю. До меня не доходит, почему если переписать ALGLIB на mql5, а затем откомпилировать внешним компилятором (visualc) в DLL, то библиотека от этого станет более безопасной чем в случае прямой компиляции оригинальных исходников самой библиотеки сразу в DLL?

Ну да ладно. Пусть будет так.

 
victorg:

 До меня не доходит, почему если переписать ALGLIB на mql5, а затем откомпилировать внешним компилятором (visualc) в DLL,

Вы немного не так поняли. Переписывание на MQL5 задумано как раз для того, чтобы не использовать DLL, а подключать все необходимые математические пакеты прямо в исходниках MQL5.
 
Renat:
Мы проделали огромный обьем работы по доводке компилятора MQL5 для упрощения конвертации существующих библиотек, написанных на других языках.

Причем развитие языка MQL5 продолжается. В ближайшее время появятся новые возможности, включая мощный профайлер кода.

Сейчас перед нами встали две задачи:
1) выбрать полезные опенсорсные библиотеки для конвертации
2) собрать добровольцев для реализации проектов конвертации (мы профинансируем это)

Для начала хотелось бы собрать список потенциальных проектов. Помогите ссылками и кратким описанием, пожалуйста.

Поскольку ALGLIB уже портируется видимо главный вопрос темы "какую ещё опенсорсе библиотеку пользователи хотели бы видеть?"

 
Urain:
Поскольку ALGLIB уже портируется видимо главный вопрос темы "какую ещё опенсорсе библиотеку пользователи хотели бы видеть?"

Да, я это прямо в первом сообщении четко указал:

Сейчас перед нами встали две задачи:
1) выбрать полезные опенсорсные библиотеки для конвертации

 
Rosh:
Вы немного не так поняли. Переписывание на MQL5 задумано как раз для того, чтобы не использовать DLL, а подключать все необходимые математические пакеты прямо в исходниках MQL5.

Прошу прощения, действительно перепутал с обещанной возможностью компилировать код C/C++ в длл непосредственно из метаедитора.

Но для меня все равно неясно, зачем портировать, когда она (библиотека) уже готова к использованию в виде ДЛЛ? Получается – купил в магазине книгу и прежде чем читать ее, сначала переписал в тетрадь.

Наверное, я опять что-нибудь напутал. Больше не буду писать.

Причина обращения: