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

  • Уровень последней цены за 3 дня

  • Дневной диапазон

  • Уровни разворота

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


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

    УРОВНИ

    Last (Last Price) – уровень последней цены


    Уровень последней цены – индикатор отображает уровень последней цены и используется в для удобства наблюдения за движением цены.
    Код Альфа-Директ.

    function Initialize()

    {

    IndicatorName = "Last";

    AddInput("Input", Inputs.Price);

    PriceStudy = true;

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

    AddLevel(0, Color.Red, LineStyles.Dot, 1, "Last");

    }

    function Evaluate()

    {

    // AlfaDirect. 2015. OX

    // Last - отображает уровень значения последней сделки

    if (CurrentIndex == MaxIndex)

    {

    Levels[0].Level = Input[0];

    }

    }

    Last3D (Last Price) – уровень последней цены за 3 дня


    Уровень последней цены за 3 дня – индикатор отображает уровень последних цен за 3 дня.
    Код Альфа-Директ.

    function Initialize()

    {

    IndicatorName = "Last3D";

    AddInput("Input", Inputs.Price);

    PriceStudy = true;

    AddParameter("NeedBars", 520, 1);

    AddGlobalVariable("ListClose", Types.DoubleList);

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

    AddLevel(0, Color.Red, LineStyles.Solid, 1, "Last");

    AddLevel(0, Color.Blue, LineStyles.DashBig, 1, "Last");

    AddLevel(0, Color.Gray, LineStyles.DashSmall, 1, "Last");

    }
    function Evaluate()

    {

    // AlfaDirect. 2015
    // Запоминаем список закрытий дня

    if ( BarTime() == AsTime(10,0,0) && CurrentIndex != 0 )

    {

    ListClose.Add(Input[-1]);

    }

    if (CurrentIndex == MaxIndex)

    {

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

    {

    Levels[i].Level = ListClose[ListClose.Count - i - 1];

    if ( i >= 2 )

    break;

    }

    }

    }


    RangeOfDay (Range Of Day) – Дневной диапазон


    Дневной диапазон – индикатор отображает диапазон текущего дня, построенного по экстремумам.

    Пример. График с индикаторами Last и RangeOfDay.


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

    function Initialize()

    {

    IndicatorName = "RangeOfDay";

    AddInput("Input", Inputs.Candle);

    PriceStudy = true;

    AddSeries("RangeOfDay", DrawAs.Histogram, Color.Red); // Задаем вид линии 2

    AddLevel(0, Color.Green, LineStyles.DashBig, 1, "RangeOfDay");

    AddLevel(0, Color.Red, LineStyles.DashBig, 1, "RangeOfDay");

    AddGlobalVariable("High", Types.Double, 0);

    AddGlobalVariable("Low", Types.Double, 0);

    }

    function Evaluate()

    {

    // AlfaDirect. 2015. OX

    // RangeOfDay - дневной диапазон

    if (BarDate() == DateTime.Today && BarTime() == AsTime(10, 0, 0))

    {

    High = Input.High[0];

    Low = Input.Low[0];

    }

    else if (BarDate() == DateTime.Today && BarTime() > AsTime(10, 0, 0))

    {

    if ( Input.High[-1] > High && Input.High[0] <= Input.High[-1] && Input.High[-2] <= Input.High[-1])

    High = Input.High[-1];

    if ( Input.Low[-1] < Low && Input.Low[0] >= Input.Low[-1] && Input.Low[-2] >= Input.Low[-1])

    Low = Input.Low[-1];

    }

    if (CurrentIndex < MaxIndex - 2)

    {

    Levels[0].Level = High;

    Levels[1].Level = Low;

    }

    }

    LevelPivot (PIVOT Level)– Уровни РАЗВОРОТА


    Уровни разворота – это возможные уровни поддержки и сопротивления для колебаний цен в текущем дне. Уровни строятся относительно PivotPoint (точки разворота), которая рассчитывается как среднее максимума, минимума и закрытия предыдущего дня.

    Pivot = (High+Low+Close)/3 

    Сами уровни рассчитываются на основании максимума (high), минимума (low) и цены закрытия (close) предыдущего дня по следующим формулам:

    R1 = 2Pivot – Low 
    S1 = 2Pivot – High 
    R2 = Pivot + (R1 - S1) 
    S2 = Pivot – (R1-S1) 
    R3 = High + 2*(Pivot - Low) 
    S3 = Low – 2*(High - Pivot) 

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

    function Initialize()

    {

    IndicatorName = "LevelPivot";

    PriceStudy = true;

    AddInput("Input", Inputs.Candle);

    AddParameter("TF", 100, 5);

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

    // Global

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

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

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

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

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

    // Уровни

    AddLevel(0, Color.LightGreen, LineStyles.DashBig, 1, "LevelPivot");
    AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "LevelPivot");

    AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "LevelPivot");

    AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "LevelPivot");
    AddLevel(0, Color.Coral, LineStyles.Dot, 1, "LevelPivot");

    AddLevel(0, Color.Coral, LineStyles.Dot, 1, "LevelPivot");

    AddLevel(0, Color.Coral, LineStyles.Dot, 1, "LevelPivot");

    }
    function Evaluate()

    {

    // AlfaDirect. 2015. OX

    // LevelPivot - уровни разворота для текущего (последнего) дня

    if (CurrentIndex < 1)

    {

    Cl = Input.Close[0];

    Hi = Input.High[0];

    Lo = Input.Low[0];

    Max = Input.High[0];

    Min = Input.Low[0];

    }

    else if (BarTime() == AsTime(10, 0, 0))

    {

    Cl = Input.Close[-1];

    Hi = Max;

    Lo = Min;

    Max = Input.High[0];

    Min = Input.Low[0];

    }

    else

    {

    if (Input.High[0] > Max )

    Max = Input.High[0];

    if (Input.Low[0] < Min )

    Min = Input.Low[0];

    }
    if (CurrentIndex == MaxIndex)

    {

    var Pivot = (Hi+Lo+Cl)/3;

    Levels[0].Level = Pivot;

    // Resistance

    Levels[1].Level = Pivot * 2 - Lo;

    Levels[2].Level = Pivot + Hi - Lo;

    Levels[3].Level = Hi + 2*(Pivot-Lo);

    // Support

    Levels[4].Level = Pivot * 2 - Hi;

    Levels[5].Level = Pivot - Hi + Lo;

    Levels[6].Level = Lo - 2*(Hi-Pivot);

    }

    }

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


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