вот этих настроек вам недостаточно ?
для рисования одного отрезкка линии на основном окне нужно юзать два буфера со стилем DRAW_HISTOGRAM
порядковые номера буферов должны быть соседними, например
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,BufferHight);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,BufferLow);
для рисования одного отрезкка линии на основном окне нужно юзать два буфера со стилем DRAW_HISTOGRAM
порядковые номера буферов должны быть соседними, например
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,BufferHight);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,BufferLow);
Но тогда, если я не ошибаюсь, созданный рисунок таким методом будет "статичным". Или нет?
Но тогда, если я не ошибаюсь, созданный рисунок таким методом будет "статичным". Или нет?
Динамический. Ну это поверх свечи будет рисовать кусок гистограммы, который уже свечи по ширине.
Прикольно получилось ;)
//---- indicator settings #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Aqua #property indicator_color2 Red #property indicator_width1 5 #property indicator_width2 5 //---- indicator parameters //extern int MAPeriod=4; //extern int MAgicL=26; //---- indicator buffers double BufferHight[]; double BufferLow[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- drawing settings SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexStyle(1,DRAW_HISTOGRAM); IndicatorDigits(Digits+1); //---- indicator buffers mapping SetIndexBuffer(0,BufferHight); SetIndexBuffer(1,BufferLow); //---- name for DataWindow and indicator subwindow label IndicatorShortName("CAndle"); //---- initialization done //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- int i=0;
BufferHight[i+1]=EMPTY_VALUE; // стираем окраску BufferLow[i+1]=EMPTY_VALUE;// стираем окраску BufferHight[i]=Open[i]; BufferLow[i]=Close[i]; //---- return(0); } //+------------------------------------------------------------------+
для рисования одного отрезкка линии на основном окне нужно юзать два буфера со стилем DRAW_HISTOGRAM
порядковые номера буферов должны быть соседними, например
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,BufferHight);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(1,BufferLow);
Почему так получается?
Это где-то описано в документации?
ну я этим давно еще баловался
например таким способом можно любой осцилятор разместить не в отдельном подокне а поверх свечей
за нулевую ось можно взять ( WindowPriceMin()+WindowPriceMax() ) / 2
только придется каждый тик перерисовывать все видимые бары т к ценовая шкала вверх/вниз ходит
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго всем.
Подскажите, пожалуйста, каким образом средствами MQL4 можно изменить цвет произвольной свечки на графике? Существует ли такая возможность вообще? Курю-курю мануалы и доки, но ничего не нахожу. Или может быть есть возможность нарисовать свечку поверх графика? Пытался делать прямоугольниками - ничего не получилось - перекрывает рядомстоящие свечки. Может уже кто-то делал - ткните носом, а? Не то уже мозг наизнанку.