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

Peak

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

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

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

О программе

Peak — это пользовательский индикатор для MetaTrader 4, отображаемый в отдельном окне. Он рассчитывает два направленных линейных значения (Line UP и Line DN) на основе ценовых данных за настраиваемый период, используя данные закрытия, а также высоких и низких цен (или открытия и закрытия — в зависимости от режима).

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

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

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

НастройкаОписание
Len Длина периода — Длина расчётного периода
HistoryBars Количество баров истории — Количество исторических баров для расчёта
TF1 Таймфрейм 1 — Первый таймфрейм для сбора данных
TF2 Таймфрейм 2 — Второй таймфрейм для расчётов
ModeHL Режим High/Low — Режим использования данных High/Low вместо Open/Close
ModeOnline Онлайн-режим — Переключатель онлайн-расчёта с обновлением в реальном времени
ModeinFile Режим файла — Переключатель сохранения расчётов в файл
ModeHistory Режим истории — Переключатель чтения рассчитанных значений из файла истории
alert Всплывающие уведомления — Переключатель всплывающих предупреждений
sound Звуковой сигнал — Переключатель звуковых сигналов
email Электронная почта — Переключатель отправки уведомлений на электронную почту
GV Глобальная переменная — Переключатель записи результата в глобальную переменную терминала
UrovenSignal Уровень сигнала — Пороговое значение уровня сигнала для уведомлений
Получить полный код

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

#property indicator_separate_window
#property indicator_levelcolor clrDimGray
#property indicator_buffers 2
#property indicator_color1 clrGreen
#property indicator_color2 clrRed
#property indicator_level1 25.0
#property indicator_level2 15.0

extern int     Len = 150;
extern int     HistoryBars = 500;
extern int     TF1 = 0;
extern int     TF2 = 0;
extern bool    ModeHL = TRUE;
extern bool    ModeOnline = TRUE;
extern bool    ModeinFile = FALSE;
extern bool    ModeHistory = FALSE;
extern bool    alert = FALSE;
extern bool    sound = FALSE;
extern bool    email = FALSE;
extern bool    GV = FALSE;
extern double  UrovenSignal = 25.0; 

double g_ibuf_148[];
double g_ibuf_152[];
double gd_156;
double gd_164;
double gd_172;
int gi_188;
int g_shift_192;
int gi_196;
int g_shift_200;
int g_count_208;
double gd_212;
double gd_220;
double gd_228;
double gd_236;
double gd_244;
double gd_252;
double gda_260[][240];
double gda_264[][240];
double gda_268[][240];
int g_timeframe_272;
int g_datetime_276;
int gi_280;
bool gi_284;
int g_file_288;
bool gi_292;

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

int start()
{
      // код доступен только после оплаты
   }
   int count_0;
   int li_4;
   int li_12;
   int li_20;
   int str2time_24;
   int str2int_28;
   int str2int_32;
   int file_36;
   if (ModeOnline || ModeinFile) {
      if (iTime(NULL, TF2, 0) == g_datetime_276) return (0);
      g_datetime_276 = iTime(NULL, TF2, 0);
      for (gi_188 = HistoryBars + Len; gi_188 > 0; gi_188--) {
         g_shift_200 = iBarShift(NULL, TF1, iTime(NULL, TF2, gi_188));
         count_0 = 0;
         for (g_shift_192 = g_shift_200; g_shift_192 > g_shift_200 - TF2; g_shift_192--) {
            gda_260[gi_188][count_0] = iClose(NULL, TF1, g_shift_192);
            if (ModeHL) gda_264[gi_188][count_0] = iHigh(NULL, TF1, g_shift_192);
            else gda_264[gi_188][count_0] = MathMax(iOpen(NULL, TF1, g_shift_192), iClose(NULL, TF1, g_shift_192));
            if (ModeHL) gda_268[gi_188][count_0] = iLow(NULL, TF1, g_shift_192);
            else gda_268[gi_188][count_0] = MathMin(iOpen(NULL, TF1, g_shift_192), iClose(NULL, TF1, g_shift_192));
            count_0++;
         }
      }
      li_4 = NormalizeDouble((Bars - IndicatorCounted()) / (TF2 / Period()), 0);
      if (ModeOnline && (!IsTesting())) li_4 = HistoryBars;
      for (gi_188 = li_4; gi_188 > 0; gi_188--) {
         g_count_208 = 0;
         gd_228 = 0;
         gd_236 = 0;
         gd_212 = 0

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

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

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

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

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

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

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