Расчет RSI

  • Автор темы ilya_scorpion
  • Дата начала

ilya_scorpion

New member
Всем привет.
Хочу заказать спец. скрипт который будет показывать значения RSI сразу на все нужные котировки. Почти все ТЗ готово кроме одного момента, самого главного, формулы расчета :)
2 дня убил, что бы понять формулу и сравнить с тем что показывает мне терминал Альфа-Директ. Так и не дошло.

Смотрите, вот цены закрытия часового графика акций СБ на 30.10.09 (с 10.35-18.00):
67.1, 66.8, 66.31, 66.42, 65.69, 65.46, 65.43, 65.5

Период беру 8, и получается в АД значение rsi 40. Как? Все перепробовал, не сходится :(
 

Бганга

New member
Я иногда натыкаюсь на форумах на подобные вещи. Вроде формула простая и все равно в разных программах разные результаты получаются. Так что случай с RSI - не единичный.
С чем это связано - не понятно, так что лучше расчитать индикатор по-своему и этим расчетом в дальнейшем пользоваться.
 
Всем привет.
Хочу заказать спец. скрипт который будет показывать значения RSI сразу на все нужные котировки. Почти все ТЗ готово кроме одного момента, самого главного, формулы расчета :)
2 дня убил, что бы понять формулу и сравнить с тем что показывает мне терминал Альфа-Директ. Так и не дошло.

Смотрите, вот цены закрытия часового графика акций СБ на 30.10.09 (с 10.35-18.00):
67.1, 66.8, 66.31, 66.42, 65.69, 65.46, 65.43, 65.5

Период беру 8, и получается в АД значение rsi 40. Как? Все перепробовал, не сходится :(
три раза прочел пост, так и не понял, что человеку нужно... Если формулу РСИ, так это просто. Пишем RSI() в метастоке, в скобочках указываем период. А что до альфатерминала, года два назад там ЕМА была "интересная".. просто обхохочешься
 

ilya_scorpion

New member
Бганга, я и формул нашел несколько :)
Василий Петрович, мне нужен, если конечно не сложно, показать поэтапный расчет рси на реальных числах. Так будет проще понять. А мне еще и объяснить моему программисту нужно будет :(
 
Бганга, я и формул нашел несколько :)
Василий Петрович, мне нужен, если конечно не сложно, показать поэтапный расчет рси на реальных числах. Так будет проще понять. А мне еще и объяснить моему программисту нужно будет :(
//ru.wikipedia.org/wiki/Индекс_относительной_силы_RSI

вариации возможны разные. Я например одно время использовал сглаживание взвешенное по объему... На мой взгляд важно понять "физический смысл" индикатора, и того что конкретно необходимо померить.

Доверять индикаторам встроенных в платформы однозначно нельзя. Я сталкивался с тем, что иногда они неправильно считаются.
 

Олеся

New member
Вот кстати, была бы очень благодарна, если бы кто-нибудь показал на каком-нибудь примере. Так было бы значительно доходчивей, правда. Так что присоединяюсь к автору топика.
 

Cinoptik

New member
Всем привет.


Смотрите, вот цены закрытия часового графика акций СБ на 30.10.09 (с 10.35-18.00):
67.1, 66.8, 66.31, 66.42, 65.69, 65.46, 65.43, 65.5

Период беру 8, и получается в АД значение rsi 40. Как? Все перепробовал, не сходится :(
Определяющую роль в вычислениях индекса RSI играет методика расчётов, базирующаяся на определении средних значений отдельно для прироста и отдельно для убыли цен закрытия upC и dnC.

upC - среднее значение прироста цен закрытия за (n) периодов;
dnC - среднее значение убыли цен закрытия за (n) периодов.

Значения upC и dnC рассчитываются следующим образом:
upC равна сумме (n) значений upC предшествующих периодов плюс значение upC текущей сессии, деленные на (n+1);
dnC равна сумме (n) значений dnC предшествующих периодов плюс значение dnC текущей сессии, деленные на (n+1).

Полученные значения используются для вычисления силы движения RS по формуле:
RS=upC/dnC
Индекс относительной силы RSI рассчитывается в процентах:
RSI=100 - (100/(1+RS)).
основным принципом для расчета RSI является теория вероятности. На основании применения этой теории можно сказать, что не может цена подниматься бесконечно долго, так же как и опускаться. Можете проверить это положение на абсолютно случайном процессе - подбрасывании монетки с двумя исходами такого подбрасывания "орлом" и "решкой".
Хотя факт изменения цены не является абсолютно случайным процессом, тем не менее он подчиняется некоторым элементам теории вероятности.
Из тех значении которые вы дали , умну получился период равный n=4.
переведём с русского на русский …. RS - это коэффициент пропорции ,он получается в вашем примере 2,017361… (1+RS) это обязательное условие , т.е коэффициент не должен быть меньше единицы, например 100/0,17361 =576,00…чушь в опщем ...
(100/(1+RS) 100-это 100% вам нужно понять чему равен коэффициент пропорции т.е 100% / 2,017361% =49,56971% это значение вероятности выигрыша(p) , классическая формула нахождения проигрыша q=1-p... т.е q=100-49,56971… q=50,43029, в опщем из решения следует что наступила не определенность движения 50/50. Чтобы более детально понять как работает индюк, мне нужно экспериментировать и тд. я лишь только изложил вам сухость математического языка.
 

Бганга

New member
Вот кстати, была бы очень благодарна, если бы кто-нибудь показал на каком-нибудь примере. Так было бы значительно доходчивей, правда. Так что присоединяюсь к автору топика.
Бганга, я и формул нашел несколько :)
Даже не заморачивайтесь на этом. Расчитайте по какой-нибудь классической формуле в своей программе, оттестируйте и пользуйтесь на здоровье. Какая разница, как у других считается? Приносит доход ваш вариант - пользуйтесь, не приносит - выкидывайте. Я выкинул :)
 

ilya_scorpion

New member
Cinoptik, благодарю за развернутый ответ. Это все я уже читал несколько раз. Хотелось бы увидеть пример нахождения. Именно пример, по этим формулам. Мне кажется я что-то не так понимаю и нахожу. :(
 
Cinoptik, благодарю за развернутый ответ. Это все я уже читал несколько раз. Хотелось бы увидеть пример нахождения. Именно пример, по этим формулам. Мне кажется я что-то не так понимаю и нахожу. :(
на предоставленных данных можно посчитать только 7 периодную RSI
1. преобразуете ряд в приращения P-p[i-1] получаете следующий ряд -0,3 -0,49 0,11 -0,73 -0,23 -0,03 0,07
2. разбиваете ряд на 2 других, на положительные приращения и отрицательные , т.е. получается 2 ряда.
0 0 0,11 0 0 0 0,07 это положительные
-0,3 -0,49 0 -0,73 -0,23 -0,03 0 это отрицательняе в отрицательном берем модули элементов
т.е. 0,3 0,49 0 0,73 0,23 0,03 0
3. теперь считается RS. в классическом варианте в расчете используется экспон. скол. сред. Т.к. я точно не помню как она считается а вспоминать мне лень, то использую простую скол. сред. числитель = 0,025714286 знаменатель=0,254285714 т.е. RS=0,101123596
4. RSI=100-(100/(1+RS)) =9,183673469

Вот как то так. Считал я не очень внимательно, так что мог ошибится, но метода я думаю ясна.
 
а вообще RSI мне не нравится, так как это весьма искуственная оценка...

Я ползуюсь наклоном линейной регресии, в програмах ТА обозначается обычно как SLOPE
 

ilya_scorpion

New member
Дровосек, да-да, так я тоже считал, не сошлось что-то, значительно так не сошлось :(

Канал регресии - это трендовый индикатор, ИМХО MACD для этого больше подходит.
 
Дровосек, да-да, так я тоже считал, не сошлось что-то, значительно так не сошлось :(

Канал регресии - это трендовый индикатор, ИМХО MACD для этого больше подходит.
ну так по всей видимости посчитанно все правильно, АД запросто может ошибится... кроме того не известно как в АД считается RS, в полне возможно там и не EMA и не SMA а что нибудь еще. Я сталкивался с ситуацией когда SMA и EMA в терминале считаются неправильно

А по поводу регрессий не согласен, притом я не про канал говорю а про наклон. Но это совсем другая тема.
 

ilya_scorpion

New member
Дровосек, для ЕМА нужно много данных, на сколько я понял его формулу. Возможно отличается из-за этого..хотя..не уверен :(
 
Дровосек, для ЕМА нужно много данных, на сколько я понял его формулу. Возможно отличается из-за этого..хотя..не уверен :(
EMA постепенно "выдавливает" данные из окна усреднения. В моменте SMA от EMA может отличаться очень сильно.

Я вот подумал, щас сравню RSI расчитанный в амиброкере с RSI который я нарисую по формуле, скоро отпишу результат...
 
посчитал.
Да разница есть. в среднем 10% но в моменте до 80%. Если строить робота это конечно критично. Все пики развороты совпадают.

Нашел алгоритм встроенный в амиброкер для расчета RSI. На мой взгляд дело именно в расчете усреднения.

Выкладываю встроенный алгоритм.

function BuiltInRSIEquivalent( period )
{
P = N = 0;
result = Null;
for( i = 1; i < BarCount; i++ )
{
diff = C[ i ] - C[ i - 1 ];
W = S = 0;
if( diff > 0 ) W = diff;
if( diff < 0 ) S = -diff;
P = ( ( period -1 ) * P + W ) / period;
N = ( ( period -1 ) * N + S ) / period;
if( i >= period )
result[ i ] = 100 * P / ( P + N );
}
return result;
}
 

Олеся

New member
Дровосек, спасибо за совет и за помощь. Во всяком случае стало хоть немного понятнее и спокойнее. А то я уже боятся начала, что совсем глупая.)))
 
Дровосек, а можно в более популярном виде? Я сам в коде не очень понимаю.
Как это на человеческом объяснить я не знаю. Повторил алгоритм в экселе для RSI(14) на дневках индекса ММВБ, с квиком все совпадает...

качать от сюдого http://files.mail.ru/QPHL21

А вообще советую взять программу по теханализу и разбираться с ней, если так с каждым индикатором разбираться то далеко не уедете )))
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху