Как нарисовать такой индикатор

 

Как нарисовать такую линию индикатора ?

 1

 

у меня только такая получается

 2

 

 

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[])
{
   Buffer[0] = 1;
   for(int i=0; i<Bars; i++)
   {
      Buffer[i] = 1;
      if(i%10 ==0) // условие будет другое, это для теста
      {
         Buffer[i] = 0;
      }
   }
   return(rates_total);
}
 
В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.
 
Vitalie Postolache:
В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.
да, вертикальные вместо наклонных. Спасибо, попробую гистограмму 
 
Vitalie Postolache:
В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.

гистограмма тоже не то. Вот так получилось

 3

 
traderEvgen:

гистограмма тоже не то. Вот так получилось

 

DRAW_ZIGZAG

Стиль Zigzag допускает вертикальные отрезки на баре

2

0

 
o_O:

DRAW_ZIGZAG

Стиль Zigzag допускает вертикальные отрезки на баре

2

0

я пробовал 

вот весь код

//+------------------------------------------------------------------+
//|                                                     RSI_Test.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property version   "1.00"
#property strict
#property indicator_separate_window

#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0
#property indicator_color2 Red
#property indicator_width2 2
#property indicator_style2 0
#property indicator_minimum -1
#property indicator_maximum 2

double Buffer[];
double Buffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
   SetIndexBuffer(0, Buffer);
   SetIndexStyle(0, DRAW_ZIGZAG);
  
   SetIndexBuffer(1, Buffer2);
   SetIndexStyle(1, DRAW_ZIGZAG);

   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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<Bars; i++)
   {
      Buffer[i] = 1;
      if(i%10 ==0)
      {
         Buffer2[i] = 0;
      }
   }
   return(rates_total);
}
//+------------------------------------------------------------------+


 и такой результат

4 

 

подскажите пожалуйста как исправить 

 
traderEvgen:

я пробовал

и такой результат

подскажите пожалуйста как исправить 

я тоже пробовал


#property indicator_separate_window
#property indicator_buffers     2
#property indicator_plots 1
#property indicator_type1 DRAW_ZIGZAG
#property indicator_maximum 2
#property indicator_minimum -1

double Buf1[], Buf2[];
//+------------------------------------------------------------------+
int OnInit()
{
        SetIndexBuffer(0, Buf1); ArraySetAsSeries(Buf1, true);
        SetIndexBuffer(1, Buf2); ArraySetAsSeries(Buf2, true);
        
        return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
{      
        ArrayInitialize(Buf1, EMPTY_VALUE);
        ArrayInitialize(Buf2, EMPTY_VALUE);
        for (int i=0; i<rates_total-5; ++i)
        {
    Buf1[i+5] = 0; Buf2[i+5] = 1;
    Buf1[i+4] = 1; Buf2[i+4] = 1;
    Buf1[i+3] = 0; Buf2[i+3] = 1;
    Buf1[i+2] = 0; Buf2[i+2] = 0;
    Buf1[i+1] = 0; Buf2[i+1] = 0;
    Buf1[i] = 0; Buf2[i] = 0;
    i+=5;
        }
  return(rates_total);
}

и такой результат


 
o_O:

я тоже пробовал


спасибо огромное )
 
Как их вообще рисовать?
Причина обращения: