Автор
evge
Входящие параметры
Period - период вышестоящего таймфрейма EMA
TFd - нижестоящий таймфрейм в секундах (M5 = 5*60 = 300)
TFu - вышестоящий таймфрейм в секундах (M15 = 15*60 = 900, H1 = 1*60*60 = 3600 и т.д.)
Примеры работы
Исходный код
Код: Выделить всё
function Initialize()
{
IndicatorName = "EMAx";
AddInput("Input", Inputs.Candle);
AddParameter("Period", 50, 300); // Период EMA для вышестоящего таймфрейма
AddParameter("TFd", 300); // Нижестоящий таймфрейм в секундах (M5 = 5*60 = 300)
AddParameter("TFu", 900); // Вышестоящий таймфрейм в секундах (M15 = 15*60 = 900, H1 = 1*60*60 = 3600 и т.д.)
PriceStudy = true;
AddSeries("EMAx", DrawAs.Line, Color.Blue);
}
function Evaluate()
{
// evge 27.06.2016 http://alfadirect4.ru
if (CurrentIndex == 0)
{
EMAx = Input.Close[0];
}
else
{
EMAx = EMAx[-1];
if ( BarTime().Hours != BarTime(-1).Hours )
{
EMAx = EMA(Input.Close, TFu / TFd * Period)[1];
}
}
}
Скачать исходный текст