Скачать MetaTrader 5

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

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

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

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

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

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

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

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

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

Vladimir Gomonov
8304
Vladimir Gomonov  
(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
Петр
6086
Петр  
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).

ivan
506
ivan  

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

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

Vladimir Gomonov
8304
Vladimir Gomonov  
Svinozavr >>:

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

===

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

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

Vladimir Gomonov
8304
Vladimir Gomonov  
qomment >>:

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

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


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

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