Страница 1 из 1

TMA (Triangular Moving Average) – треугольная скользящая средняя

Добавлено: 06 фев 2016, 15:52
evge
Треугольная скользящая средняя – это скользящая средняя с весовой функцией треугольного вида.

Пример:

TMA-00.png
TMA-00.png (25.79 КБ) 21482 просмотра


При V-образных формациях движения цены индикатор TMA будет иметь наименьшую потерю амплитуды среди классических индикаторов (т.е. экстремумы цены и индикатора будут наиболее близки по вертикали).

Сравнение:

TMA-01.png


Исходный текст:

Код: Выделить всё

function Initialize()
{
  IndicatorName = "TMA";   
  PriceStudy = true;   
  AddInput("Input", Inputs.Price);   
  AddSeries("TMA", DrawAs.Line, Color.Red);
  AddParameter("Period", 10);   
}

function Evaluate()
{
  // AlfaDirect. 2014. OX
  // TMA (Triangular MA) – МА с треугольным фильтром
  // Задается полупериод индикатора - всегда четный вариант расчета
  // Пример весовой функции: Период = 3, W = [1 2 3 3 2 1]
  if (CurrentIndex < 2*Period)
      TMA = Input[0];
  else
  {
      var sum = 0.0;
      var sumZ = 0.0;
      for ( var i = 1; i <= Period; i++ )
      {
           sum = sum + (Input[-2*Period + i] + Input[-i+1]) * i;
           sumZ = sumZ + i + i;
      }
      TMA = sum / sumZ;
   }
}


В коде для простоты реализован индикатор, в котором в качестве параметра задается полупериод и рассчитывается четный вид весовой функции.