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

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

  • Канал Кельтнера

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


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

    PriceChannel – Ценовой канал или Канал Дончяна


    Ценовой канал – это индикатор показывающий максимум и минимум за последний интервал изменения цен заданной длительности.

    Индикатор имеет 2 выходных ряда HighиLow. Для их вычисления используются следующие формулы:

    Hight = max(Ht, Ht-1, …, Ht-n+1),

    Lowt = max(Lt, Lt-1, …, Lt-n+1).

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

    Значение периода усреднения выбирается n = 20 для дневного тайм-фрейма.


    Сигналы.

    • Если цена превышает предыдущее значение ряда High, то совершается покупка.

    • Если цена падает ниже предыдущего значения ряда Low, то совершается продажа.


    Автор. Ричард Дончян (Richard Donchian).

    Первоисточник. Википедия. (ru.wikipedia.org/wiki/Канал_Дончяна)

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

    function Initialize()

    {

    // Определение параметров индикатора

    IndicatorName = "PriceChannel";

    AddInput("Input", Inputs.Candle);

    AddParameter("Period", 50, 1);

    PriceStudy = true;

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

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

    }
    function Evaluate()

    {

    // AlfaDirect. 2016. OX

    // Верхняя линия "Upper" - максимальная цена за Period

    // Нижняя линия "Lower" - минимальная цена за Period

    var high = Input.High[0];

    var low = Input.Low[0];

    if ( CurrentIndex >= Period )

    {

    int i = 0;

    for (i = 1; i < Period; i++)

    high = Math.Max(Input.High[i], high);

    for (i = 1; i < Period; i++)

    low = Math.Min(Input.Low[i], low);

    }

    Upper = high;

    Lower = low;

    }

    KeltnerEMA (Keltner Channel on EMA) – Канал Кельтнера на EMA


    Канал Кельтнера – это канал, границы которого строятся как отклонение от МА (экспоненциального) на заданное число значений ATR.

    function Initialize()

    {

    IndicatorName = "KeltnerEMA";

    PriceStudy = true;

    AddInput("Input", Inputs.Candle);

    AddSeries("Res", DrawAs.Line, Color.Blue);

    AddSeries("Sup", DrawAs.Line, Color.Blue);

    AddParameter("Period", 20, 1);

    AddParameter("Z", 2.0);

    }
    function Evaluate()

    {

    // AlfaDirect. 2015. OX.

    // KeltnerEMA - Keltner Channel on EMA.

    if (CurrentIndex < 1 )

    {

    Res = Input.Close[0];

    Sup = Input.Close[0];

    }

    else

    {

    Res = EMA(Input.Close, Period)[0] + (Z*ATR(Input, Period)[0]);

    Sup = EMA(Input.Close, Period)[0] - (Z*ATR(Input, Period)[0]);

    }

    }

    KeltnerSMA (Keltner Channel on SMA) – Канал Кельтнера на EMA


    Канал Кельтнера – это канал, границы которого строятся как отклонение от МА (экспоненциального) на заданное число значений ATR.

    function Initialize()

    {

    IndicatorName = "KeltnerSMA";

    PriceStudy = true;

    AddInput("Input", Inputs.Candle);

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

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

    AddParameter("Period", 20, 1); // Задаем имя изменяемого параметра и его значение

    AddParameter("Z", 2.0); // Задаем имя глобальной переменной и её значение

    }
    function Evaluate()

    {

    // AlfaDirect 2015. OX.

    // KeltnerSMA - Keltner Channel on SMA.

    if (CurrentIndex < Period )

    {

    Res = Input.Close[0];

    Sup = Input.Close[0];

    }

    else

    {

    Res = SMA(Input.Close, Period)[0] + (Z*ATR(Input, Period)[0]);

    Sup = SMA(Input.Close, Period)[0] - (Z*ATR(Input, Period)[0]);

    }

    }

    ConvertSMA (Convert on SMA) – Конверт на SMA


    Конверт – это канал, границы которого строятся как отклонение от МА (простого) на заданное число процентных значений.

    function Initialize()

    {

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

    AddInput("Input", Inputs.Price);

    AddParameter("Period", 20);

    AddParameter("K", 0.5);
    PriceStudy = true;

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

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

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX

    // ConvertSMA - Convert on SMA (Конверт на SMA)

    if (CurrentIndex < Period)

    {

    Upper = Input[0] * (1.0 + (double) K / 100.0);

    Lower = Input[0] * (1.0 - (double) K / 100.0);

    }

    else

    {

    Upper = SMA(Input, Period)[0] * (1.0 + (double) K / 100.0);

    Lower = SMA(Input, Period)[0] * (1.0 - (double) K / 100.0);

    }

    }

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


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