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