При тестировании в DLL происходит деление на ноль (в журнале видно) .
Индикатор использует DLL, а советник использует этот индикатор.
При тестировании в DLL происходит деление на ноль (в журнале видно) .
Советник перестаёт торговать вообще.
Что можно сделать, чтобы такие единичные ошибки не имели значительных последствий, а просто бар игнорировался, например?
Да - это издевательство.
А упомянуть индикатор, DLL, советник, задать вопрос и не привести ни строчки кода не издевательство???
И что видно в журнале? Покажите запись
Divide by zero
2011.05.10 21:50:12 2011.04.12 01:10 MyInd03 EURUSD,M5: zero divide
исправить код - не делить на ноль
Поправить DLL пока не получается.
Divide by zero
2011.05.10 21:50:12 2011.04.12 01:10 MyInd03 EURUSD,M5: zero divide
так деление на ноль - это в индикаторе MyInd03, который завешен на т\ф 5 минут пары EURUSD, а не в длл
И верно
Не ту строку скопировал.
Журнал, где DLL на нуль делит уже стёр.
Если ещё раз разделит, то прежде чем стирать сюда скопирую, а в индикаторе уже поправил, там почему-то в во время инициализации индикатора Ask и Bid нулю оказывались равны
Журнал, где DLL на нуль делит уже стёр.
Эхъ, придется телепатировать :) . Журнал НЕ отображает деления на нуль в дллке. Поэтому надо пробежаться по всем делениям в MQL4 части кода и повтыкать распринтовки.
О том и речь, ну не может МТ дебагить длл-ки.
О том и речь, ну не может МТ дебагить длл-ки.
Всё верно говорите - не разобрался как следует.
Теперь в этом отношении разобрался с вашей помощью, работа наладилась: деление на нуль - это был косяк в индикаторе, а не DLL.
Но другая проблема всплыла:
Когда идёт тестирование, то постепенно заполняется память, когда достигает 2Г, то весь MetaTrader падает полностью.
Интересно, что если в ходе тестирования не была заполнена вся память (2Г), то почему-то даже после закрытия
вкладки с результатами визуального тестирования память не освобождается.
Оптимизация в результате не может сделать более 2-3 проходов.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Индикатор использует DLL, а советник использует этот индикатор.
При тестировании в DLL происходит деление на ноль (в журнале видно) .
Советник перестаёт торговать вообще.
Что можно сделать, чтобы такие единичные ошибки не имели значительных последствий, а просто бар игнорировался, например?