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

pallada_volatility.mq5

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

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

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

О программе

Индикатор для MetaTrader 4, отображающий аналитические сигналы на графике в виде цветных меток. Расчитывает диапазон цены (разницу между максимумом и минимумом) за заданное количество баров и сравнивает текущие значения с предыдущими для определения состояний. Визуально представляет результаты с помощью меток Wingdings красного, жёлтого и зелёного цветов, размещаемых в указанной точке графика. Для отрисовки используются шесть буферов индикатора и вспомогательные функции создания и удаления графических объектов.

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

НастройкаОписание
PosX Позиция X — Горизонтальная координата размещения меток на графике в пикселях.
PosY Позиция Y — Вертикальная координата размещения меток на графике в пикселях.
Corner Угол привязки — Определяет угол графика, от которого отсчитываются координаты размещения меток.
N Период — Количество баров, используемых для расчёта диапазона цены (разницы между максимумом и минимумом).
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black

extern int PosX = 10;
extern int PosY = 15;
extern int Corner = 1;
extern int N = 20;
string gs_92 = "1";
double g_ibuf_100[];
double g_ibuf_104[];
double g_ibuf_108[];
double g_ibuf_112[];
double g_ibuf_116[];
double g_ibuf_120[];

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

int deinit() {
   fObjDeleteByPrefix("HHL_Semafor_" + gs_92);
   return (0);
}

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

   int li_0 = Bars - IndicatorCounted();
   for (int li_4 = li_0 - 1; li_4 >= 0; li_4--) {
      l_high_8 = High[iHighest(Symbol(), 0, MODE_HIGH, N, li_4)];
      l_low_16 = Low[iLowest(Symbol(), 0, MODE_LOW, N, li_4)];
      g_ibuf_100[li_4] = (l_high_8 - l_low_16) / Point;
      g_ibuf_104[li_4] = EMPTY_VALUE;
      g_ibuf_108[li_4] = EMPTY_VALUE;
      g_ibuf_112[li_4] = EMPTY_VALUE;
      if (g_ibuf_104[li_4 + 1] != EMPTY_VALUE) g_ibuf_104[li_4] = g_ibuf_100[li_4];
      if (g_ibuf_108[li_4 + 1] != EMPTY_VALUE) g_ibuf_108[li_4] = g_ibuf_100[li_4];
      if (g_ibuf_112[li_4 + 1] != EMPTY_VALUE) g_ibuf_112[li_4] = g_ibuf_100[li_4];
      g_ibuf_116[li_4] = g_ibuf_116[li_4 + 1];
      if (g_ibuf_100[li_4 + 1] > g_ibuf_100[li_4])
         if (g_ibuf_100[li_4 + 2] <= g_ibuf_100[li_4 + 1]) g_ibuf_116[li_4] = g_ibuf_100[li_4 + 1];
      if (g_ibuf_100[li_4 + 1] > g_ibuf_100[li_4]) {
         g_ibuf_104[li_4] = g_ibuf_100[li_4];
         g_ibuf_108[li_4] = EMPTY_VALUE;
         g_ibuf_112[li_4] = EMPTY_VALUE;
      }
      if (g_ibuf_100[li_4 + 1] < g_ibuf_100[li_4]) {
         if (g_ibuf_116[li_4] < g_ibuf_100[li_4]) {
            g_ibuf_104[li_4] = EMPTY_VALUE;
            g_ibuf_108[li_4] = EMPTY_VALUE;
            g_ibuf_112[li_4] = g_ibuf_100[li_4];
         } else {
            g_ibuf_104[li_4] = EMPTY_VALUE;
            g_ibuf_108[li_4] = g_ibuf_100[li_4];
            g_ibuf_112[li_4] = EMPTY_VALUE;
         }
      }
   }
   if (Corner < 2) {
      fObjLabel("HHL_Semafor_" + gs_92 + "_Red", PosX, PosY, StringSetChar("", 0, 'l'), Corner, Gray, 16, 0, "Wingdings", FALSE);
      fObjLabel("HHL_Semafor_" + gs_92 + "_Yellow", PosX, PosY + 15, StringSetC

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

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

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

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

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

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

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