Индикаторы: MACD Crossing the zero level (color candles)

 

MACD Crossing the zero level (color candles):

Цветные свечи отображают области, в которых индикатор MACD пересекает нулевую линию.

MACD Crossing the zero level (clr candles) Signal

Рис. 1. Отображение областей для сигнальной линии индикатора MACD

MACD Crossing the zero level (clr candles) MACD

Рис. 2. Отображение областей для основной линии индикатора MACD

Автор: Vladimir Karputov

 

Я так понимаю, это пример как делать не надо...

А чем не устраивает штатный индикатор iMACD()??? Зачем было обращаться к двум индикаторам

//--- get MA handles
   ExtFastMaHandle=iMA(NULL,0,InpFastEMA,0,MODE_EMA,InpAppliedPrice);
   ExtSlowMaHandle=iMA(NULL,0,InpSlowEMA,0,MODE_EMA,InpAppliedPrice);


И пора-бы почитать документацию и вместо

//---
   int limit;
   if(prev_calculated==0)
      limit=0;
   else limit=prev_calculated-1;

писать покороче без потери читаемости и работоспособности

//---
   int limit = prev_calculated == 0 ? 0 : prev_calculated-1;


Дальше ждём индикатор в виде баров, затем в виде линии. А сделать в зависимости от вида графика по силам? На какой график переключаемся, то и должен показывать индикатор.

Переключаемся этими кнопками


 
Alexey Viktorov:

Я так понимаю, это пример как делать не надо...

А чем не устраивает штатный индикатор iMACD()??? Зачем было обращаться к двум индикаторам


И пора-бы почитать документацию и вместо

писать покороче без потери читаемости и работоспособности


Дальше ждём индикатор в виде баров, затем в виде линии. А сделать в зависимости от вида графика по силам? На какой график переключаемся, то и должен показывать индикатор.

Переключаемся этими кнопками


Индикаторы всегда можно писать использую минимум два подхода: 1. внесением изменений в родительский код индикатора или 2. через обращение к хендлу индикатора и последующее копирование информации из индикаторных буферов.
Я выбрал вариант 1. 
 
Vladimir Karputov:
Индикаторы всегда можно писать использую минимум два подхода: 1. внесением изменений в родительский код индикатора или 2. через обращение к хендлу индикатора и последующее копирование информации из индикаторных буферов.
Я выбрал вариант 1. 

Это в какой родительский код вносятся изменения чтением буфера индикаторов iMA

CopyBuffer(ExtFastMaHandle,0,0,to_copy,ExtFastMaBuffer)
CopyBuffer(ExtSlowMaHandle,0,0,to_copy,ExtSlowMaBuffer)

Так это первый вариант или второй??? Изменение родительского кода или чтение буферов???

 
Alexey Viktorov:

Это в какой родительский код вносятся изменения чтением буфера индикаторов iMA

Так это первый вариант или второй??? Изменение родительского кода или чтение буферов???


Код индикатора MACD: MACD

 

Так что на счёт универсальности индикатора с переключением вида индикатора кнопками переключения вида графика?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Индикаторы: MACD Crossing the zero level (color candles)

Alexey Viktorov, 2017.10.26 10:29


Дальше ждём индикатор в виде баров, затем в виде линии. А сделать в зависимости от вида графика по силам? На какой график переключаемся, то и должен показывать индикатор.

Переключаемся этими кнопками


 

Отличный индикатор, советника по нему не хватает:) кто-то может написать робота по данному индикатору?

 
Krivets:

Отличный индикатор, советника по нему не хватает:) кто-то может написать робота по данному индикатору?


Ну так, я могу :) .

 
Vladimir Karputov:

Ну так, я могу :) .


Было бы не плохо) написал бы сам, если бы разбирался в программировании. 

 
Krivets:

Отличный индикатор, советника по нему не хватает:) кто-то может написать робота по данному индикатору?


это обыкновенный терминальный индикатор MACD -- только в другой отрисовке. И советник по нему есть уже готовый, идёт с терминалом.

 
Andrey F. Zelinsky:

это обыкновенный терминальный индикатор MACD -- только в другой отрисовке. И советник по нему есть уже готовый, идёт с терминалом.


В терминале советник работает по другому принципу, меня в данном случае интересует пересечение нулевой линии самим индикатором.

Причина обращения: