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

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

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

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

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

TheXpert
18276
TheXpert  

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

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

Nikolai Semko
6565
Nikolai Semko  

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

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

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


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

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

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

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

Nikolai Semko
6565
Nikolai Semko  
Grigoriy Chaunin:

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

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

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

Alexey Volchanskiy
27272
Alexey Volchanskiy  
Nikolai Semko:

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

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

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



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

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий