LWMA - Linearly Weighted Moving Average

Опубликовано в AmiBroker

Линейно-взвешенная скользящая средняя.

Алгоритм расчета на примере 15-дневной LWMA. Текущая цена закрытия умножается на 15, вчерашняя на 14 и так далее до конца расчетного периода. Закрытие последнего, 15-го дня умножается на 1. Далее полученные значения складываются и делятся на сумму делителей. В нашем случае это число, полученное суммированием чисел от 1 до 15 (15 + 14 + 13 + … + 3 + 2 + 1 = 120).

Особенность этой скользящей средней состоит в большей реакции  на изменения последних данных. Популярность этой скользящей средней невелика из-за широкого использования её конкурента - экспоненциальной скользящей средней, имеющей похожие (и в большинстве случаев лучшие) свойства. 

 


Код для Амиброкера:

function LWMA( P, per )
{ Local s,pa,i;          s=0;
         pa=0;

         for( i = 0 ; i < per ; i++ )
         {     s += Ref(P,-i)*(per-i);
                pa += per-i;
         }
return (s/pa);
}

P = ParamField("Price field");
Periods = Param("Periods", 15, 2, 300, 1, 10 );

Plot(LWMA( P, Periods ), "LWMA("+Periods +")", ParamColor( "LWMA Color", colorCycle ), ParamStyle("LWMA Style") );

См. также

 

Недостаточно прав для комментирования