Работа с дерективами в идикаторах

 

Доброго времени суток! Имеется индикатор, рисующий линии тренда (удаляя и создавая соответствующие графические объекты при вызове OnCalculate()), прошу подсказать, как правильно организовать настройку стилей линей (т.е. через вкладку цвета), как работать с ObjectSetInteger - знаю, пробовал такой вариант:

ObjectSetInteger(0, "Line 1/1", OBJPROP_COLOR, indicator_color1);
ObjectSetInteger(0, "Line 1/1", OBJPROP_STYLE, indicator_style1);
ObjectSetInteger(0, "Line 1/1", OBJPROP_WIDTH, indicator_width1);

сответсвенно, заранее выделяя нужное количесво графических серий с флагом DRAW_NONE, но линии всегда имеют стиль, указанный в исходном коде,

#property indicator_label1  "Line 1/1"
#property indicator_type1   DRAW_NONE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

т.е. изменение параметров во вкладке "цвета" не влияет на линии (всегда красная сплошная линия ширины 1). Заранее спасибо знатокам!

 

Если возможно организовать только через input, прошу тогда подсказать, как можно убрать все пункты из вкладки цвета, т.к. даже при установке "#property indicator_plots   0" во вкладке появляется нигде не объявленный пункт:


 
И да, директива через "и", заранее извиняюсь перед всеми знатоками русского языка. Я математик, но не лингвист, к сожалению :^
 
upd. Сделал через input, но наличие рудиментарного пункта во вклаке цвета мне не нравится, в любом случае
 
ObjectSetInteger(0, "Line 1/1", OBJPROP_COLOR, indicator_color1);
ObjectSetInteger(0, "Line 1/1", OBJPROP_STYLE, indicator_style1);
ObjectSetInteger(0, "Line 1/1", OBJPROP_WIDTH, indicator_width1);

Посмотрите в справочнике (Справочник MQL5 / Основы языка / Препроцессор / Свойства программ (#property) ), что значат параметры indicator_color1, indicator_style1, indicator_width1 - это не совсем то, что нужно...

Посмотрите примеры в кодобазе: https://www.mql5.com/ru/code
MQL5 Code Base
MQL5 Code Base
  • www.mql5.com
Библиотека исходных кодов на языке MQL5 для MetaTrader 5
 

Через input можно так задать:

input ENUM_LINE_STYLE    i_eStyle1   = STYLE_SOLID;       // Style of first line
input color              i_clrColor1 = clrRed;            // Color of first line
input uint               i_uWidth1   = 1;                 // Width of first line

А ненужный параметр во вкладке "Цвета" никак не убрать. Хотя бы один должен быть, но он ни на что не влияет.

 
//+------------------------------------------------------------------+
//|                                                    test-test.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

Это шапка индикатора, созданного мастером создания индикатора в редакторе. Из введенных параметров - только имя индикатора. Всего достаточно, ничто не мешает. Далее возможно рисовать как в скрипте, как в эксперте.