Пользовательские индикаторы > MACD_DAY (Mooving Average Convergence / Divergence Day) – схождение / расхождение скользящих средних дневного таймфрейма

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

MACD_DAY (Mooving Average Convergence / Divergence Day) – схождение / расхождение скользящих средних дневного таймфрейма

Непрочитанное сообщение evge » 12 окт 2016, 21:51

Индикатор MACD_DAY отображает на нижестоящих таймфреймах MACD дневного таймфрейма.

Особенности

В текущем дне нижестоящего таймфрейма отрисовываются значения MACD для вчерашнего дня.

Описание MACD

Основная линия индикатора MACD представляет собой разницу между двумя экспоненциальными скользящими средними с периодами Nfast и Nslow, которая показывает схождение и расхождение средних

MACDt = EMA(C, Nfast) – EMA(C, Nslow).

Для определения направления MACD используется сигнальная линия, которая вычисляется как
Signalt = EMA(MACD, Nsignal).

Типовые параметры

Для данного индикатора исторически типовыми являются следующие значения параметров Nfast = 12, Nslow = 26, Nsignal = 9. Индивидуально параметры выбираются на основании карты доходности.

Сигналы

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

Автор: Джеральд Аппель (Gerald Appel)
Источник: Джеральд Аппель, Технический анализ. Эффективные инструменты для активного инвестора.

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

MACD_DAY-01.png
MACD_DAY-01.png (51.57 КБ) 14149 просмотров


Исходный текст индикатора

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

function Initialize()
{   
IndicatorName = "MACD_DAY";
PriceStudy = false;         
AddInput("Input", Inputs.Price);               
AddParameter("PFast", 10);                       
AddParameter("PSlow", 20, 30);
AddParameter("PSig", 10);                       
AddSeries("Line", DrawAs.Custom, Color.Gray);   
AddSeries("Signal", DrawAs.Custom, Color.Red);   
AddSeries("Histogram", DrawAs.Custom, Color.Black, AxisType.ZeroBased);   
AddSeries("HistogramUp", DrawAs.Histogram, Color.Green, AxisType.ZeroBased);
AddSeries("HistogramDown", DrawAs.Histogram, Color.Red, AxisType.ZeroBased);

AddGlobalVariable("EMA1", Types.Double,  0.0);
AddGlobalVariable("EMA2", Types.Double,  0.0);
AddGlobalVariable("KC1", Types.Double, 0.0);
AddGlobalVariable("KC2", Types.Double, 0.0);
AddGlobalVariable("KC", Types.Double, 0.0);
AddGlobalVariable("Dir", Types.Boolean, true);
}

function Evaluate()
{

// evge 12.10.2016 http://alfadirect4.ru

if (CurrentIndex < 1)

   EMA1 = Input[0];                                     
   EMA2 = Input[0];                                     
   Line = 0.0;
   Signal = 0.0;
   KC1 = 2.0 /  ((double) PFast + 1.0);
   KC2 = 2.0 / ((double) PSlow + 1.0);
   KC  = 2.0 / ((double) PSig  + 1.0);
}

else

{

if (BarDate(0) != BarDate(1))
{
   EMA1 = (1.0 - KC1)*EMA1 + KC1*Input[1];
   EMA2 = (1.0 - KC2)*EMA2 + KC2*Input[1];
   Line  = EMA1 - EMA2;
   Signal  = (1.0 - KC)*Signal[1] + KC*Line;
}

else
{
   Line[0] = Line[1];
   Signal[0] = Signal[1];
}

}

if (Line > Signal)
   Line.DrawChannel(Signal, Color.Blue, 50);
else
   Line.DrawChannel(Signal, Color.Red, 50);

Histogram = Line - Signal;

if (Histogram[0] > Histogram[1]) Dir = true; else
if (Histogram[0] < Histogram[1]) Dir = false;
if (Dir)
   {
   HistogramUp[0] = Histogram[0];
   } else
   {
   HistogramDown[0] = Histogram[0];
   }

}


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

MACD_DAY.zip
(49.65 КБ) 1129 скачиваний
никогда такого не было и вот опять

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

Re: MACD_DAY (Mooving Average Convergence / Divergence Day) – схождение / расхождение скользящих средних дневного таймфр

Непрочитанное сообщение evge » 12 окт 2016, 21:58

Работает корректно с таймфремами равном или выше 1 часа.
Если необходимо ТФ ещё ниже, меняйте в коде 30 на большее значение. (т.е. EMA slow период = 20 * 30 = 600 точек истории для построения дневного EMA с периодом 20 на текущем нижестоящем таймфрейме). Необходимо учитывать возрастающую при этом нагрузку на терминал.

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

AddParameter("PSlow", 20, 30);
никогда такого не было и вот опять

Kostyan777
Сообщения: 12
Зарегистрирован: 26 апр 2020, 18:17

Re: MACD_DAY (Mooving Average Convergence / Divergence Day) – схождение / расхождение скользящих средних дневного таймфр

Непрочитанное сообщение Kostyan777 » 26 апр 2020, 18:21

evge писал(а):Работает корректно с таймфремами равном или выше 1 часа.
Если необходимо ТФ ещё ниже, меняйте в коде 30 на большее значение. (т.е. EMA slow период = 20 * 30 = 600 точек истории для построения дневного EMA с периодом 20 на текущем нижестоящем таймфрейме). Необходимо учитывать возрастающую при этом нагрузку на терминал.

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

AddParameter("PSlow", 20, 30);


Добрый день.
Если MACD считает по формуле pfast-pslow, тогда что означает переменная line ?
Вложения
Untitled.png
Untitled.png (19.99 КБ) 11689 просмотров

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

Re: MACD_DAY (Mooving Average Convergence / Divergence Day) – схождение / расхождение скользящих средних дневного таймфр

Непрочитанное сообщение evge » 26 апр 2020, 19:12

Kostyan777 писал(а):тогда что означает переменная line ?


Означает прямую линию равную 0
никогда такого не было и вот опять


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

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

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