Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2562

 
Alexey Viktorov #:
Кроме гистограмм есть построение свечи………… 

Действительно ;-)

Свечи мой код рисует, но почему-то не получается изменить толщину теней и тел свечей. 
Как это исправить?

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots   1

#property indicator_label1  "ColorCandles"
#property indicator_type1   DRAW_COLOR_CANDLES
#property indicator_color1  clrGreen, clrRed 
#property indicator_style1  STYLE_SOLID
#property indicator_width1  6

double   Buffer_Bars1[];
double   Buffer_Bars2[];
double   Buffer_Bars3[];
double   Buffer_Bars4[];
double   Buffer_Colors5[];      // Индексы цветов для каждого бара


int OnInit() {
   SetIndexBuffer(0, Buffer_Bars1,   INDICATOR_DATA);
   SetIndexBuffer(1, Buffer_Bars2,   INDICATOR_DATA);
   SetIndexBuffer(2, Buffer_Bars3,   INDICATOR_DATA);
   SetIndexBuffer(3, Buffer_Bars4,   INDICATOR_DATA);
   SetIndexBuffer(4, Buffer_Colors5, INDICATOR_COLOR_INDEX);
   
   PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, 0);
   //PlotIndexSetString(0, PLOT_LABEL,Symbol()+" Open;"+Symbol()+" High;"+Symbol()+" Low;"+Symbol()+" Close"); 
   //IndicatorSetString(INDICATOR_SHORTNAME,"DRAW_COLOR_CANDLES("+Symbol()+")"); 
   return(INIT_SUCCEEDED);
}

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]) {

   for(int i=0; i<rates_total; i++) {
      double Price_Open = open[i];
      double Price_Close = close[i];
      
      if(Price_Close >= Price_Open) {
         Buffer_Colors5[i] = 0;
      } else {
         Buffer_Colors5[i] = 1;
      }
      
      Buffer_Bars1[i] = open[i];
      Buffer_Bars2[i] = high[i];
      Buffer_Bars3[i] = low[i];
      Buffer_Bars4[i] = close[i];
   }
   
   return(rates_total);
}
 
grezky #:

Действительно ;-)

Свечи мой код рисует, но почему-то не получается изменить толщину теней и тел свечей. 
Как это исправить?

Внимательно читайте документацию…

 
Alexey Viktorov #:

Внимательно читайте документацию…

И все же, как изменить толщину теней и тел свечей?


 
grezky #:

И все же, как изменить толщину теней и тел свечей?


Никак
 
Tretyakov Rostyslav #:
Никак

Т.е. единственный способ рисования свечей с возможностью изменять толщину фитилей и тел, это рисовать отдельными буферами, верно? (в моем индикаторе, который переделываю из mql4 в mql5, сейчас так выполнено)

 
Vitaly Muzichenko #:
Покажите текущее состояние отрисовки в мт4

Вот примеры нескольких картинок с разными масштабами:










 
grezky #:

Вот примеры нескольких картинок с разными масштабами:

Тогда только на буферах в мт5.

Но сказать честно, мне в мт5 нравится стандартная отрисовка, она более мягкая и чёткая, можно зать разный цвет любого паттерна без размножения кода, а только добавить цвет