Почему так???

 
почему терминал ругается на ошибку деления на ноль
if (MathIsValidNumber(z/sqrt(1.0+alpha*pow(z,2))))
 
Александр Алексеевич:
почему терминал ругается на ошибку деления на ноль

Возможно потому, что происходит деление на ноль.

Ваш КО.

 
PapaYozh:

Возможно потому, что происходит деление на ноль.

Ваш КО.

Почему тогда терминал с сайта metatrader5.com нормально отрабатывает эту функцию, терминалы скачанные у брокеров ругаться на деление на ноль? Да и функция поидее должна возвращать True или false, но в терминале брокеров (любых) zero divide
 
Александр Алексеевич:
Почему тогда терминал с сайта metatrader5.com нормально отрабатывает эту функцию, терминалы скачанные у брокеров ругаться на деление на ноль? Да и функция поидее должна возвращать True или false, но в терминале брокеров (любых) zero divide

Деление на ноль там ДО вызова функцци.

z / sqrt( 1.0 + alpha * pow(z,2) ) )
 
PapaYozh:

Деление на ноль там ДО вызова функцци.

да, но в другом терминале то работает) причем работало 2 недели) и работает до сих пор)

 
Александр Алексеевич:

да, но в другом терминале то работает) причем работало 2 недели) и работает до сих пор)

Я угадывать должен?

Выведите в журнал значение alpha.

 
PapaYozh:

Деление на ноль там ДО вызова функцци.

Да корень из числа больше 1 это точно не ноль
 
PapaYozh:

Я угадывать должен?

Выведите в журнал значение alpha.

0.5
 
PapaYozh:

Я угадывать должен?

Выведите в журнал значение alpha.

Почему то если даже просто делишь на 0.000000001 выдаёт ошибку деления на ноль
 
Александр Алексеевич:
0.5


Тогда Вам туда надо писать: https://www.mql5.com/ru/forum/1111/

Но, может быть ошибка в другой строке возникает?

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2010.06.02
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
PapaYozh:


Тогда Вам туда надо писать: https://www.mql5.com/ru/forum/1111/

Но, может быть ошибка в другой строке возникает?

нет, именно в этой попробовал заменить все что после "/", ошибка вылезла в другом месте 

 con.vt=b2*con.vt+(1.0-b2)*pow(grad,2)+0.0000001;
      con.weight-=con.deltaWeight=lt*con.mt/sqrt(con.vt);

а при запуске должно было делится на 

sqrt(0.0000001)

но почему то терминал считает что это равно 0.