Общие вопросы по разработке > Осциллятор Чайкина
- 
				MonteCristo
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- 
				MonteCristo
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Осциллятор Чайкина
Евгений, подскажите, пожалуйста, как можно вычислить EMA от пользовательского индикатора? Вот A/D я написал индикатор, теперь надо как-то взять EMA от A/D. Для Чайкина.
			
									
						- 
				MonteCristo
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
- 
				MonteCristo
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Осциллятор Чайкина
Код: Выделить всё
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, от которого считается Осцилятор Чайкина.
- 
				MonteCristo
- Сообщения: 35
- Зарегистрирован: 16 май 2018, 19:52
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Осциллятор Чайкина
Я тоже сначала так сделал, но потом подумал, может кому A/D понадобится. Странно, что этих индюков нет в стандартном наборе. Спасибо, Евгений.
			
									
						Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей
