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

ProtoFilter

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

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

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

О программе

ProtoFilter — индикатор для MetaTrader 5, который анализирует ценовые данные и отображает результаты в виде гистограмм в отдельном окне. Индикатор использует сглаживание ценовых данных (High, Low, Close) с настраиваемыми параметрами периода и фазы, а затем определяет направление движения на основе сравнения сглаженных значений. Результаты отрисовываются двумя цветными линиями-гистограммами: зелёной и красной.

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

Система уведомлений позволяет настраивать оповещения при смене направления индикатора: текстовые сообщения, звуковые сигналы и электронная почта. Уведомления срабатывают только при изменении сигнала, что предотвращает повторные срабатывания.

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

НастройкаОписание
TimeFrame Временной период для анализа данных. Можно задать строковое имя таймфрейма (например, H1, D1) или специальное значение calculate для расчёта, либо getBarsCount для получения количества баров.
SmoothPeriod Период сглаживания, определяющий количество баров, используемых для расчёта сглаженных значений ценовых данных.
SmoothPhase Фаза сглаживания, задающая дополнительный параметр, влияющий на характер расчёта сглаженной кривой.
alertsOn Главный переключатель включения системы уведомлений о смене направления индикатора.
alertsOnCurrent Переключатель, определяющий, проверять уведомления только на текущем баре или на предыдущем.
alertsMessage Переключатель отображения текстового уведомления в терминале при смене направления индикатора.
alertsSound Переключатель воспроизведения звукового сигнала при смене направления индикатора.
alertsEmail Переключатель отправки электронной почты при смене направления индикатора.
Получить полный код

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

#property indicator_separate_window
#property indicator_minimum 0.0
#property indicator_maximum 1.0
#property indicator_buffers 2
#property indicator_color1 DarkGreen
#property indicator_color2 Red

extern string TimeFrame = "current time frame";
extern int SmoothPeriod = 10;
extern int SmoothPhase = 0;
extern bool alertsOn = FALSE;
extern bool alertsOnCurrent = FALSE;
extern bool alertsMessage = FALSE;
extern bool alertsSound = FALSE;
extern bool alertsEmail = FALSE;
double buffi1[];
double buffi2[];
double buffi3[];
int timeframe1;
bool cierto = FALSE;
bool cierto2 = FALSE;
string palabra;
string nothing = "nothing";
datetime tiempo;
string gsa156[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};
int gia160[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};
double gda164[][30];

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

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

void manageAlerts() {
   int contador;
   if ((!cierto) && alertsOn) {
      if (alertsOnCurrent) contador = 0;
      else contador = 1;
      contador = iBarShift(NULL, 0, iTime(NULL, timeframe1, contador));
      if (buffi3[contador] != buffi3[contador + 1]) {
         if (buffi3[contador] == 1.0) {
            doAlert(contador, "up");
            return;
         }
         doAlert(contador, "down");
      }
   }
}

void doAlert(int cion, string as4) {
   string concatenado;
   if (nothing != as4 || tiempo != Time[cion]) {
      nothing = as4;
      tiempo = Time[cion];
      concatenado = StringConcatenate(Symbol(), " at ", TimeToStr(TimeLocal(), TIME_SECONDS), " ProtoFilter direction changed to", as4);
      if (alertsMessage) Alert(concatenado);
      if (alertsEmail) SendMail(StringConcatenate(Symbo

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

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

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

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

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

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

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