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

IV-Jempol

ivjempol-histogram.mq5
Вы автор или правообладатель?

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

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

О программе

IV-Jempol — это пользовательский индикатор для MetaTrader 5, отображающий два гистограммных буфера (красный и синий) в отдельном окне. Он базируется на стандартном индикаторе Williams %R и дополнительных аналитических расчётах ценовых данных для формирования торговых сигналов.

Индикатор вычисляет модифицированное значение «di» на основе динамики цен за заданное количество баров и сравнивает его с двумя пользовательскими уровнями. Красный гистограммный буфер активируется при формировании сигнала продажи, синий — при сигнале покупки.

Встроенный механизм уведомлений позволяет получать всплывающие алерты при появлении новых торговых сигналов. Сигналы отслеживаются через глобальные переменные терминала, что предотвращает повторные оповещения для одного и того же сигнала в пределах заданного временного интервала.

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

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

НастройкаОписание
WPR_Period Период расчёта индикатора Williams %R, используемый для вычисления значения «di».
Level_Up Верхний уровень для определения сигналов продажи на основе значения «di».
Level_Dn Нижний уровень для определения сигналов покупки на основе значения «di».
History Количество баров, анализируемых индикатором при расчёте значений.
AlertsMessage Включает или отключает всплывающие уведомления о сигналах покупки и продажи.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_minimum 0.01
#property indicator_maximum 0.1

extern int    WPR_Period    = 13;
extern double Level_Up      = 28;
extern double Level_Dn      = 72; 
extern int    History       = 1000;
extern bool   AlertsMessage = TRUE;

bool gi_unused_88 = FALSE;
double g_ibuf_100[];
double g_ibuf_104[];
int gi_108 = 0;
int gi_112 = 0;

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

int deinit() {
   GlobalVariableDel("AlertTime" + Symbol() + Period());
   GlobalVariableDel("SignalType" + Symbol() + Period());
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   int li_0;
   double ld_4;
   double ld_12;
   double ld_28;
   double ld_36;
   double ld_44;
   double ld_52;
   double lda_60[1000];
   double ld_64;

   SetIndexDrawBegin(0, Bars - History + 11 + 1);
   SetIndexDrawBegin(1, Bars - History + 11 + 1);
   int ind_counted_72 = IndicatorCounted();
   double ld_76 = 0;
   int li_84 = WPR_Period;// * 2 + 3;

   int period_104 = li_84;
   if (Bars <= 12) return (0);
   if (ind_counted_72 < 12) {
      for (int li_108 = 1; li_108 <= 0; li_108++) g_ibuf_100[History - li_108] = 0.0;
      for (li_108 = 1; li_108 <= 0; li_108++) g_ibuf_104[History - li_108] = 0.0;
   }
   for (int li_112 = History - 11 - 1; li_112 >= 0; li_112--) {
      li_0 = li_112;
      ld_28 = 0.0;
      ld_36 = 0.0;
      for (li_0 = li_112; li_0 <= li_112 + 9; li_0++) ld_36 += MathAbs(High[li_0] - Low[li_0]);
      ld_28 = ld_36 / 10.0;
      li_0 = li_112;
      for (double ld_20 = 0; li_0 < li_112 + 9 && ld_20 < 1.0; li_0++)
         if (MathAbs(Open[li_0] - (Close[li_0 + 1])) >= 2.0 * ld_28) ld_20 += 1.0;
      

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

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

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

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

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

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

Стоимость полного кода
383,10₽ ≈ $4.68