Как создать правила в блоке для определенных обьектов.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Jaroslav Matveev
21
Jaroslav Matveev  
На индикаторе строятся множество TRENDLINE , для каждой из них приходится прописывать свойства - а это страница кода. свойства примерно одинфковые за исключением цвета и координат. Можно ли как то сделать блог со свойствами один. И чтобы линии брали все свойства от туда при построении??
Georgiy Merts
9186
Georgiy Merts  
Через базовый класс и наследников ? Не ?
Jaroslav Matveev
21
Jaroslav Matveev  

George Merts:
Через базовый класс и наследников ? Не ?

не умею работать с классами, как это сделать?? 

Jaroslav Matveev
21
Jaroslav Matveev  
Jaroslav Matveev:
подскажите пожалуйста.
Georgiy Merts
9186
Georgiy Merts  

Ну, надо хотя бы немного уметь пользоваться ООП-наследованием.

Создается базовый класс, в котором устанавливаются общие свойства. А потом - от него наследуются разные классы, в которых добавляются особые свойства.

И там, где необходимы разные объекты - они объявляются, в них вызываются функции базового класса, для установки общих параметров, и особые функции, для установления других, особых свойств.

Собственно, Стандартная Библиотека - поглядите, там графические фигуры построены на этом принципе.

Vladimir Karputov
Модератор
182952
Vladimir Karputov  
Jaroslav Matveev:
На индикаторе строятся множество TRENDLINE , для каждой из них приходится прописывать свойства - а это страница кода. свойства примерно одинфковые за исключением цвета и координат. Можно ли как то сделать блог со свойствами один. И чтобы линии брали все свойства от туда при построении??

А стандартный пример не подойдёт? Обратите внимание на главную функцию построения "TrendCreate" - в ней ВСЕ значения заданы по-умолчанию:

//+------------------------------------------------------------------+
//| Создает линию тренда по заданным координатам                     |
//+------------------------------------------------------------------+
bool TrendCreate(const long            chart_ID=0,        // ID графика
                 const string          name="TrendLine",  // имя линии
                 const int             sub_window=0,      // номер подокна
                 datetime              time1=0,           // время первой точки
                 double                price1=0,          // цена первой точки
                 datetime              time2=0,           // время второй точки
                 double                price2=0,          // цена второй точки
                 const color           clr=clrRed,        // цвет линии
                 const ENUM_LINE_STYLE style=STYLE_SOLID, // стиль линии
                 const int             width=1,           // толщина линии
                 const bool            back=false,        // на заднем плане
                 const bool            selection=true,    // выделить для перемещений
                 const bool            ray_left=false,    // продолжение линии влево
                 const bool            ray_right=false,   // продолжение линии вправо
                 const bool            hidden=true,       // скрыт в списке объектов
                 const long            z_order=0)         // приоритет на нажатие мышью
  {


 Если Вам нужно менять только цвет и координаты - тогда передавайте только эти первые значения:

  TrendCreate(chart_ID,name,sub_window,time1,price1,time2,price2,clr);

а остальные переменные указывать не нужно, так как они идут по-умолчанию.

Файлы:
OBJ_TREND.mq5 12 kb
Dmitry Fedoseev
56877
Dmitry Fedoseev  
Просто функцию для создания линии, в ней присваиваются все свойства. Те свойства, которые менять не надо, задаются только в функции, остальные передаются в функцию как параметры.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий