У вас не стоит Flash Player
Настройки
#15223 - Thu Oct 14 2010 08:42 AM поясните алгоритм расчета RSI
Ritin Offline
stranger

Registered: Thu Oct 14 2010
Записи: 5
Заметил некоторую странность в расчете данного индикатора...
1. Индикатор начинает рассчитываться с отступом от первой свечи графика менее чем параметр индикатора... например ставим rsi(17), а первое значение rsi система непонятным образом умудряется посчитать на 8-ой свече графика от начальной даты... как, непонятно, если необходимо для расчета 17 периодов...
2. Значение индикатора не совпадает со значением аналогичного в quick, transaq, metastock и просто рассчитанным в ручную, и если между програмами и ручным расчетом разница в десятых долях, то tslab проявляет просто чудеса изобретательности и арифметики, его значение отличается до 10( в абсолютных значениях).

в связи с этим вопрос к создателям:
Как вам это удалось? поясните пожалуйста алгоритм расчета...

Наверх
#15227 - Thu Oct 14 2010 11:00 AM Re: поясните алгоритм расчета RSI [Re: Ritin]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Алгоритм RSI не скрывается:
Code:

                var u = new double[count];
                var d = new double[count];
                u[0] = 0;
                d[0] = 0;
                for (int i = 1; i < count; i++)
                {
                    double tu = 0, td = 0;
                    if (candles[i - 1] < candles[i])
                    {
                        tu = candles[i] - candles[i - 1];
                    }
                    else if (candles[i - 1] > candles[i])
                    {
                        td = candles[i - 1] - candles[i];
                    }
                    u[i] = tu;
                    d[i] = td;
                }
                var eu = EMA(u, period);
                var ed = EMA(d, period);
                for (int i = 0; i < count; i++)
                {
                    if(ed[i] == 0.0)
                    {
                        res[i] = 100;
                    }
                    else if (eu[i] / ed[i] == 1.0)
                    {
                        res[i] = 0;
                    }
                    else
                    {
                        res[i] = 100 - 100 / (1 + eu[i] / ed[i]);
                    }
                }

Наверх
#15248 - Thu Oct 14 2010 01:39 PM Re: поясните алгоритм расчета RSI [Re: Nektodron]
Ritin Offline
stranger

Registered: Thu Oct 14 2010
Записи: 5
Стоп, господа, может быть я чего то недопонимаю, но экспоненциальное сглаживание не входит в расчет RSI.
Предлагаете самому вписать классический метод расчета индикатора?
Или есть какой-то другой выход?
Варианты "не нравится, не пользуйся" не предлагать, жду разумного ответа.. )))))))))

Наверх
#15249 - Thu Oct 14 2010 01:41 PM Re: поясните алгоритм расчета RSI [Re: Ritin]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Тогда может дадите ссылку на правильное описание? В интернете их слишком много и все разные.

Наверх
#15250 - Thu Oct 14 2010 01:53 PM Re: поясните алгоритм расчета RSI [Re: Nektodron]
Ritin Offline
stranger

Registered: Thu Oct 14 2010
Записи: 5
http://www.fxeuroclub.ru/ddhelp/function119.php

например вот это описание, в документации к quick и transaq также есть описания данного индикатора, и нет упоминания об экспоненциальном сглаживании среднего роста и падения...

Хотя в некоторых источниках действительно встречается со сглаживанием, но это нетипичная ситуация, я та считаю.

Наверх
#15252 - Thu Oct 14 2010 02:51 PM Re: поясните алгоритм расчета RSI [Re: Ritin]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
А здесь говорится об обратном:
http://en.wikipedia.org/wiki/Relative_Strength_Index

Иными словами оригинальный RSI Вильдера основан как раз на EMA, а вот его модификация Cutler's RSI на SMA.

На самом деле, мы, конечно, можем внести оба индикатора, нужно только определится, какой правильнее и как их назвать.

Наверх
#15255 - Thu Oct 14 2010 03:05 PM Re: поясните алгоритм расчета RSI [Re: Nektodron]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Cutler's RSI - в TSLab так и называется, есть отдельный блок

Наверх
#15256 - Thu Oct 14 2010 03:08 PM Re: поясните алгоритм расчета RSI [Re: Nektodron]
Denis Offline
member

Registered: Tue Jul 21 2009
Записи: 152
В ТСлаб реализован классический вариант RSI. Он действительно обладает зависимостью от длинны исторических данных и в большинстве современных програм используется версия Катлера, практически лишенная этого недостатка.

Cutler's RSI так же доступен в ТСлаб и он так и назван - Cuttler's RSI.

Наверх
#15261 - Thu Oct 14 2010 03:55 PM Re: поясните алгоритм расчета RSI [Re: Denis]
Ritin Offline
stranger

Registered: Thu Oct 14 2010
Записи: 5
Спасибо, други, а-то я уже шарп качать начал, на что со скоростью интернет-провайдеров российский глубинки необходимо приблизительно 40 часов.. )))))))))))
Бум разбираться дальше...
Создателям спасибо за программу.....
И, удачи всем...

Наверх
#15262 - Thu Oct 14 2010 04:05 PM Re: поясните алгоритм расчета RSI [Re: Ritin]
Ritin Offline
stranger

Registered: Thu Oct 14 2010
Записи: 5
Хотя, рано обрадовался.....
все равно разные значения
13/10/2010 ММВБ:Сбербанк, таймфрейм - день
Quick RSI(17)=67.149852
TSLAB RSI(17)= 71.5663
TSLAB CuttleRSI(17)=74.06

Итого - разница в 4 пункта, или примерно 6%....
Что то многовато....
А истина где то рядом......

Наверх
#15265 - Thu Oct 14 2010 04:25 PM Re: поясните алгоритм расчета RSI [Re: Ritin]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
сами данные сравните для начала, они могут отличаться

Наверх


Moderator:  ViL, sar