trendline_fast
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendalt_alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
trendalt_alert.mq5 — индикатор для MetaTrader 5, отображающий три линии в отдельном окне. Основная линия рассчитывается на основе максимумов и минимумов за заданное число баров с применением сглаживающей формулы и логит-преобразования. Две дополнительные линии отображают значения при восходящем и нисходящем тренде соответственно.
Индикатор отслеживает пересечение нулевого уровня основной линией и при смене знака значения запускает систему уведомлений. В зависимости от настроек пользователь может получать всплывающие сообщения, звуковые сигналы и email-оповещения о переходе тренда вверх или вниз.
Расчёт выполняется в функции start() для каждого нового бара. Параметр BarsCount определяет глубину анализа, а параметр Notealerts задаёт заголовок блока настроек уведомлений. Звуковой файл по умолчанию — alert.wave.
Настройки программы
| Настройка | Описание |
|---|---|
| Notealerts | Текстовый параметр, задающий заголовок блока настроек уведомлений в окне свойств индикатора. |
| MsgAlerts | Переключатель, управляющий отправкой всплывающих уведомлений-алертов на график при смене тренда. |
| SoundAlerts | Переключатель, управляющий воспроизведением звукового сигнала при смене направления тренда. |
| SoundAlertFile | Текстовый параметр, указывающий путь к звуковому файлу, воспроизводимому при срабатывании звукового уведомления. |
| eMailAlerts | Переключатель, управляющий отправкой email-сообщений на адрес, указанный в настройках терминала, при смене тренда. |
| BarsCount | Целочисленный параметр, задающий количество баров, используемых для определения максимума и минимума при расчёте индикатора. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 DodgerBlue
#property indicator_color3 Red
#property indicator_width2 2
#property indicator_width3 2
extern string Notealerts="-----Alert Settings-----";
extern bool MsgAlerts=true;
extern bool SoundAlerts=true;
extern string SoundAlertFile="alert.wave";
extern bool eMailAlerts=false;
int LastAlertBar; //Alert code
extern int BarsCount = 14;
double g_ibuf_80[];
double g_ibuf_84[];
double g_ibuf_88[];
int init() {
// код доступен только после оплаты
}
int start() {
// код доступен только после оплаты
}
double ld_8;
double ld_16;
double ld_80;
int li_4 = IndicatorCounted();
double ld_32 = 0;
double ld_40 = 0;
double ld_unused_48 = 0;
double ld_unused_56 = 0;
double ld_64 = 0;
double ld_unused_72 = 0;
double l_low_88 = 0;
double l_high_96 = 0;
if (li_4 > 0) li_4--;
int li_0 = Bars - li_4;
for (int li_104 = 0; li_104 < li_0; li_104++) {
l_high_96 = High[iHighest(NULL, 0, MODE_HIGH, BarsCount, li_104)];
l_low_88 = Low[iLowest(NULL, 0, MODE_LOW, BarsCount, li_104)];
ld_80 = (High[li_104] + Low[li_104]) / 2.0;
ld_32 = 0.66 * ((ld_80 - l_low_88) / (l_high_96 - l_low_88) - 0.5) + 0.67 * ld_40;
ld_32 = MathMin(MathMax(ld_32, -0.999), 0.999);
g_ibuf_80[li_104] = MathLog((ld_32 + 1.0) / (1 - ld_32)) / 2.0 + ld_64 / 2.0;
ld_40 = ld_32;
ld_64 = g_ibuf_80[li_104];
}
bool li_108 = TRUE;
for (li_104 = li_0 - 2; li_104 >= 0Показано первые 50% кода (символов: 2652)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.