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

 
Обычно цвет индикатора задается в пропертиз, во так:
#property indicator_color1 clrOrange 

А мне нужно, чтобы при добавлении индикатора на график, во входных параметрах можно было выбрать цвет индикатора.

Как такое можно сделать?
 
igrok333:
Обычно цвет индикатора задается в пропертиз, во так:

А мне нужно, чтобы при добавлении индикатора на график, во входных параметрах можно было выбрать цвет индикатора.

Как такое можно сделать?

Так и надо делать. А в параметрах в закладке"Цвета" можно менять.


 
Alexey Viktorov:

Так и надо делать. А в параметрах в закладке"Цвета" можно менять.


Меня заказчик просит, чтобы во входных параметрах можно было цвет менять.
Это вообще можно как-то реализовать?
 
igrok333:
Меня заказчик просит, чтобы во входных параметрах можно было цвет менять.
Это вообще можно как-то реализовать?
input color ColorInfo1 = clrDimGray; // Цвет
input color ColorInfo2 = clrGray;    // Цвет


SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,indicator_width1,ColorInfo1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,indicator_width2,ColorInfo2);
 
igrok333:
Меня заказчик просит, чтобы во входных параметрах можно было цвет менять.
Это вообще можно как-то реализовать?

А разве я показал не во входных параметрах?

Как показал Виталий можно сделать, но я уверен, что для себя он так не делает.

 
Vitaly Muzichenko:
Спасибо.

Виталий шарит.)
 
igrok333:
Спасибо.

Виталий шарит.)

Даже есть готовый пример индикатора:

Custom Moving Average Input Color

Во входных параметрах добавлен пункт: "цвет линии".

Custom Moving Average Input Color

Вы, наверное, часто замечали, что если в эксперте есть обращение к индикатору Moving Average, то такой индикатор в визуальном режиме тестера отображается ТОЛЬКО красным цветом. Еще хуже ситуация, когда эксперт обращается не к одному, а сразу к трем индикаторам Moving Average: все три индикатора опять-таки отображаются красным цветом

Three MA in one color

, и визуально отличить один от другого очень трудно.

Чтобы решить вопрос с визуальным отображением индикаторов Moving Average, в тестере стратегий и был добавлен параметр "цвет линии". Соответственно, в советнике теперь нужно обращаться не к iMA, а к iCustom (пример из кода Crossing of two iMA) :

//--- create handle of the indicator iMA
   handle_iMA_First=iCustom(m_symbol.Name(),Period(),"Custom Moving Average Input Color",
                            InpMAPeriodFirst,InpMAShiftFirst,InpMAMethodFirst,InpMAFirstColor,PRICE_CLOSE);
//handle_iMA_First=iMA(Symbol(),Period(),InpMAPeriodFirst,InpMAShiftFirst,InpMAMethodFirst,PRICE_CLOSE);
//--- if the handle is not created 
   if(handle_iMA_First==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

На примере советника Crossing of two iMA, теперь в визуальном тестере стратегий вызов трех индикаторов визуально отлично различается:

Crossing of two iMA


Custom Moving Average Input Color
Custom Moving Average Input Color
  • www.mql5.com
Во входных параметрах добавлен пункт: "цвет линии". Вы, наверное, часто замечали, что если в эксперте есть обращение к индикатору Moving Average, то такой индикатор в визуальном режиме тестера отображается ТОЛЬКО красным цветом. Еще хуже ситуация, когда эксперт обращается не к одному, а сразу к трем индикаторам Moving Average: все три...
 
Alexey Viktorov:

А разве я показал не во входных параметрах?

Как показал Виталий можно сделать, но я уверен, что для себя он так не делает.

Когда-то подымали эту тему по поводу меня.

Я как раз таки люблю делать именно так и не люблю когда делают вот так:

 
Vitaly Muzichenko:

Когда-то подымали эту тему по поводу меня.

Я как раз таки люблю делать именно так и не люблю когда делают вот так:


Для МТ5? А если двухцветное отображение? Как в mql4 используешь два буфера?

 
Alexey Viktorov:

Для МТ5? А если двухцветное отображение? Как в mql4 используешь два буфера?

На каждый свой цвет во входных. Ну не люблю Я открывать дополнительную вкладку, во входных гораздо удобнее в плане разделения и описания, что к чему относится. 

 
Vitaly Muzichenko:

На каждый свой цвет во входных. Ну не люблю Я открывать дополнительную вкладку, во входных гораздо удобнее в плане разделения и описания, что к чему относится. 

Ну... для себя-то можно и нужные прописать и не открывать больше ничего. Но... запрещённая фраза в Германии... хотя очень часто подходящая в разных ситуациях не сопоставляя с местом где была написана.

Причина обращения: