Exit_Signal
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#pallada_exitsignal.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это пользовательский индикатор для MetaTrader 5, предназначенный для отображения сигналов выхода на графике. Индикатор рассчитывает две линии и отмечает моменты смены направления стрелками вверх и вниз. Он также может отправлять уведомления по электронной почте, воспроизводить звук и показывать всплывающие оповещения при появлении сигналов. Настройки позволяют управлять параметрами расчёта и способами уведомления.
Настройки программы
| Настройка | Описание |
|---|---|
| Fx | Целочисленный параметр, влияющий на расчёт индикатора. Минимальное значение — 2. |
| Deviation | Числовой параметр, влияющий на расчёт индикатора. Значение должно быть больше нуля. |
| FEMA | Период быстрой экспоненциальной скользящей средней, используемой при расчёте сигналов. |
| SEMA | Период медленной экспоненциальной скользящей средней, используемой при расчёте сигналов. |
| EmailON | Включает или отключает отправку уведомлений по электронной почте при появлении сигнала. |
| SoundON | Включает или отключает воспроизведение звука при появлении сигнала. |
| AlertON | Включает или отключает всплывающие оповещения при появлении сигнала. |
| AlertRepeat | Количество повторений оповещения при появлении сигнала, если не включён бесконечный повтор. |
| EndLessRepeat | Если включено, оповещения и звук повторяются бесконечно до сброса, иначе ограничиваются числом из AlertRepeat. |
| SoundFile | Имя звукового файла для воспроизведения при появлении сигнала. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
extern int Fx = 34;
extern double Deviation = 5.0;
extern int FEMA = 5;
extern int SEMA = 13;
extern bool EmailON = TRUE;
extern bool SoundON = TRUE;
extern bool AlertON = TRUE;
extern int AlertRepeat = 3;
extern bool EndLessRepeat = FALSE;
extern string SoundFile = "Alert";
double g_ibuf_124[];
double g_ibuf_128[];
double g_ibuf_132[];
double g_ibuf_136[];
double g_ibuf_140[];
double g_ibuf_144[];
int gi_148;
int gi_152;
int g_datetime_156;
int g_datetime_160;
int g_time_164 = 0;
int g_time_168 = 0;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectDelete("Exit_Signal_Bell");
return (0);
}
double NormalizedX(int a_period_0, int ai_4) {
double ld_ret_8;
double l_ima_16;
double l_istddev_24;
double l_close_32;
if (ai_4 < Bars - a_period_0) {
l_close_32 = Close[ai_4];
l_ima_16 = iMA(NULL, 0, a_period_0, 0, MODE_SMA, PRICE_CLOSE, ai_4);
l_istddev_24 = iStdDev(NULL, 0, a_period_0, 0, MODE_SMA, PRICE_CLOSE, ai_4);
ld_ret_8 = (l_close_32 - l_ima_16) / l_istddev_24;
} else ld_ret_8 = 0;
return (ld_ret_8);
}
double FisherNormalizedX(int ai_0, double ad_4, int ai_12) {
double ld_ret_16;
double ld_24;
if (ai_12 < Bars - ai_0 && ad_4 > 0.0) {
ld_24 = NormalizedX(ai_0, ai_12) / ad_4;
if (ld_24 > 0.99) ld_24 = 0.99;
if (ld_24 < -0.99) ld_24 = -0.99;
ld_ret_16 = MathLog((ld_24 + 1.0) / (1 - ld_24)) / 2.0;
} else ld_ret_16 = 0;
return (ld_ret_16);
}
int start() {
// код доступен только после оплаты
}
int li_4 = IndicatorCounted();
if (li_4 < 0) return (-1);
if (li_4 > 0) li_4--;
int li_0 = Bars - li_4;
for (int li_8 = 0; li_8 < li_0; li_8++) g_ibuf_144[li_8] = FisherNormalizedX(Fx, Deviation, li_8);
for (li_8 = 0; li_8 < li_0; li_8++) g_ibuf_140[li_8] = iMAOnArray(g_ibuf_144, Bars, SEMA, 0, MODE_EMA, li_8);
for (li_8 = 0; li_8 < li_0; li_8++) {
if (iMAOnArray(g_ibuf_144, Bars, FEMA, 0, MODE_EMA, li_8) > g_ibuf_140[li_8]) {
g_ibuf_132[li_8] = iMAOnArray(g_ibuf_144, Bars, FEMA, 0, MODE_EMA, li_8);
g_ibuf_136[li_8] = 0;
} else {
g_ibuf_132[li_8] = 0;
g_ibuf_136[li_8] = iMAOnArray(g_ibuf_144, Bars, FEMA, 0, MODE_EMA, li_8);
}
}
for (li_8 = 0; li_8 < li_0; li_8++) {
g_ibuf_124[li_8] = EMPTY_VALUE;
g_ibuf_128[li_8] = EMPTY_VALUE;
if (g_ibuf_132[li_8] != 0.0 && g_ibuf_132[li_8 + 1] == 0.0) g_ibuf_124[li_8] = Low[li_8] - 5.0 * Point;
if (g_ibuf_136[li_8] != 0.0 && g_ibuf_136[li_8 + 1] == 0.0) g_ibufПоказано первые 50% кода (символов: 5060)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.