half trend new alert.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «half trend new alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
«Half Trend New Alert» — это пользовательский индикатор для платформы MetaTrader 5, отображающий аналитическую линию и стрелки на графике цены. Индикатор рассчитывает две скользящие средние (по ценам High и Low) с заданным периодом амплитуды и на основе их соотношения с предыдущим значением линии определяет направление тренда, отмечая смены стрелками вверх и вниз.
Линия индикатора рисуется цветной: оранжево-красным при нисходящем тренде и глубокого синего при восходящем. Смены тренда дополнительно отмечаются стрелками с настраиваемым вертикальным смещением в пикселях; коды стрелок задаются символами шрифта Wingdings.
Индикатор поддерживает систему уведомлений о смене тренда: всплывающие алерты, звуковые сигналы, отправку электронной почты и push-уведомлений. Все типы уведомлений и параметры звука (количество повторений, пауза) настраиваются пользователем отдельными переключателями.
Настройки программы
| Настройка | Описание |
|---|---|
| InpAmplitude | Амплитуда (количество баров) для расчёта скользящих средних по ценам High и Low |
| InpCodeUpArrow | Код символа стрелки для восходящего тренда (шрифт Wingdings) |
| InpCodeDnArrow | Код символа стрелки для нисходящего тренда (шрифт Wingdings) |
| InpShift | Вертикальное смещение стрелок в пикселях от ценового графика |
| InpSoundName | Имя звукового файла, воспроизводимого при смене тренда |
| InpSoundRepetitions | Количество повторений звукового сигнала при смене тренда |
| InpSoundPause | Пауза в секундах между последовательными звуковыми сигналами |
| InpUseSound | Включает или отключает воспроизведение звукового файла при смене тренда |
| InpUseAlert | Включает или отключает всплывающие уведомления (Alert) при смене тренда |
| InpUseMail | Включает или отключает отправку уведомлений по электронной почте |
| InpUseNotification | Включает или отключает отправку push-уведомлений на устройство |
Поиск по коду файла
#property version "1.000"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_plots 3
#property indicator_label1 "Line"
#property indicator_type1 DRAW_COLOR_LINE
#property indicator_color1 clrOrangeRed,clrDeepSkyBlue
#property indicator_style1 STYLE_SOLID
#property indicator_width1 3
#property indicator_label2 "Up"
#property indicator_type2 DRAW_ARROW
#property indicator_color2 clrDeepSkyBlue
#property indicator_style2 STYLE_SOLID
#property indicator_width2 1
#property indicator_label3 "Down"
#property indicator_type3 DRAW_ARROW
#property indicator_color3 clrOrangeRed
#property indicator_style3 STYLE_SOLID
#property indicator_width3 1
input int InpAmplitude = 5; // Amplitude
input group "Arrow"
input uchar InpCodeUpArrow = 233; // Arrow code for 'UpArrow' (font Wingdings)
input uchar InpCodeDnArrow = 234; // Arrow code for 'DnArrow' (font Wingdings)
input int InpShift = 10; // Vertical shift of arrows in pixel
input group "Alerts"
input string InpSoundName = "alert.wav"; // Sound Name
input uchar InpSoundRepetitions = 3; // Repetitions
input uchar InpSoundPause = 3; // Pause, in seconds
input bool InpUseSound = false; // Use Sound
input bool InpUseAlert = true; // Use Alert
input bool InpUseMail = true; // Use Send mail
input bool InpUseNotification = true; // Use Send notification
double LineBuffer[];
double LineColors[];
double UpBuffer[];
double DownBuffer[];
double HighestBuffer[];
double LowestBuffer[];
double MA_PRICE_HIGH_Buffer[];
double MA_PRICE_LOW_Buffer[];
int handle_iMA_PRICE_HIGH; // variable for storing the handle of the iMA indicator
int handle_iMA_PRICE_LOW; // variable for storing the handle of the iMA indicator
int bars_calculated = 0;
int m_start_bar = 0; // start bar
bool m_init_error = false; // error on InInit
datetime m_last_sound = 0; // "0" -> D'1970.01.01 00:00';
uchar m_repetitions = 0; //
string m_text = ""; //
datetime m_prev_bars = 0; // "0" -> D'1970.01.01 00:00';
int OnInit()
{
// код доступен только после оплаты
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
if(m_init_error)
return(0);
int values_to_copy;
int calculated_ma_high=BarsCalculated(handle_iMA_PRICE_HIGH);
if(calculated_ma_high<=0)
{
PrintFormat("BarsCalculated(handle_iMA_PRICE_HIGH) returned %d, error code %d",calculated_ma_high,GetLastError());
return(0);
}
int calculated_ma_low=BarsCalculated(handle_iMA_PRICE_LOW);
if(calculated_ma_low<=0)
{
PrintFormat("BarsCalculated(handle_iMA_PRICE_LOW) returned %d, error code %d",calculated_ma_low,GetLastError());
return(0);
}
if(calculated_ma_high!=calculated_ma_low)
{
PrintFormat("BarsCalculated(handle_iMA_PRICE_HIGH) returned %d, BarsCalculated(handle_iMA_PRICE_LOW) returned %d",calculated_ma_high,calculated_ma_low);
return(0);
}
int calcПоказано первые 50% кода (символов: 8164)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.