Что делать при делении на ноль?

 

Индикатор использует DLL, а советник использует этот индикатор.

При тестировании в DLL происходит деление на ноль (в журнале видно) .

Советник перестаёт торговать вообще.

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

 
исправить код - не делить на ноль
 
Eugene1:

При тестировании в DLL происходит деление на ноль (в журнале видно) .

И что видно в журнале? Покажите запись.
 
Eugene1:

Индикатор использует DLL, а советник использует этот индикатор.

При тестировании в DLL происходит деление на ноль (в журнале видно) .

Советник перестаёт торговать вообще.

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


Да - это издевательство.

А упомянуть индикатор, DLL, советник, задать вопрос и не привести ни строчки кода не издевательство???

 
Figar0:
И что видно в журнале? Покажите запись

Divide by zero

2011.05.10 21:50:12 2011.04.12 01:10 MyInd03 EURUSD,M5: zero divide



 

 
newbie_d:
исправить код - не делить на ноль


Поправить DLL пока не получается.  

 
Eugene1:

Divide by zero

2011.05.10 21:50:12 2011.04.12 01:10 MyInd03 EURUSD,M5: zero divide



так деление на ноль - это в индикаторе MyInd03, который завешен на т\ф 5 минут пары EURUSD, а не в длл
 
VladislavVG:
так деление на ноль - это в индикаторе MyInd03, который завешен на т\ф 5 минут пары EURUSD, а не в длл


И верно

Не ту строку скопировал.

Журнал, где DLL на нуль делит уже стёр.

Если ещё раз разделит, то прежде чем стирать сюда скопирую, а в индикаторе уже поправил, там почему-то в во время инициализации индикатора Ask и Bid нулю оказывались равны 

 
Eugene1:

Журнал, где DLL на нуль делит уже стёр.

Эхъ, придется телепатировать :) . Журнал НЕ отображает деления на нуль в дллке. Поэтому надо пробежаться по всем делениям в MQL4 части кода и повтыкать распринтовки.
 
TheXpert:
Эхъ, придется телепатировать :) . Журнал НЕ отображает деления на нуль в дллке. Поэтому надо пробежаться по всем делениям в MQL4 части кода и повтыкать распринтовки.

О том и речь, ну не может МТ дебагить длл-ки.

 
Figar0:

О том и речь, ну не может МТ дебагить длл-ки.


Всё верно говорите - не разобрался как следует.

Теперь в этом отношении разобрался с вашей помощью, работа наладилась: деление на нуль - это был косяк в индикаторе, а не DLL.

 

Но другая проблема всплыла:

Когда идёт тестирование, то постепенно заполняется память, когда достигает 2Г, то весь MetaTrader падает полностью.

Интересно, что если в ходе тестирования не была заполнена вся память (2Г), то почему-то даже после закрытия

вкладки с результатами визуального тестирования память не освобождается. 

 

Оптимизация в результате не может сделать более 2-3 проходов. 

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