Отладка DLL в МТ5?

 
Как отлаживать DLL? Терминал защищен от отладчика, но почему нельзя подключиться к своей DLL? В проекте DLL в Висуал Студио включаю отладку. Отладчик при этом должен подцепить запущенную сторонним процессом отлаживаемую DLL. Но это оказывается невозможно. Где логика? Зачем защищать пользовательские DLL от отладки? Хочется слезть с МТ, но лучшего терминала на российском биржевом рынке не существует. Я проверил работоспособность DLL в отдельном проекте, работает. Но с МТ работать отказывается. Я делаю подключение языка Питон. Библиотека работает с простыми функциями Питон, но при использовании Питон библиотеки Керас появляются глюки. Вот как мне ее отлаживать? Мыши плакали, кололись, но ели кактус. MQL это конечно здорово, но он беден сторонними библиотеками. А в Питоне они есть на все случаи жизни. Зачем надо было изобретать свой язык? Когда есть возможность встроить тот же Питон. Вот терминалов со встроенным Питоном я не встречал ни у нас, ни на западе. Осталось немного доделать библиотеку и можно пользоваться. В последствии ее можно расширить. Но, блин, отладка все дело портит.
 

Потому что с Питоном получим в 100 раз меньшую скорость тестирования/работы, бесконечный поток жалоб и проиграем конкуренцию.

Рекомендую максимум кода переносить в MQL5 - он работает по скорости на уровне C++.

К сожалению, отладки DLL не будет. Единственный способ для DLL - это обвешать все отладочными сообщениями.

 

раньше можно было креши отлавливать и дампы писать, сейчас хз.

Отладку убрали в очень бородатых билдах

 

Могу лишь подтвердить слова Рената.

Еще имело смысл использовать DLL на С++ года 2-3 назад для увеличения скорости программ на MQL. Тогда выигрыш в скорости достигал десятков раз. Раньше активно их и использовал, пока не понял что компилятор программ на MQL5 практически сравнялся по скорости с программой, скомпилированной на C++. Сейчас выигрыш использования DLL, скомпилированной на C++, всего 10-15 %. А с таким выигрышем  даже заморачиваться не хочется с DLL - ками.

Как-то даже написал тестовый пример для сравнения скорости  MQL5 программы с весьма объемными вычислениями (расчет канала и вывод его в градиентном исполнением и реализацией прозрачности, где все пиксели текущего канала смешивается со всеми предыдущими каналами)  с полностью аналогичным расчетом в DLL (VS C++)  и снял видео на эту тему :


 
Nikolai Semko:
длл это как минимум либки и нормальная многопоточка плюс полноценный системный язык без ограничений и песочницы, тут все от потребностей зависит
 

Если бы все библиотеки машинного обучения были написаны на MQL, я бы не заморачивался подключением Питона. О чудо, прикрутил консоль к библиотеке и все заработало. А хотел всего лишь посмотреть вывод Питона.

 
Комбинатор:
длл это как минимум либки и нормальная многопоточка плюс полноценный системный язык без ограничений и песочницы, тут все от потребностей зависит
Дык никто ж не отменял длл.  Вопрос только отладки, но как по мне, так лучше использовать отладчик того, на чем пишется и компилируется. Или, как сказал Ренат, обвешивать код отладочными сообщениями. Тем более для готовых проверенных либок отладка то не требуется.
И не забывайте, что в маркет с длл дорога закрыта.
 

Мне маркет не интересен. А Питон прикрутил для себя. Ну и почему бы не поделиться со всеми. Проблемы библиотеки постепенно решаются. Буду работать над ней и дальше. Хотя сейчас того что есть достаточно. Библиотека выложена на гитхаб. Называется Pt36MT5.

 
Grigoriy Chaunin:

Мне маркет не интересен. А Питон прикрутил для себя. Ну и почему бы не поделиться со всеми. Проблемы библиотеки постепенно решаются. Буду работать над ней и дальше. Хотя сейчас того что есть достаточно. Библиотека выложена на гитхаб. Называется Pt36MT5.

А Вы сравнивали быстродействие кода Питона с аналогичным  кодом на МКЛ? Весьма интересно было бы узнать результаты такого теста. Прав ли был Ренат, когда писал о проигрыше Питона в 100 раз?
 
Nikolai Semko:
А Вы сравнивали быстродействие кода Питона с аналогичным  кодом на МКЛ? Весьма интересно было бы узнать результаты такого теста. Прав ли был Ренат, когда писал о проигрыше Питона в 100 раз?

Тоже интересно, просьба ТС провести тесты. Тут как-то давно проводились тесты MQL4/5 на скорость, кто может ссылку дать? 

 
Nikolai Semko:

Могу лишь подтвердить слова Рената.

Еще имело смысл использовать DLL на С++ года 2-3 назад для увеличения скорости программ на MQL. Тогда выигрыш в скорости достигал десятков раз. Раньше активно их и использовал, пока не понял что компилятор программ на MQL5 практически сравнялся по скорости с программой, скомпилированной на C++. Сейчас выигрыш использования DLL, скомпилированной на C++, всего 10-15 %. А с таким выигрышем  даже заморачиваться не хочется с DLL - ками.

Как-то даже написал тестовый пример для сравнения скорости  MQL5 программы с весьма объемными вычислениями (расчет канала и вывод его в градиентном исполнением и реализацией прозрачности, где все пиксели текущего канала смешивается со всеми предыдущими каналами)  с полностью аналогичным расчетом в DLL (VS C++)  и снял видео на эту тему :



Как выводили на экран через ДЛЛ? Непосредственно писали через GDI+ или DirectX?

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