MATLAB rsi и MQL4 rsi дают разные результаты на одних и тех же данных

 
В MATLAB есть rsindex вычисляющий RSI. Сравниваю с mql4 - разные результаты на одних и тех же данных. А именно, данные из терминала были выгружены в файл, по ним MATLAB построил rsi. В mql4 результат был вычислен посредством iRSI на том же самом графике, разумеется с тем же периодом (14) и по тем же ценам (ценам закрытия). Результаты сильно отличаются. Подобный тест был повторен много раз на разных интервалах данных.   

Прилагаю иллюстрирующую вычисления картинку. Верхний график: цены из терминала, отрисованные MATLABом (картинка полностью идентична окну терминала, включая линии Боллингера). Нижний - RSI. 

Для тех, кто захочет проверить, приведенный пример соответствует EURUSD, M1, 2010.1.18 6:30-10:30
 
 

ну и что, что отличается? Да тут причин может множество быть, начиная от разных используемых формул вычисления до разных точностей вычисления. Одно не понятно, как все это поможет торговать, или эта "другая" линия чуть отличающаяся от стандартной сразу граальные результаты будет показывать?

 
А вы попробуйте посчитать, например, стохастик с замедлением (Slowing)
1. Как сумма (сумма цен закрытия - сумма минимумов) / (сумма макс. - сумма мин.) // кол-во эклемнтов в сумме = Slowing
и
2. Как простую МА с периодом Slowing от сырого стохастика (цена - мин)/(мах-мин).

С т.зр. математики это - абсолютно одномайственно. Но результат будет ощутимо различаться. Видимо, из-за различий в точности.
И это в одной и той же проге.
А вы про Матлаб...)))
===
1-й алгоритм - стандартный в МТ, но не оптимальный. Простую МА можно оптимальней посчитать.
 
Svinozavr >>:
С т.зр. математики это - абсолютно одномайственно. Но результат будет ощутимо различаться. Видимо, из-за различий в точности.
А вот и неправда. См. код стохастика. Внимательно смотри. И думай, думай, думай!
:)
 
MetaDriver >>:
А вот и неправда. См. код стохастика. Внимательно смотри. И думай, думай, думай!
:)

Аж закоченел от внимательности и вспотел от размышлений.

Если тебе есть что сказать, говори. Что ты как эти, которые стейты шлют, темнишь.)))

 
(x[1]+x[2]+ ... +x[n]) / (y[1]+y[2]+ ... +y[n]) != x[1]/y[1] + x[2]/y[2] + ..x[n]/y[n]
.......................slowing(n)......................... != ............MA(n)............................
// [MT5path]/MQL5/Indicators/Examples/Stochastic.mq5 . Lines 105..113 
      double sumlow=0.0;
      double sumhigh=0.0;
      for(k=(i-InpSlowing+1);k<=i;k++)
        {
         sumlow +=(Close[k]-ExtLowesBuffer[k]);   // x[1..InpSlowing]
         sumhigh+=(ExtHighesBuffer[k]-ExtLowesBuffer[k]);   // y[1..InpSlowing]   
        }
      if(sumhigh==0.0) ExtMainBuffer[i]=100.0;
      else             ExtMainBuffer[i]=sumlow/sumhigh*100;   // sum(x)/sum(y)*100
 
MetaDriver >>:
(x[1]+x[2]+ ... +x[n]) / (y[1]+y[2]+ ... +y[n]) != x[1]/y[1] + x[2]/y[2] + ..x[n]/y[n]
.......................slowing(n)......................... != ............MA(n)............................

Угу. Согласен. Понял уже. Пример я неудачный привел - не додумал! )))

===

А чего ты мне алгоритм стохастика выложил? Я ж его в посте привел (1).

 

Господа гуру, будьте столь любезны, пишите друг другу письма в личку. За комментарии непосредственно по теме моего поста по-прежнему признателен. Я по-прежнему ищу (и не нахожу) ошибку у себя, т.к. поверить, что такой простой индикатор вычисляется по-разному (а если так, то один из алгоритмов просто неправилен, никак иначе) - сложно. И в MATLAB, и в MQL4 подсчет идет с данными типа double, данные я экспортировал с соблюдением типа double, так что непонятно, о какой потере точности может идти речь.

С уважением,
qomment 

 
Svinozavr >>:

Угу. Согласен. Понял уже. Пример я неудачный привел - не додумал! )))

===

А чего ты мне алгоритм стохастика выложил? Я ж его в посте привел (1).

Та ты ж мени так пуганул, шо я без документов спужался соватца. :)

 
qomment >>:

Господа гуру, будьте столь любезны, пишите друг другу письма в личку. За комментарии непосредственно по теме моего поста по-прежнему признателен. Я по-прежнему ищу (и не нахожу) ошибку у себя, т.е. поверить, что такой простой индикатор вычисляется по-разному (а если так, то один из алгоритмов просто неправилен, никак иначе) - сложно. И в MATLAB, и в MQL4 подсчет идет с данными типа double, данные я экспортировал с соблюдением типа double, так что непонятно, о какой потере точности может идти речь.

С уважением,
qomment


Ок. Сорить больше не буду. Однако несерьёзный у вас топик по моему. Сами понимаете что считает по разным алгоритмам (или сомневаетесь?). Ну так и сравните их досконально. И всё сразу обнаружится.

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