Продвинутое использование торговой платформы MetaTrader 5. Создание индикаторов и торговых роботов на MQL5 и Python. Издание 3-е, исправленное и дополненное
Давайте, модифицируем код индикатора ADX таким образом, чтобы раскрасить диаграмму ADX в четыре цвета, которые соответствуют описанным выше четырем торговым сигналам.
В качестве первого шага изменим свойство indicator_type1 на DRAW_COLOR_LINE.
Далее увеличим на единицу значение свойства indicator_buffers на значение 7.
Объявим массив для буфера цвета ExtColorsBuffer.
И в функции OnInit() свяжем объявленный массив с буфером цвета с помощью функции SetIndexBuffer.
Тут есть хитрость – индекс буфера цвета должен следовать за индексом буфера значений индикатора.
Если, например, связать массив ExtColorsBuffer с буфером с индексом 6, тогда индикатор не будет корректно отрисовываться.
В свойство indicator_color1 добавим цветов.
И увеличим толщину линии с помощью свойства indicator_width1.
В функции OnCalculate в конце перед закрывающей скобкой цикла for добавим код заполнения буфера цвета значениями согласно описанной нами стратегии.
Откомпилируем код и получим индикатор с визуальным отображением сигналов на покупку и продажу: