home

Как поменять отображение линий и их цвета в коде индикатора

Как самостоятельно модифицировать код индикатора таким образом, чтобы он показывал только нужные вам линии, или эти линии были нужной вам толщины и цвета сразу при установке индикатора? Сегодня мы рассмотрим решение данной задачи.

Прибыль с демо на реал

Мы уже рассматривали систему 120 Cloud System, в которой применяются индикаторы с нестандартными настройками. Например, индикатор Ишимоку в ней выглядит так:

Индикатор Ишимоку в стратегии 120 Cloud System

Добиться подобного эффекта можно, изменив настройки индикатора:

Настройки индикатора

Как видим, все ненужные линии отключены – сделаны невидимыми при помощи атрибута None. Толщина основной линии установлена в 2 пункта и задана цветом Blue (синий).

Теперь эти настройки закреплены в текущей версии терминала за этим индикатором. Но что делать, если нужно этот индикатор перенести в другой терминал или отправить товарищу?

Если сделать это просто копированием индикатора из папки терминала, то данные настройки не сохранятся, и вы передадите файл индикатора с настройками по умолчанию.

Есть одно решение – создать темплейт текущего графика и скопировать в другой терминал вместе с индикатором еще и темплейт. Но у этого способа есть один существенный недостаток. Вместе с настройками нужного нам индикатора на график будут переданы настройки всего графика, и если у вас настроены нестандартные цвета свечей или цвета других индикаторов, то они могут измениться на те цвета, которые были у графика-источника.

Какой же есть выход в данной ситуации? Достаточно простой и универсальный! Если ваш индикатор в формате .mql4 – исходный код, то модификации вы можете произвести непосредственно в нем.

Давайте рассмотрим пошагово, как это делается. Для начала посмотрим, как вообще выглядит индикатор Ишимоку в терминале МетаТрейдер 4.

Стандартный Ишимоку

Нажмем клавишу F4 или выберем в меню «Сервис» пункт «Редактор MetaQuotes Language» для того, чтобы запустить редактор кода MetaEditor.

Запуск редактора MetaEditor

Окно НавигаторВ Окне навигатора выберите нужный нам индикатор и дважды кликните на него левой клавишей мыши. Напоминаем, что для модификации кода индикатора он должен иметь исходный код – формат .mq4.

Вот, что мы увидим в основном окне редактора:

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

Вспоминайте наши уроки программирования. Цвет линий задается данным параметром:

#property indicator_color1…7

И, как видите, в примере выше таких цветов задано всего 7 наименований – для всех линий индикатора.

Именно из них нам нужно оставить только одну линию, отключив остальные 6, задать ей синий цвет и толщину в 2 пункта.

Но как же узнать, цвет какой линии нужно изменить, и какая вообще линия нам нужна — ведь их 7 штук! Кто-то может воспользоваться перебором и по очереди отключать все линии последовательно – это тоже вариант, когда мы не видели настройки того индикатора, который хотим получить.

Но в нашем случае эти настройки мы видели, помните:

Настройки

 

У 5-ой линии стоит синий цвет, в то время как другие отключены.

 

Теперь возвращаемся в MetaEditor. Тут есть некоторая путаница, которая часто смущает начинающих программистов. Несмотря на то, что буферы на MQL4 нумеруются от 0, в настройках цвета этот отсчет идет с единицы. Таким образом, нужная нам линия оказывается под номером 6:

Выбор нужного буфера

Отключаем остальные линии, просто исправляя параметр цвета на clrNONE.

А у нужной нам линии пишем нужный нам цвет – clrBlue.

 

Вот, что получается в итоге:

Модификация кода

Нажимаем F7 или кнопку «Компилировать»:

Кнопка Компиляция

И смотрим на внешний вид индикатора после модификации:

Вид индикатора после первой правки

Осталась одна линия, но это еще не совсем то, что нужно – линия индикатора прерывистая и не очень хорошо заметна. Сделаем ее сплошной и увеличим толщину.

Для этого мы должны прокрутить окно с кодом индикатора на процедуру void OnInit(void). Это инициализирующий код индикатора – именно в нем задаются настройки буферов и внешний вид линий.

Вспоминаем, что буферы нумеруются от 0, поэтому здесь нас будет интересовать буфер №5 (выделен желтым):

Функция Deinit

STYLE_DOT – задает внешний вид линии, состоящий из точек. Нам нужно исправить его на STYLE_SOLID – сплошная линия.

Также сразу за новым параметром поставим запятую и зададим толщину линии – 2.

Модификация буфера

Нажимаем «Компиляция» и видим результат на экране:

Готовый индикатор

Все получилось так, как мы хотели!

Удачи в торговле!

Всегда с вами, Лаборатория FOREX Review!

Журнал FX Review

Правила комментирования