Обычно цвет индикатора задается в пропертиз, во так:
А мне нужно, чтобы при добавлении индикатора на график, во входных параметрах можно было выбрать цвет индикатора.
Как такое можно сделать?
Так и надо делать. А в параметрах в закладке"Цвета" можно менять.
Так и надо делать. А в параметрах в закладке"Цвета" можно менять.
Это вообще можно как-то реализовать?
Меня заказчик просит, чтобы во входных параметрах можно было цвет менять.
Это вообще можно как-то реализовать?
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);
Меня заказчик просит, чтобы во входных параметрах можно было цвет менять.
Это вообще можно как-то реализовать?
А разве я показал не во входных параметрах?
Как показал Виталий можно сделать, но я уверен, что для себя он так не делает.
Виталий шарит.)
Спасибо.
Виталий шарит.)
Даже есть готовый пример индикатора:
Custom Moving Average Input Color
Во входных параметрах добавлен пункт: "цвет линии".
Вы, наверное, часто замечали, что если в эксперте есть обращение к индикатору Moving Average, то такой индикатор в визуальном режиме тестера отображается ТОЛЬКО красным цветом. Еще хуже ситуация, когда эксперт обращается не к одному, а сразу к трем индикаторам Moving Average: все три индикатора опять-таки отображаются красным цветом
, и визуально отличить один от другого очень трудно.
Чтобы решить вопрос с визуальным отображением индикаторов 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, теперь в визуальном тестере стратегий вызов трех индикаторов визуально отлично различается:

- www.mql5.com
А разве я показал не во входных параметрах?
Как показал Виталий можно сделать, но я уверен, что для себя он так
не делает.
Когда-то подымали эту тему по поводу меня.
Я как раз таки люблю делать именно так и не люблю когда делают вот так:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как сделать чтобы цвет индикатора задавался во входных параметрах?
Alexey Viktorov, 2020.03.20 08:15
Так и надо делать. А в параметрах в закладке"Цвета" можно менять.
Когда-то подымали эту тему по поводу меня.
Я как раз таки люблю делать именно так и не люблю когда делают вот так:
Для МТ5? А если двухцветное отображение? Как в mql4 используешь два буфера?
Для МТ5? А если двухцветное отображение? Как в mql4 используешь два буфера?
На каждый свой цвет во входных. Ну не люблю Я открывать дополнительную вкладку, во входных гораздо удобнее в плане разделения и описания, что к чему относится.
На каждый свой цвет во входных. Ну не люблю Я открывать дополнительную вкладку, во входных гораздо удобнее в плане разделения и описания, что к чему относится.
Ну... для себя-то можно и нужные прописать и не открывать больше ничего. Но... запрещённая фраза в Германии... хотя очень часто подходящая в
разных ситуациях не сопоставляя с местом где была написана.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
А мне нужно, чтобы при добавлении индикатора на график, во входных параметрах можно было выбрать цвет индикатора.
Как такое можно сделать?