Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 751

 
Vitaly Muzichenko:

Да, немного по-другому

https://www.mql5.com/en/docs/customind/indicators_examples/draw_color_histogram2


А в буфере цветов я что вообще хранить должен? Пример там больно мудреный.
 

Разобрался. 

Awesome_Oscillator из примеров попроще будет.

 

Это сделал, но теперь другие индикаторные буферы не отображаются :( 

Там просто линии.

//--- indicator buffers mapping
   SetIndexBuffer(0,buf0,INDICATOR_DATA);
   PlotIndexSetString(0,PLOT_LABEL,"buf0");
   //---
   SetIndexBuffer(1,buf1,INDICATOR_DATA);
   PlotIndexSetString(1,PLOT_LABEL,"buf1");
   //---
   SetIndexBuffer(2,buf_colors,INDICATOR_COLOR_INDEX);
   //---
   SetIndexBuffer(3,buf2,INDICATOR_DATA);
   PlotIndexSetInteger(3,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(3,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(3,PLOT_LINE_COLOR,clrRoyalBlue);
   PlotIndexSetString(3,PLOT_LABEL,"buf2");
   //---
   SetIndexBuffer(4,buf3,INDICATOR_DATA);
   PlotIndexSetInteger(4,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(4,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(4,PLOT_LINE_COLOR,clrRed);
   PlotIndexSetString(4,PLOT_LABEL,"buf3");

buf0, buf1, buf_colors - это гистограмма. 

buf2, buf3 - это линии, они и не отображаются, хотя значения есть.

 
igorbel:

Это сделал, но теперь другие индикаторные буферы не отображаются :( 

Там просто линии.

buf0, buf1, buf_colors - это гистограмма. 

buf2, buf3 - это линии, они и не отображаются, хотя значения есть.

У вас значения правильно прописаны? 

#property indicator_buffers 
#property indicator_plots   
 
Vitaly Muzichenko:

У вас значения правильно прописаны? 


#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots 3
#property indicator_type1   DRAW_COLOR_HISTOGRAM2
#property indicator_color1 clrRed,clrRoyalBlue
#property indicator_style1  STYLE_SOLID 
#property indicator_width1  3
Это все директивы.
 
igorbel:

Это все директивы.
А вы цвет задали на остальные буферы?
 
Vitaly Muzichenko:
А вы цвет задали на остальные буферы?


Да, в предыдущем же посте есть.

   SetIndexBuffer(3,buf2,INDICATOR_DATA);
   PlotIndexSetInteger(3,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(3,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(3,PLOT_LINE_COLOR,clrRoyalBlue);
   PlotIndexSetString(3,PLOT_LABEL,"buf2");
   //---
   SetIndexBuffer(4,buf3,INDICATOR_DATA);
   PlotIndexSetInteger(4,PLOT_DRAW_TYPE,DRAW_LINE);
   PlotIndexSetInteger(4,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(4,PLOT_LINE_COLOR,clrRed);
   PlotIndexSetString(4,PLOT_LABEL,"buf3");
 
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_LINE
Вот это помогло. Странно.
 
извиняюсь за очень простой вопрос, как закрыть открытую позицию? в mql4 была функция OrderClose(), а тут как?
 
RogozaIV:
извиняюсь за очень простой вопрос, как закрыть открытую позицию? в mql4 была функция OrderClose(), а тут как?

В mql5 надо открыть противоположную, это во вкладке терминала History хорошо видно. Проще всего использовать класс CTrade из стандартной библиотеки.