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

  • Полосы Боллинджера

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

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


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

    NRTR (Nick Rypock Trailing Reverse) – ПРОЦЕНТ ОТКЛОЕНИЯ ОТ ЭКСТРЕМУМА


    NRTR– индикатор, который при росте показывает заданный процент отклонения вниз от достигнутого максимума, а при падении показывает заданный процент отклонения вверх от достигнутого минимума.

    Пример отображения.


    Автор. Nick Rypock

    Источники. Общая информация (http://konkop.narod.ru/Files/4_24_28.pdf)

    Код Альфа-Директ (на базе MetaStock)

    function Initialize()

    {

    // Обязательные параметры:

    IndicatorName = "NRTR"; // Задайте название индикатора и сохраните с данным именем

    PriceStudy = true; // Рисовать в области цены (true – да, false – нет)

    AddInput("Input", Inputs.Price); // Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)

    AddSeries("NRTR", DrawAs.Line, Color.Red); // Задаем вид линии индикатора A

    AddParameter("PST", 0.2); // Параметр % отклонения от экстремума

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // NRTR. Реализация по коду MS

    var C = Input[0];

    var TR = C * PST / 100;
    if (CurrentIndex < 1)

    {

    NRTR = Input[0];

    }

    else

    {

    if (C == NRTR[-1] )

    NRTR = NRTR[-1] ;

    else

    if (Input[-1] < NRTR[-1] && C < NRTR[-1] )

    NRTR = Math.Min( NRTR[-1], C + TR) ;

    else

    if (Input[-1] > NRTR[-1] && C > NRTR[-1] )

    NRTR = Math.Max( NRTR[-1], C - TR);

    else

    if (C > NRTR[-1] )

    NRTR = C - TR;

    else

    NRTR = C + TR;

    }

    }

    NATR (N-ATR Trailing Reverse) – ЧИСЛО СРЕДНИХ ИСТЕННЫХ ОТКЛОНЕНИЙ


    NATR– индикатор, который при росте показывает заданное число значений ATR вниз от достигнутого максимума, а при падении показывает заданное число значений ATR вверх от достигнутого минимума.


    Источники: Общая информация (http://konkop.narod.ru/Files/4_24_28.pdf)

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

    function Initialize()

    {

    IndicatorName = "eNATR";

    PriceStudy = true;

    AddInput("Input", Inputs.Candle); // Определяем тип входного ряда

    AddParameter("K_ATR", 30, 1); // Определяем изменяемый параметр

    AddParameter("N_ATR", 4); // Определяем изменяемый параметр

    AddGlobalVariable("gDirection", Types.Double, 1.0); // Определяем глобальную переменную

    AddGlobalVariable("gHigh", Types.Double, 0.0); // Определяем глобальную переменную

    AddGlobalVariable("gLow", Types.Double, 100000000000.0); // Определяем глобальную

    AddSeries("eNATR", DrawAs.Line, Color.Blue); // Определяем выходной ряд

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // NATR. Отклонение от экстремума (по High и Low) на заданное кол-во значений ATR - переворот направления

    if (CurrentIndex < 1)

    {

    eNATR = Input.High[0];

    gHigh = Input.High[0];

    }

    else

    {

    var cATR = 0.0;

    // Пример вызова встроенного индикатора ATR

    cATR = N_ATR*ATR(Input, K_ATR);

    if (gDirection > 0.0)

    {

    if (Input.High[0] > gHigh)

    gHigh = Input.High[0];
    if (Input.Close[0] < gHigh-cATR)

    {

    gDirection = -1.0;

    gLow = Input.Low[0];

    eNATR = gLow + cATR;

    }

    else

    eNATR = gHigh - cATR;

    }

    else

    if (gDirection < 0.0)

    {

    if (Input.Low[0] < gLow)

    gLow = Input.Low[0];
    if (Input.Close[0] > gLow+cATR)

    {

    gDirection = 1.0;

    gHigh = Input.High[0];

    eNATR = gHigh - cATR;

    }

    else

    eNATR = gLow + cATR;

    }

    }

    }

    КАНАЛЫ

    BB (BOLLINGER BANDS) – ЛЕНТЫ БОЛЛИНДЖЕРА


    Индикатор Полосы Боллинджера, который часто можно встретить в литературе под названием ленты или конверт Боллинджера, состоит из трех линий:

    Средняя линия – это простая скользящая средняя SMA с периодом N.

    BBmiddlet = SMA(C, N).
    Верхняя линия – это простая скользящая средняя SMA периодом N плюс K стандартных отклонений (STD) от среднего значения за тот же интервал N.

    BBuppert = SMA(C, N) + K*STDt.
    Нижняя линия – это простая скользящая средняя SMA периодом N минус K стандартных отклонений (STD) от среднего значения за тот же интервал N.

    BBlowert = SMA(C, N) – K*STDt.
    Где

    N – период, на котором рассчитываются SMA и STD.

    Kчисло стандартных отклонений, которое используется для построения границ полосы, и определяет величину их отклонения вверх и вниз от SMA.

    STD (Standard Deviation) – стандартное отклонение рассчитывается по формуле:

    ,

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

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

    Автор индикатора, Боллинджер, предлагает на дневном тайм-фрейме использовать следующие параметры:

    • период SMA 10 и D = 1.9 стандартных отклонения;

    • период SMA 20 и D = 2 стандартных отклонения;

    • период SMA 50 и D = 2.1 стандартных отклонения.

    На внутридневных данных желательно проводить подстройку параметров с учетом двух факторов: центральная линия должна выполнять поддержку цен на тренде, а верхняя и нижняя линии должны ограничивать движение при флэте.

    Индивидуальная настройка периода BB производится аналогично настройке SMA. Аналогично простым скользящим средним центральная линия полосы Боллинджера используется как линия поддержки/сопротивления при трендовых движениях. Верхняя и нижняя линии показывают диапазон колебания при случайном движении цены (ненаправленном), который обычно сохраняется при боковом движении и нарушается при начале трендовых движений.

    Индикатор является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.
    Автор: Д. Боллинджер (J. Bolliger)

    Источник: Д. Боллинджер, «Боллинджер о лентах боллинджера».

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

    function Initialize()

    {

    IndicatorName = "BB";

    PriceStudy = true;

    AddInput("Input", Inputs.Price);

    AddParameter("Period", 50, 1.2);

    AddParameter("D", 2.0);

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

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

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

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

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // BB - (Bollinger Bands) Линии болинджера.

    // Автор - Боллинджер (Bollinger).

    if ( CurrentIndex < Period )

    {

    SUM = SUM + Input[0];

    SMA = (SUM) / (CurrentIndex + 1);

    }

    else

    {

    SUM = SUM + Input[0] - Input[0-Period];

    SMA = (SUM)/ Period;

    }
    if ( CurrentIndex < Period)

    {

    Upper = Input[0];

    Lower = Input[0];

    }

    else

    {

    var sigma = 0.0;

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

    sigma = sigma + (Input[-i] - SMA[0]) * (Input[-i] - SMA[0]);

    sigma = D * Math.Sqrt(sigma/Period);

    Upper = SMA[0] + sigma;

    Lower = SMA[0] - sigma;

    }

    }

    1   ...   5   6   7   8   9   10   11   12   ...   24


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