Делаю индикатор с разноцветными свечами. При этом пытаюсь по максимуму избавиться от #property.
Не получается обойтись без #property indicator_color1. Если убрать то можно использовать только 1 цвет.
Кто-нибудь справился с этим?
Смотрели пример в справке (mql5)?
Смотрел. Там явно про это не сказано. Просто пишут что сначала создают #property на 8 цветов.
//+------------------------------------------------------------------+ //| Изменяет цвет отрезков свечей | //+------------------------------------------------------------------+ void ChangeColors(color &cols[],int plot_colors) { //--- количество цветов int size=ArraySize(cols); //--- string comm=ChartGetString(0,CHART_COMMENT)+"\r\n\r\n"; //--- для каждого цветового индекса зададим новый цвет случайным образом for(int plot_color_ind=0;plot_color_ind<plot_colors;plot_color_ind++) { //--- получим случайное число int number=MathRand(); //--- получим индекс в массиве col[] как остаток от целочисленного деления int i=number%size; //--- установим цвет для каждого индекса как свойство PLOT_LINE_COLOR PlotIndexSetInteger(0, // номер графического стиля PLOT_LINE_COLOR, // идентификатор свойства plot_color_ind, // индекс цвета, куда запишем цвет cols[i]); // новый цвет //--- запишем цвета comm=comm+StringFormat("CandleColorIndex[%d]=%s \r\n",plot_color_ind,ColorToString(cols[i],true)); ChartSetString(0,CHART_COMMENT,comm); } //---Вроде это...
Вроде это...
Смотрел этот пример.
Получше справку глянул пишут:
"Набор и количество цветов в специальном массиве цветов можно задавать директивой компилятора #property indicator_color, где через запятую указываются все необходимые цвета."
Похоже без #property не обойтись.
Смотрел этот пример.
Получше справку глянул пишут:
"Набор и количество цветов в специальном массиве цветов можно задавать директивой компилятора #property indicator_color, где через запятую указываются все необходимые цвета."
Похоже без #property не обойтись.
Обойтись..) Например, установка двух цветов.
PlotIndexSetInteger( 0, PLOT_COLOR_INDEXES, 2 ); PlotIndexSetInteger( 0, PLOT_LINE_COLOR, 0, clrRed ); PlotIndexSetInteger( 0, PLOT_LINE_COLOR, 1, clrLime );
Обойтись..) Например, установка двух цветов.
PlotIndexSetInteger( 0, PLOT_COLOR_INDEXES, 2 );
Спасибо, то что нужно!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Делаю индикатор с разноцветными свечами. При этом пытаюсь по максимуму избавиться от #property.
Не получается обойтись без #property indicator_color1. Если убрать то можно использовать только 1 цвет.
Кто-нибудь справился с этим?