Timur1988:
Здравствуйте! Написал индикатор, который показывает корреляцию по Пирсону. На таймфреймах M30 и ниже выдает ошибку zero divide. Как исправить?
ошибка в последней строчке: при M30 знаменатель sqrt(ED2_x[i]*ED2_y[i]) = 0. Why??????????????
Здравствуйте! Написал индикатор, который показывает корреляцию по Пирсону. На таймфреймах M30 и ниже выдает ошибку zero divide. Как исправить?
ошибка в последней строчке: при M30 знаменатель sqrt(ED2_x[i]*ED2_y[i]) = 0. Why??????????????
Помогаю. Рядом тема: Индикатор не отображается на графике помогите разобраться
STARIJ:
Там показал, как это исправляется
Помогаю. Рядом тема: Индикатор не отображается на графике помогите разобраться
Я правильно понял, что нужно добавить некоторое значение в числитель?
Timur1988:
Здравствуйте! Написал индикатор, который показывает корреляцию по Пирсону. На таймфреймах M30 и ниже выдает ошибку zero divide. Как исправить?
ошибка в последней строчке: при M30 знаменатель sqrt(ED2_x[i]*ED2_y[i]) = 0. Why??????????????
Здравствуйте! Написал индикатор, который показывает корреляцию по Пирсону. На таймфреймах M30 и ниже выдает ошибку zero divide. Как исправить?
ошибка в последней строчке: при M30 знаменатель sqrt(ED2_x[i]*ED2_y[i]) = 0. Why??????????????
Ошибка zero divide это деление на 0. Замените строку
Koef[i]=ED_xy[i]/sqrt(ED2_x[i]*ED2_y[i]); // коэф корреляции Пирсона начиная с i измерения среди m-1 баров
на
if(sqrt(ED2_x[i]*ED2_y[i]) != 0)Koef[i]=ED_xy[i]/sqrt(ED2_x[i]*ED2_y[i]); else Koef[i]= 0.0; // коэф корреляции Пирсона начиная с i измерения среди m-1 баров
Вообще , там где происходит деление и знаменатель явно не определён , нужно его проверять.
Спасибо, товарищи! Выручили!
*проверял по отдельности значение ED2_x[i], ED2_y[i] и sqrt(ED2_x[i]*ED2_y[i]) - везде значение, отличное от нуля. буду знать теперь, что делать в таких ситуациях!
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ошибка в последней строчке: при M30 знаменатель sqrt(ED2_x[i]*ED2_y[i]) = 0. Why??????????????