Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу помощи
пробую многопоточность но загибается терминал
Написал на с++ dll
Вот ее код
И скрипт
Если немного изменить метод код dll на вот это
То на экране появляется в месте комментария цифра 10 (так и должно) далее вылетает msgbox и 2 кнопки
терминал не падает пока я не нажму хотя бы одну из кнопок.
как только нажимаю сразу выдается сообщение о поиске причины краха и пути ее устранения...
Господа, а кто-нибудь запускал мультивалютник в режиме визуализации по ценам открытия с обращением к другим ТФ?
Вот дневной график:
терминал не падает пока я не нажму хотя бы одну из кнопок.
как только нажимаю сразу выдается сообщение о поиске причины краха и пути ее устранения...
Обратите внимание, что MQL5 скрипт после завершения OnStart автоматически выгружается, включая Вашу DLL.
То есть, в памяти висит Вами созданный поток с модальным окном, а у него из-под ног выбили табуретку. После закрытия модального окна возврат происходит в никуда.
В Вашем случае перед завершением MQL5 скрипта Вам нужно явно ждать пока все потоки DLL будут завершены штатно и гарантированно.
Обратите внимание, что MQL5 скрипт после завершения OnStart автоматически выгружается, включая Вашу DLL.
То есть, в памяти висит поток с модальным окном, а у него из-под ног выбили табуретку. После закрытия модального окна возврат происходит в никуда.
В Вашем случае перед завершением MQL5 скрипта Вам нужно явно ждать пока все потоки DLL будут завершены штатно и гарантированно.
В случае, если в серии сделок не было ни одной убыточной, то показатели PROFIT FACTOR и SHARPE RATIO принимают какие-то нереальные/экстремальные значения. Это ошибка или такие моменты нужно просто учитывать и как-то обрабатывать? Как это сделать правильно?
EMPTY_VALUE (то же самое, что и DBL_MAX)
Можно конечно применить какойнибудь неопределённый nan, но тогда нельзя проводить сравнения.
EMPTY_VALUE (то же самое, что и DBL_MAX)
Можно конечно применить какойнибудь неопределённый nan, но тогда нельзя проводить сравнения.
В случае, если в серии сделок не было ни одной убыточной, то показатели PROFIT FACTOR и SHARPE RATIO принимают какие-то нереальные/экстремальные значения. Это ошибка или такие моменты нужно просто учитывать и как-то обрабатывать? Как это сделать правильно?
Видимо ошибка, так как профитфактор не должен рассчитываться при отрицательных значениях, ну и как в данном случае при отсутствии отрицательных сделок.
Просто если взять формулу влоб (Gross Profit/Gross Loss) то при отсутствии отрицательных сделок получаем деление на ноль, а при большем Gross Loss получим число меньше 1, что тоже не правильно для дальнейшего анализа, тк разница между двумя положительными профитфакторами будет в разы больше чем разница между двумя условно говоря отрицательными.
Видимо ошибка, так как профитфактор не должен рассчитываться при отрицательных значениях, ну и как в данном случае при отсутствии отрицательных сделок.
Уже было сказано двумя постами выше, что это не ошибка, а признак невозможности рассчитать данный показатель.
Хотя можно сделать один финт, при каждом вычислении добавлять 1 цент и к Gross Porofit и к Gross Loss.
Тогда прямая формула будет ((Gross Porofit+0.01)/(Gross Loss+0.01))
А формулу для вычисления обратного значения (когда Gross Loss больше)
сделать -((Gross Loss+0.01)/(Gross Porofit+0.01))
Ну понятно что Gross Loss и Gross Porofit это модули.
Тогда линия будет симметрична с обоих сторон что хорошо для ГА и не будет вообще невычислимых ситуаций.
ЗЫ Но это будет полезно скорее не вам, а людям которые пишут свои критерии оптимизации.