Пользовательские индикаторы > EMAx - EMA вышестоящего таймфрейма на нижестоящем

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

EMAx - EMA вышестоящего таймфрейма на нижестоящем

Непрочитанное сообщение evge » 27 июн 2016, 10:39

EMAx формирует линию экспоненциальной скользящей средней EMA по периоду вышестоящего таймфрейма на нижестоящих таймфреймах.

Автор
evge

Входящие параметры

Period - период вышестоящего таймфрейма EMA
TFd - нижестоящий таймфрейм в секундах (M5 = 5*60 = 300)
TFu - вышестоящий таймфрейм в секундах (M15 = 15*60 = 900, H1 = 1*60*60 = 3600 и т.д.)

Примеры работы

EMAx-01.png


Исходный код

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

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];
}
}
}


Скачать исходный текст

EMAx.zip
(919 байт) 1258 скачиваний
никогда такого не было и вот опять

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

Re: EMAx - EMA вышестоящего таймфрейма на нижестоящем

Непрочитанное сообщение evge » 27 июн 2016, 12:06

тут есть слабое звено

AddParameter("Period", 50, 300); // Период EMA для вышестоящего таймфрейма

т.е. тут подгружается история = 50 * 300, а это 15000 баров.

можно конечно уменьшать это значение (300 на более меньшее) в исходном коде, но тогда для далеко стоящих ТФ друг от друга в секундах, не будет загружена вся необходимая история для построения.

для загрузки большой истории потребуется много ресурсов и АД4 может начать плохо себя вести :)
никогда такого не было и вот опять

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

Re: EMAx - EMA вышестоящего таймфрейма на нижестоящем

Непрочитанное сообщение evge » 27 июн 2016, 13:46

Проще просто построить скользящую на нижестоящем периоде с периодом пересчитанным для вышестоящего ТФ
никогда такого не было и вот опять

naum
Сообщения: 22
Зарегистрирован: 17 мар 2016, 08:59

Re: EMAx - EMA вышестоящего таймфрейма на нижестоящем

Непрочитанное сообщение naum » 27 июл 2016, 14:15

С EHMA можете так же помочь


Вернуться в «Пользовательские индикаторы»

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

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