Общие вопросы по разработке > Осциллятор Чайкина

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
MonteCristo
Сообщения: 33
Зарегистрирован: 16 май 2018, 19:52
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Осциллятор Чайкина

Непрочитанное сообщение MonteCristo » 16 июл 2018, 21:48

Доброе время суток. Нет ли у кого уже написанного для АД Осцилятора Чайкина?

MonteCristo
Сообщения: 33
Зарегистрирован: 16 май 2018, 19:52
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Осциллятор Чайкина

Непрочитанное сообщение MonteCristo » 16 июл 2018, 22:42

Евгений, подскажите, пожалуйста, как можно вычислить EMA от пользовательского индикатора? Вот A/D я написал индикатор, теперь надо как-то взять EMA от A/D. Для Чайкина.

MonteCristo
Сообщения: 33
Зарегистрирован: 16 май 2018, 19:52
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Осциллятор Чайкина

Непрочитанное сообщение MonteCristo » 16 июл 2018, 22:49

Вопрос снимается. Сам нашел в инструкции.

MonteCristo
Сообщения: 33
Зарегистрирован: 16 май 2018, 19:52
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Осциллятор Чайкина

Непрочитанное сообщение MonteCristo » 17 июл 2018, 19:20

Код: Выделить всё

function Initialize()
{
   // Область определения параметров индикатора

   // Обязательные параметры:
   IndicatorName = "My_Chaikin_Oscillator";            
   PriceStudy = false;                  
   AddInput("Input", Inputs.Candle);      
    AddSeries("Chaikin_Oscillator", DrawAs.Line, Color.White);
    AddSeries("Zero_Line", DrawAs.Line, Color.Red);
    
    // Дополнительные параметры:
    AddParameter("Pfast", 3);
    AddParameter("Pslow", 10);   
}

function Evaluate()
{   
    Chaikin_Oscillator = EMA(MY.My_AD(Input), Pfast) - EMA(MY.My_AD(Input), Pslow);
    Zero_Line = 0.0;
}

Это код Осцилятора Чайкина, если кому интересно.

Код: Выделить всё

function Initialize()
{
   // Область определения параметров индикатора

   // Обязательные параметры:
   IndicatorName = "My_AD";            
   PriceStudy = false;                  
   AddInput("Input", Inputs.Candle);      
    AddSeries("AD", DrawAs.Line, Color.Red);
}

function Evaluate()
{
   // Область расчета значения индикатора
   // Accumulation/Distribution (AD)
    var CL = (Input.Close[0] - Input.Open[0]) * Input.Volume[0];
    var Delta = (Input.High[0] - Input.Low[0]);
    if (Delta == 0)
    {
        CL = 0;
    }
    else
    {
        CL = CL / Delta;
    }

    if (CurrentIndex < 1)
    {
        AD = CL;
    }
    else
    {
        AD = AD[-1] + CL;
    }
}

А это код индикатора A/D, от которого считается Осцилятор Чайкина.

Аватара пользователя
evge
Администратор
Сообщения: 1652
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 64 раза
Поблагодарили: 303 раза
Контактная информация:

Re: Осциллятор Чайкина

Непрочитанное сообщение evge » 18 июл 2018, 09:29

никогда такого не было и вот опять

MonteCristo
Сообщения: 33
Зарегистрирован: 16 май 2018, 19:52
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Осциллятор Чайкина

Непрочитанное сообщение MonteCristo » 19 июл 2018, 20:24

Я тоже сначала так сделал, но потом подумал, может кому A/D понадобится. Странно, что этих индюков нет в стандартном наборе. Спасибо, Евгений.


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей