Подскажите с суммирование

Страницы: 1
RSS
Подскажите с суммирование, Суммирование предыдущего результата
 
Добрый день, учусь-практикуюсь, подскажите с суммированием, не получается осознать, интернеты не помогают.

Считаю формулу стандартного отклонения
1. sum = sum + c(i)
2. SMa= sum/period
3. n=  ((c(I)-SMA)^2)^0.5)
4. n2= n2 + n (здесь проблема, суммирует не результат N,  а суммирует по циклу свечи и среднюю из N, результат конечно не то)

Пс спасибо
 
Честно говоря, ничего не понятно. Вы стандартное отклонение цены считаете по свечкам?
 
Я может быть просто недопонял, но есть следующие соображения.
Во-первых, обычно считают среднее отклонение доходностей цены, а не непосредственно цен, откуда можно рассчитать, например, волатильность базового актива, показатель Value at risk и тд.
Во-вторых, формула расчета стандартного отклонения имплементирована не вполне стандартная) Корень среднеквадратичной ошибки не то же самое, что сумма корней квадратов, вы по сути посчитали значение по модулю (((c(I)-SMA)^2)^0.5).
Я бы предложил скользящее среднее брать готовым значением из индикатора вместо того, чтобы скриптом считать, и, насколько помню, стандартное отклонение можно из полос Боллинджера вытащить.
 
- Считаю по формуле которая есть в разных источниках (и в вики и у банков и тд)
- речь не об отклонении доходности, а именно текущее изменение цены от средней
- получается модуль, да, чтоб если есть отрицательная разница от средней можно было суммировать ее и разделить на среднюю
- на периоде 2 (две свечи) 100% как в квике SD индикатор, а дальше надо среднюю которая у меня неправильно  суммируется


Цель построить другой индикатор на основе этого стандартного отклонения
 
Два цикла нужно: первым считаем среднее значение цены, вторым из каждого значения цены вычитаем среднее, возводим в квадрат и считаем сумму квадратов.
После завершения второго цикла считаем среднее квадратов (количество наблюдений минус один) и извлекаем корень.
 
Спасибо, буду сегодня осознавать  
 
Цитата
Phil написал:
Пример по прикрепленному ранее файлу
Код
--пусть оценки учеников
local c={2,4,4,4,5,5,7,9}
--тогда среднее
local s=0;
for i=1,#c do s=s+c[i] end s=s/#c; print("s="..s)
--вычислим квадраты отклонения оценок от их средней оценки:
-- и среднее арифметическое этих значений
local s1=0;
for i=1,#c do local x=(c[i]-s)^2; s1=s1+x; end  s1=s1/#c; print("s1="..s1)
--стандартное отклонение
local d=math.sqrt(s1); print("d="..d);
результат:
Код
>D:/lua53/lua53.exe -e "io.stdout:setvbuf 'no'" "test_SMA.lua" 
s=5.0
s1=4.0
d=2.0
>Exit code: 0
 
Спасибо  
Страницы: 1
Читают тему
Наверх