← К каталогу
Исходный код · ID 4561

#barcount.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Это пользовательский индикатор для MetaTrader 5, который отображает на графике ценовые модели, связанные с последовательностями однонаправленных свечей. Индикатор рисует стрелки вверх и вниз в местах, где после свечи определённого направления следует заданное количество противоположных свечей. Дополнительно создаются графические линии, соединяющие ценовые уровни соседних свечей.

Индикатор работает в окне графика, использует два буфера для отображения стрелок и объекты для линий. Настройка MinCount задаёт минимальное количество последовательных свечей, необходимое для формирования сигнала. Индикатор пересчитывает данные при поступлении новых котировок и удаляет созданные объекты при деинициализации.

Настройки программы

НастройкаОписание
MinCount Минимальное количество последовательных свечей противоположного направления, необходимое для отображения стрелки и создания линии.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Tomato

extern int MinCount = 4;

double UpArrow[], DnArrow[];
string LastObjName;
datetime LastTime;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {
    DelObj();
    return;
  }  

int start()
  {
      // код доступен только после оплаты
   }
   int i, k, cnt, iflat,limit, counted_bars=IndicatorCounted();
   string ObjName;
   if(counted_bars==0)
   {
     for(i=Bars-1; i>=0; i--)
     {
       UpArrow[i] = EMPTY_VALUE;
       DnArrow[i] = EMPTY_VALUE;
     }
     LastObjName = "";
     LastTime = Time[Bars-1];
     DelObj();
   }   
   bool Found;
   if(counted_bars>0) counted_bars--;
   limit = Bars-counted_bars-1;   

   for(i=limit; i>=0; i--)
   {
     k = i+1;
     if(Close[k]>=Open[k])
     {

       cnt = 0;
       k++;
       while(True)
       {
         if(Close[k]>=Open[k]) break;
         cnt++;
         if(cnt>=MinCount) break;
         k++;
         if(k>=Bars-1) break;         
       }
       if(cnt>=MinCount)
       {         
         DnArrow[i+1] = High[i+1]+0.5*iATR(NULL,0,21,i+1);
         ObjName = WindowExpertName()+"_

Показано первые 50% кода (символов: 1939)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
193,90₽ ≈ $2.42