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

bar_tick's_separation_info.mq5

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

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

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

О программе

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

Индикатор работает в отдельном подокне, использует два буфера и задаваемые пользователем параметры: количество баров для сброса статистики и шрифт для текстовых меток. При появлении нового бара накопленные значения обнуляются, а по достижении заданного числа баров начинается новый интервал подсчёта.

Текстовые объекты создаются, обновляются и удаляются автоматически; при удалении индикатора они очищаются. Индикатор не содержит торговых функций и не предназначен для совершения сделок.

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

НастройкаОписание
LimitBar Лимит баров — Количество баров, по достижении которого накопленная статистика сбрасывается и начинается новый интервал подсчёта.
Shrift Шрифт — Название шрифта, используемого для отображения текстовых меток в окне индикатора.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_maximum 350
#property indicator_minimum -500

extern int LimitBar = 20;

extern string Shrift = "Arial Black";

double UpTicks[];
double DownTicks[];
double up=0,dn=0,delta=0,old_Bid=0;
string name_ind;
datetime ctat_SB =0;
double count_plus=0,count_minus=0;

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

int deinit()
  {

   ObjectDelete("UpTicks1");
  ObjectDelete("DownTicks1");
   ObjectDelete("UpTicks2");
  ObjectDelete("DownTicks2");

  Comment("");

  return(0);
  }

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

   if(ctat_SB==0)ctat_SB=Time[0];  
     if(iBarShift(Symbol(),0,ctat_SB)-iBarShift(Symbol(),0,Time[0])>=LimitBar)
      {
       ctat_SB=Time[0];
       count_plus=0;
       count_minus=0;
      }

  if(old_Bid == 0)old_Bid = Close[0];
   if(fNewBar_b()){up=0;dn=0;delta=0;}
   delta = (Close[0] - old_Bid)/Point;
   if(delta>0)up += delta;
   if(delta<0)dn += delta;
   old_Bid = Close[0];

   int delta_ik = up - MathAbs(dn);

   if(delta_i

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

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

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

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

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

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

Стоимость полного кода
180₽ ≈ $2.20