Как самостоятельно модифицировать код индикатора таким образом, чтобы он показывал только нужные вам линии, или эти линии были нужной вам толщины и цвета сразу при установке индикатора? Сегодня мы рассмотрим решение данной задачи.
Мы уже рассматривали систему 120 Cloud System, в которой применяются индикаторы с нестандартными настройками. Например, индикатор Ишимоку в ней выглядит так:
Добиться подобного эффекта можно, изменив настройки индикатора:
Как видим, все ненужные линии отключены – сделаны невидимыми при помощи атрибута None. Толщина основной линии установлена в 2 пункта и задана цветом Blue (синий).
Теперь эти настройки закреплены в текущей версии терминала за этим индикатором. Но что делать, если нужно этот индикатор перенести в другой терминал или отправить товарищу?
Если сделать это просто копированием индикатора из папки терминала, то данные настройки не сохранятся, и вы передадите файл индикатора с настройками по умолчанию.
Есть одно решение – создать темплейт текущего графика и скопировать в другой терминал вместе с индикатором еще и темплейт. Но у этого способа есть один существенный недостаток. Вместе с настройками нужного нам индикатора на график будут переданы настройки всего графика, и если у вас настроены нестандартные цвета свечей или цвета других индикаторов, то они могут измениться на те цвета, которые были у графика-источника.
Какой же есть выход в данной ситуации? Достаточно простой и универсальный! Если ваш индикатор в формате .mql4 – исходный код, то модификации вы можете произвести непосредственно в нем.
Давайте рассмотрим пошагово, как это делается. Для начала посмотрим, как вообще выглядит индикатор Ишимоку в терминале МетаТрейдер 4.
Нажмем клавишу F4 или выберем в меню «Сервис» пункт «Редактор MetaQuotes Language» для того, чтобы запустить редактор кода MetaEditor.
В Окне навигатора выберите нужный нам индикатор и дважды кликните на него левой клавишей мыши. Напоминаем, что для модификации кода индикатора он должен иметь исходный код – формат .mq4.
Вот, что мы увидим в основном окне редактора:
Вспоминайте наши уроки программирования. Цвет линий задается данным параметром:
#property indicator_color1…7
И, как видите, в примере выше таких цветов задано всего 7 наименований – для всех линий индикатора.
Именно из них нам нужно оставить только одну линию, отключив остальные 6, задать ей синий цвет и толщину в 2 пункта.
Но как же узнать, цвет какой линии нужно изменить, и какая вообще линия нам нужна — ведь их 7 штук! Кто-то может воспользоваться перебором и по очереди отключать все линии последовательно – это тоже вариант, когда мы не видели настройки того индикатора, который хотим получить.
Но в нашем случае эти настройки мы видели, помните:
У 5-ой линии стоит синий цвет, в то время как другие отключены.
Теперь возвращаемся в MetaEditor. Тут есть некоторая путаница, которая часто смущает начинающих программистов. Несмотря на то, что буферы на MQL4 нумеруются от 0, в настройках цвета этот отсчет идет с единицы. Таким образом, нужная нам линия оказывается под номером 6:
Отключаем остальные линии, просто исправляя параметр цвета на clrNONE.
А у нужной нам линии пишем нужный нам цвет – clrBlue.
Вот, что получается в итоге:
Нажимаем F7 или кнопку «Компилировать»:
И смотрим на внешний вид индикатора после модификации:
Осталась одна линия, но это еще не совсем то, что нужно – линия индикатора прерывистая и не очень хорошо заметна. Сделаем ее сплошной и увеличим толщину.
Для этого мы должны прокрутить окно с кодом индикатора на процедуру void OnInit(void). Это инициализирующий код индикатора – именно в нем задаются настройки буферов и внешний вид линий.
Вспоминаем, что буферы нумеруются от 0, поэтому здесь нас будет интересовать буфер №5 (выделен желтым):
STYLE_DOT – задает внешний вид линии, состоящий из точек. Нам нужно исправить его на STYLE_SOLID – сплошная линия.
Также сразу за новым параметром поставим запятую и зададим толщину линии – 2.
Нажимаем «Компиляция» и видим результат на экране:
Все получилось так, как мы хотели!
Удачи в торговле!
Всегда с вами, Лаборатория FOREX Review!