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 | Звуковой сигнал — Переключатель звуковых сигналов |
| Электронная почта — Переключатель отправки уведомлений на электронную почту | |
| 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.