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

  • Chikou

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

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


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

    ConvertEMA (Convert on EMA) – Конверт на EMA


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

    function Initialize()

    {

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

    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

    // Convert - Конверт на EMA

    if (CurrentIndex < 1)

    {

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

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

    }

    else

    {

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

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

    }

    }
    Пример отображения индикаторов KeltnerEMA и ConvertSMA


    ЯПОНСКИЕ ТРАДИЦИИ

    HeikenAshi (Heiken Ashi Candles) – свечки Heiken Ashi


    Индикатор Heiken Ashi отображает другой вид биржевой свечи. В свече Heiken Ashi применяются модифицированные цены открытия, максимума, минимума бара и цена закрытия (Open, High, Low, Close), которые рассчитываются следующим образом:

    Close = (O+H+L+C)/4;

    Open = (Open (предыдущего бара) + Close (предыдущего бара))/2;

    High = максимальное значение из (H, Open, Close);

    Low = минимальное значение из (L, Open, Close), где O, H, L, C – цены текущего бара (открытия, максимум, минимум, закрытия).

    Свечи Heiken Ashi отображаю направление изменения цены с запаздыванием, которое происходит из-за того, что параметры свечи зависят от цен предыдущего бара. Однако в этом запаздывании и проявляется преимущество индикатора, которое позволяет отсекать лишние шумы.


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

    function Initialize()

    {

    IndicatorName = "HeikenAshi";

    AddInput("Input", Inputs.Candle);

    PriceStudy = true;

    AddSeries("Open", DrawAs.Custom, Color.Gray);

    AddSeries("High", DrawAs.Custom, Color.Gray);

    AddSeries("Low", DrawAs.Custom, Color.Gray);

    AddSeries("Close", DrawAs.Custom, Color.Gray);

    }
    function Evaluate()

    {

    // AlfaDirect. 2015. OX

    // HeikenAshi Candles

    if (CurrentIndex < 1)

    {

    Close = Input.Close[0];

    Open = Input.Open[0];

    High = Input.High[0];

    Low = Input.Low[0];

    }

    else

    {

    Close = 0.25*(Input.Open[0] + Input.High[0] + Input.Low[0] + Input.Close[0]);

    Open = 0.5*(Open[-1] + Close[-1]);

    High = Math.Max(Math.Max(Open[0], Input.High[0]), Close[0]);

    Low = Math.Min(Math.Min(Open[0], Input.Low[0]), Close[0]);

    High.DrawVertical(Low, Color.Black, Line.Solid, 1);

    if ( Close > Open)

    Close.DrawHistogram(Open, Color.FromArgb(150, Color.Blue), Line.Solid, 1, Color.Blue, 100);

    else

    Close.DrawHistogram(Open, Color.FromArgb(150, Color.Magenta), Line.Solid, 1, Color.Magenta, 100);

    }

    }

    Ichimoku – ИШИМОКУ


    Индикатор представляет собой систему, состоящую из линий: TenkanSen, KijunSen, SenkouSpanA, SenkouSpanB, Chikou.

    TenkanSen  — короткая линия тренда, значения которой равны половине суммы самой высокой и низкой цены за короткий промежуток времени (Ts):



    Линия TenkanSen трактуется как направление движения тренда. Причём, считается, что чем выше крутизна этой линии тем ярче выражен тренд.

    KijunSen — среднее между максимум и минимум за средний промежуток времени (Tm):



    KijunSen используется в качестве показателя движения рынка. Если цены выше неё, они, вероятнее будут продолжать расти и наоборот.

    SenkouSpanA — среднее между Tenkan и Kijun, сдвинутое вперёд на средний временной промежуток (Tm):



    SenkouSpanB — среднее между максимумом и минимум за длинный промежуток времени (Tl), сдвинутое вперёд на средний промежуток времени (Tm):



    Chikou — сдвинутое назад на средний промежуток времени (Tm) значение цены:



    Облако — промежуток между Senkou A и Senkou B, показывающий волатильность рынка. Считается, что если цена находится в облаке, преобладает боковой тренд.

    Типовые параметры: Ts = 9, Tm = 26, Tl = 52.

    Автор:  Санджин Ишимоку

    Первоисточник: Wikipedia

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

    function Initialize()

    {

    IndicatorName = "Ichimoku";

    PriceStudy = true;

    AddInput("Input", Inputs.Candle);

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

    AddSeries("KijunSen", DrawAs.Line, Color.Cyan);

    AddSeries("SenkouSpanA", DrawAs.Custom, Color.Gray);

    AddSeries("SenkouSpanB", DrawAs.Line, Color.Black);

    // Должно соблюдаться: Ts = 9 << Tm = 26 << Tl = 52;

    AddParameter("Tl", 52, 2);

    AddParameter("Tm", 26);

    AddParameter("Ts", 9);

    }
    function Evaluate()

    {

    // AlfaDirect. 2014. OX.

    // ICHIMOKU. Описание по wikipedia.

    var Max = 0.0;

    var Min = 1000000000000.0;

    var T = 0.0;

    var K = 0.0;

    var i = 0;
    if (CurrentIndex < Tm+Tl)

    {

    TenkanSen = Input.Close[0];

    KijunSen = Input.Close[0];

    SenkouSpanA = Input.Close[0];

    SenkouSpanB = Input.Close[0];

    }

    else

    {

    for (i = 0; i <= Tm+Tl; i++)

    {

    if (Input.High[-i] > Max)

    Max = Input.High[-i];

    if (Input.Low[-i] < Min)

    Min = Input.Low[-i];

    if (i == Ts)

    TenkanSen = (Max + Min) / 2.0;

    if (i == Tm)

    {

    KijunSen = (Max + Min) / 2.0;

    Max = 0.0;

    Min = 1000000000000.0;

    }

    if (i == Tm + Ts)

    T = (Max + Min)/2;

    if (i == Tm + Tm)

    K = (Max + Min)/2;

    } // end for

    SenkouSpanA = (T + K) / 2.0;

    SenkouSpanB = (Max + Min) / 2.0;

    SenkouSpanA.DrawChannel( SenkouSpanB );
    } // end if
    }


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


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