Главная страница
Навигация по странице:

  • Треугольная скользящая средняя

  • Библиотека польльских индикаторовзовате. БИБЛИОТЕКА ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ АЛЬФА-ДИРЕКТ4.0. Инструкция по созданию и импорту пользовательских индикаторов 4 библиотека пользовательских индикаторов 5


    Скачать 1.9 Mb.
    НазваниеИнструкция по созданию и импорту пользовательских индикаторов 4 библиотека пользовательских индикаторов 5
    АнкорБиблиотека польльских индикаторовзовате
    Дата24.05.2022
    Размер1.9 Mb.
    Формат файлаdocx
    Имя файлаБИБЛИОТЕКА ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ АЛЬФА-ДИРЕКТ4.0.docx
    ТипИнструкция
    #546719
    страница5 из 24
    1   2   3   4   5   6   7   8   9   ...   24

    WMA (WEIGHTED MOVING AVERAGE) – ВЗВЕШЕННАЯ СКОЛЬЗЯЩАЯ СРЕДНЯЯ


    Взвешенные скользящие средние (WMAWeightedMovingAverage) «усредняют» цену с учетом веса, значение которого определяется на основании линейной зависимости от удаленности цены от расчетного момента времени. Формула расчета для всех взвешенных средних следующая



    где WMAt – значение индикатора в расчетной точке t, Ct-i – значения цены в момент времени t-i, Wk – значения веса для соответствующей цены в момент времени t-i. Знаменатель данной формулы исполняет роль нормировки усредненного значения.

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

    Второй задачей WMA является избавление от свойства «собака лает дважды», которое проявляется в резком изменении значения индикатора при выходе из окна расчета существенно отличающейся цены от среднего значения. Для этого обычно используется постепенное уменьшение веса к началу окна.

    WMA – это фильтр с конечно импульсный характеристикой (КИХ), где импульсная характеристика имеет вид Wk = 1… P,
    Индикатор WMA – является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.
    Код Альфа-Директ

    function Initialize()

    {

    IndicatorName = "WMA";

    PriceStudy = true;

    AddInput("Input", Inputs.Price);

    AddSeries("WMA", DrawAs.Line, Color.Red);

    AddParameter("Period", 20, 1);

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // ВЗВЕШЕННАЯ СКОЛЬЗЯЩАЯ СРЕДНЯЯ (WMA – MOVING AVERAGE WEIGHTED)
    if ( CurrentIndex >= Period )

    {

    var cWMA = 0.0;

    var cZn = 0.0;

    for (var i=0; i
    {

    cWMA = cWMA + Input[-i]*(Period-i);

    cZn = cZn + (i+1);

    }

    WMA = cWMA/cZn;

    }

    else

    WMA = Input[0];

    }

    TMA (Triangular Moving Average) – ТРЕУГОЛЬНАЯ СКОЛЬЗЯЩАЯ СРЕДНЯЯ


    Треугольная скользящая средняя – это скользящая средняя с весовой функцией треугольного вида. Формула расчета следующая



    где – треугольная весовая функция, N – период.

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

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

    Код Альфа-Директ

    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;

    }

    }


    1   2   3   4   5   6   7   8   9   ...   24


    написать администратору сайта