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

  • Наклон Линейной Регрессии

  • Индекс торгового канала

  • Типовые параметры.

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


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

    LinRegSlope (Linear Regression Slope) – НАКЛОН ЛИНЕЙНОЙ РЕГРЕССИИ


    Наклон Линейной Регрессии – это индикатор, который отображает наклон текущей линейной модели для цены за выбранный период. Или проще - это коэффициент альфа в модели линейной регрессии. Формула расчета следующая:


    где N – период линейной модели.

    Сигналы


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

    function Initialize()

    {

    IndicatorName = "LinRegSlope";

    PriceStudy = false;

    AddInput("Input", Inputs.Price);

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

    AddParameter("Period", 20);

    AddGlobalVariable("ZN", Types.Double, 0.0);

    AddGlobalVariable("t2", Types.Double, 0.0);

    AddGlobalVariable("t4", Types.Double, 0.0);

    AddLevel(0, Color.Gray, "LinRegSlope");

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // LinReg (Linear Regression) - Линейная регрессия

    if ( CurrentIndex == 0 )

    {

    // Расчет неизменных коэффициентов по времени

    for (int i = 0; i < Period; i++)

    {

    t2 = t2 + i;

    t4 = t4 + i * i;

    }

    ZN = ((double)Period * t4 - t2 * t2);

    }
    if ( CurrentIndex < Period )

    LinRegSlope = 0.0;

    else

    {

    // Вариант (t=0...N-1)

    double a1 = 0.0;

    double a3 = 0.0;

    for (int i = 0; i < Period; i++)

    {

    a1 = a1 + i * Input[-(int)Period + 1 + i];

    a3 = a3 + Input[-i];

    }

    LinRegSlope = (Period * a1 - t2 * a3) / ZN;

    }

    }


    CCI (Commodity Channel Index) – ИНДЕКС ТОВАРНОГО КАНАЛА


    Индекс торгового канала – это негладкий осциллятор, который показывает отклонение цен от своего скользящего среднего с нормировкой по текущему стандартному отклонению. Формула для выражения индекса торгового канала имеет следующий вид:

    CCIt = (TPtSMA(TP, N)) / (0.015*MDt),

    где

    TP (TypicalPrice) – типовая цена, которая вычисляется как среднее из трех значений (максимума, минимума и цены закрытия).

    TPt = (Ht + Lt + Ct)/3,

    SMA(TP, N) – простое среднее арифметическое значение TP за последние N периодов.

    MD (MeanDeviation) – среднее отклонение TP рассчитывается по формуле:

    ,

    где t-i – цена i точек назад от момента t.

    Типовые параметры.

    Типовые параметры CCI имеют следующие значения N = 20 и уровни UpLevel = 100 и DnLevel = -100.


    Сигналы

    • При росте индикатора выше уровня 100 считается, что это начало растущего движения и можно ожидать продолжение тренда. При падении ниже уровня -100 все наоборот.

    • При снижении индикатора из зоны выше 100 получаем контр-трендовый сигнал, который говорит о начале коррекции текущего тренда. При повышении индикатора из зоны ниже -100 все наоборот.


    Некоторые авторы используют пересечение индикатора и нулевой линии. Надо понимать, что это идентично пересечению типовой цены и скользящей средней.
    Индикатор является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.
    Автор: Дональд Ламберт (Donald Lambert)

    Источник: Commodities magazine. 1980.

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

    function Initialize()

    {

    IndicatorName = "CCI";

    PriceStudy = false;

    AddInput("Input", Inputs.Candle);

    AddParameter("Period", 20, 1.2);

    AddSeries("CCI", DrawAs.Line, Color.Gray);

    AddLevel(100, Color.Gray, "CCI");

    AddLevel(-100, Color.Gray, "CCI");

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // CCI (COMMODITY CHANNEL INDEX) – ИНДЕКС ТОВАРНОГО КАНАЛА

    if ( CurrentIndex < Period)

    {

    CCI = 0.0;

    }

    else

    {

    var TP = LIB.TP(Input);

    var sma = SMA(TP, Period)[0];

    // Mean Deviation

    var sigma = 0.0;

    for (int i = 0; i < Period; i++ )

    sigma = sigma + Math.Abs(TP[-i] - sma);

    sigma = (sigma/Period);

    // CCI

    CCI = (TP[0] - sma) / (0.015 * sigma);

    }

    }

    1   ...   16   17   18   19   20   21   22   23   24


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