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

GoldFX-Filter

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

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

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

О программе

GoldFX-Filter — это пользовательский индикатор для MetaTrader 5, который отображается в отдельном окне и формирует два гистограммных ряда (зелёный и красный) в диапазоне от 0 до 1. Индикатор рассчитывает сглаженные значения по ценам High, Low и Close и на их основе определяет направление сигнала: зелёная гистограмма соответствует одному направлению, красная — противоположному. Расчёт может выполняться как на текущем таймфрейме, так и на выбранном пользователем таймфрейме с получением данных через iCustom. При смене направления индикатор может подавать уведомления выбранными способами: всплывающее сообщение, звуковой сигнал и электронное письмо. Уведомления могут формироваться как по текущему бару, так и по закрытому. Индикатор не совершает торговых операций и не управляет позициями; он предназначен только для визуального анализа и оповещения о смене направления. Точная внутренняя логика расчёта сглаживания и условий смены направления в описании не раскрывается.

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

НастройкаОписание
TimeFrame Строковый параметр, задающий таймфрейм расчёта индикатора. Может принимать значения вида M1, M5, M15, M30, H1, H4, D1, W1, MN или числовое значение минут. Если указан текущий таймфрейм, расчёт ведётся напрямую по текущему графику; иначе данные запрашиваются с выбранного таймфрейма.
SmoothPeriod Задаёт период сглаживания, используемый при расчёте значений индикатора. Влияет на степень сглаживания и чувствительность отображаемых сигналов.
SmoothPhase Задаёт фазовый сдвиг при сглаживании. Позволяет сместить расчёт относительно текущего бара и тем самым изменить положение сигналов.
alertsOn Главный переключатель оповещений. Если выключен, уведомления о смене направления не формируются.
alertsOnCurrent Определяет, по какому бару проверять смену направления для оповещения: по текущему (ещё не закрытому) бару или по последнему закрытому бару.
alertsMessage Включает или отключает вывод всплывающего сообщения Alert при смене направления индикатора.
alertsSound Включает или отключает воспроизведение звукового сигнала при смене направления индикатора.
alertsEmail Включает или отключает отправку электронного письма при смене направления индикатора.
Получить полный код

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

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

extern string TimeFrame = "240";
extern int SmoothPeriod = 5;
extern int SmoothPhase = 0;
extern bool alertsOn = True;
extern bool alertsOnCurrent = True;
extern bool alertsMessage = True;
extern bool alertsSound = True;
extern bool alertsEmail = FALSE;
double g_ibuf_112[];
double g_ibuf_116[];
double g_ibuf_120[];
int g_timeframe_124;
bool gi_128 = FALSE;
bool gi_132 = FALSE;
string gs_136;
string gs_nothing_144 = "nothing";
datetime g_time_152;
string gsa_156[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};
int gia_160[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};
double gda_164[][30];

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

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

void f0_2() {
   int li_0;
   if ((!gi_128) && alertsOn) {
      if (alertsOnCurrent) li_0 = 0;
      else li_0 = 1;
      li_0 = iBarShift(NULL, 0, iTime(NULL, g_timeframe_124, li_0));
      if (g_ibuf_120[li_0] != g_ibuf_120[li_0 + 1]) {
         if (g_ibuf_120[li_0] == 1.0) {
            f0_6(li_0, "up");
            return;
         }
         f0_6(li_0, "down");
      }
   }
}

void f0_6(int ai_0, string as_4) {
   string str_concat_12;
   if (gs_nothing_144 != as_4 || g_time_152 != Time[ai_0]) {
      gs_nothing_144 = as_4;
      g_time_152 = Time[ai_0];
      str_concat_12 = StringConcatenate(Symbol(), " at ", TimeToStr(TimeLocal(), TIME_SECONDS), " GoldFX-Filter direction changed to", as_4);
      if (alertsMessage) Alert(str_concat_12);
      if (alertsEmail) SendMail(StringConcatenate(Symbol(), "GoldFX-Filter"), str_concat_12);
      if (aler

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

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

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

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

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

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

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