Ошибка "zero divide"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
PAVEL KARAKULOV
239
PAVEL KARAKULOV  

Приветствую! 

Блок расчета риска по atr, ошибка Zero divide in ссылается на Point и возникает лишь при попытке торговли на центовых счетах, я так понимаю из-за 5 цифр после запятой.

double atr = iATR (Symbol (), PERIOD_D1, 14, 0);
   
      double Lots5     = (balance1 *(Risk5/100))/(atr/Point);
      double Lots15    = (balance1 *(Risk15/100))/(atr/Point);
      double Lots30    = (balance1 *(Risk30/100))/(atr/Point);
      double Lots60    = (balance1 *(Risk60/100))/(atr/Point);
      double Lots240   = (balance1 *(Risk240/100))/(atr/Point);

Помогите универсализировать код для любых видов счетов

Ihor Herasko
21795
Ihor Herasko  
PAVEL KARAKULOV:

Приветствую! 

Блок расчета риска по atr, ошибка Zero divide in ссылается на Point и возникает лишь при попытке торговли на центовых счетах, я так понимаю из-за 5 цифр после запятой.

Помогите универсализировать код для любых видов счетов

Не на Point ссылается, а на значение переменной atr. Значение iATR может быть равно нулю. Перед совершением операции деления всегда нужно проверять знаменатель на равенство нулю.

Aleksey Semenov
3783
Aleksey Semenov  
PAVEL KARAKULOV:

Приветствую! 

Блок расчета риска по atr, ошибка Zero divide in ссылается на Point и возникает лишь при попытке торговли на центовых счетах, я так понимаю из-за 5 цифр после запятой.

Помогите универсализировать код для любых видов счетов

сколько раз уже говорили что 100 и 100.0 это два разных типа числа - первое инт, второе дабл
Edgar Akhmadeev
2597
Edgar Akhmadeev  
atr может быть нулевым например в начале тестирования, на первых барах, когда их ещё мало для вычисления ATR. Пока он нулевой, пропускать тики. 
PAVEL KARAKULOV
239
PAVEL KARAKULOV  
Edgar Akhmadeev:
atr может быть нулевым например в начале тестирования, на первых барах, когда их ещё мало для вычисления ATR. Пока он нулевой, пропускать тики. 

Да, проблема решилась, когда историю на дневке подгрузил 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий