Небольшое замечание разработчикам

 
Недавно начал смотреть формулы расчета по индикаторам. Начал с РСИ и в индюке нашел ошибку. В принипе она никоим образом не влияет на работу этого индикатора при больших периодах расчета, но критична при малых.

В конце вычисления есть условие:
      if(negative==0.0) RSIBuffer[i]=0.0;
      else RSIBuffer[i]=100.0-100.0/(1+positive/negative);
Так вот нужно приравнивать не к 0 а к 100. 

Посудите сами если знаменатель дроби - [negative] стремится к 0, то результат дроби стремиться к бесконечности. Но так как этот результат опять подставляется в знаменатель , то результат снова будет стремиться к 0. И получаем 100-0=100.

Эта ошибка проявляется при простом расчете. А так как вы используете сглаженную модель,  то вы ее просто не заметили. Но все таки...
Причина обращения: