заработались
как-то так через свойства графика
ChartSetInteger(0,CHART_COLOR_CHART_DOWN,BearBrickColor); ChartSetInteger(0,CHART_COLOR_CHART_UP,BullBrickColor); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,BearBrickColor); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,BullBrickColor); ChartSetInteger(0,CHART_COLOR_BACKGROUND,BackgroundColor); ChartSetInteger(0,CHART_SHOW_GRID,false);
Нет, это то я знаю, но мне нужно именно отдельные бары цветом выделить.
Вы никогда документацию не читали? Никогда не слышали о стиле рисования DRAW_COLOR_CANDLES
- www.mql5.com
Вы никогда документацию не читали? Никогда не слышали о стиле рисования DRAW_COLOR_CANDLES
В советнике ведь надо, в заголовке указано. Без индикаторов. Вопрос в том, почему невозможно позиционировать прямоугольник точно на баре, даже если он выступает вверх и низ.
- 2022.04.13
- www.mql5.com
Канвас работает везде. В Советниках даже быстрее.
Вот здесь предлагал простое решение
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Nikolai Semko, 2019.03.02 14:28
Я все же потратил пару часов для демонстрационного примера замены индикатора канвасными свечами чтобы не быть голословным.
Я даже преувеличил на счет 30-50 строк кода. Основная функция ShowBars, которая формирует свечи на экране всего 9 строк кода:
void ShowBars(bool change=true) { static MqlRates B[]; uint clrBody=0; if(change) CopyRates(_Symbol,_Period,(int)W.Right_bar,W.BarsInWind,B); else B[ArraySize(B)-1]=Bar0; Canvas.Erase(W.Color); for(int i=0,x=-1; i<W.BarsInWind;i++,x+=W.dx_pix) { Canvas.LineVertical(x,(int)(Canvas.Y(B[i].high)-0.5),(int)(Canvas.Y(B[i].low)-0.5),clrLine); if(B[i].close>B[i].open) clrBody=clrBull; else if(B[i].close<B[i].open) clrBody=clrBear; else clrBody=clrLine; Canvas.FillRectangle(x-int(W.dx_pix*0.35),(int)(Canvas.Y(B[i].open)-0.5),x+int(W.dx_pix*0.35),(int)(Canvas.Y(B[i].close)-0.5),clrBody); } Canvas.Update(); }
Это дорого?
Конечно, этот код только демонстрационный, но все же вполне рабочий. И "контроль ширины, высоты окна, масштаба отображения графика, перемотка, смещение " выполняет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Понадобилось в кои-то веки раскрасить бар, и казалось бы что может пойти не так... Прямоугольник вообще нереально с позиционировать точно на баре, он либо исчезает, либо всегда сдвинут в какую-либо сторону. Либо я уже заработался и что-то очевидное упускаю.