#4x 3 semafor alert.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#4x 3 semafor alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот пользовательский индикатор для MetaTrader 5 отображает на графике ценовые уровни, рассчитанные по трём независимым настраиваемым периодам. Для каждого периода строятся две серии стрелок: одна для верхних, другая для нижних уровней. Индикатор не является торговым советником и не совершает сделок; он только визуализирует аналитическую разметку и может подавать уведомления при появлении новых сигналов.
Пользователь может задать три периода расчёта, а также параметры отклонения и шага для каждого из них. Дополнительно настраиваются коды символов отображения стрелок для каждого периода. Индикатор поддерживает несколько каналов оповещения: всплывающее окно, электронная почта, push-уведомления и звуковой сигнал. Для каждого из трёх уровней можно отдельно включить или отключить оповещения.
Оповещения срабатывают один раз при появлении нового сигнала на текущем баре и сбрасываются при изменении количества баров на графике. Индикатор работает в окне графика и использует шесть буферов для отрисовки стрелок. Настройки вынесены во входные параметры, что позволяет гибко адаптировать индикатор под разные инструменты и таймфреймы.
Настройки программы
| Настройка | Описание |
|---|---|
| Period1 | Период расчёта для первого уровня. При значении больше нуля соответствующие буферы активируются. |
| Period2 | Период расчёта для второго уровня. При значении больше нуля соответствующие буферы активируются. |
| Period3 | Период расчёта для третьего уровня. При значении больше нуля соответствующие буферы активируются. |
| Dev_Step_1 | Задаёт параметры отклонения и шага для первого периода в виде строки с двумя числами, разделёнными запятой. |
| Dev_Step_2 | Задаёт параметры отклонения и шага для второго периода в виде строки с двумя числами, разделёнными запятой. |
| Dev_Step_3 | Задаёт параметры отклонения и шага для третьего периода в виде строки с двумя числами, разделёнными запятой. |
| Symbol_1_Kod | Код символа для отображения стрелок первого уровня. |
| Symbol_2_Kod | Код символа для отображения стрелок второго уровня. |
| Symbol_3_Kod | Код символа для отображения стрелок третьего уровня. |
| _____ | Разделительный параметр, не влияющий на работу индикатора. |
| BoxAlerts | Включает или отключает вывод оповещений во всплывающем окне. |
| EmailAlerts | Включает или отключает отправку оповещений по электронной почте. |
| PushNotificationAlerts | Включает или отключает отправку push-уведомлений на мобильные устройства. |
| SoundAlerts | Включает или отключает звуковые оповещения при появлении сигналов. |
| AlertLv1 | Включает или отключает оповещения для сигналов первого уровня. |
| AlertLv2 | Включает или отключает оповещения для сигналов второго уровня. |
| AlertLv3 | Включает или отключает оповещения для сигналов третьего уровня. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 clrNONE
#property indicator_color2 clrNONE
#property indicator_color3 clrNONE
#property indicator_color4 clrNONE
#property indicator_color5 clrLime
#property indicator_color6 clrRed
#property indicator_width1 6
#property indicator_width2 6
#property indicator_width3 7
#property indicator_width4 7
#property indicator_width5 7
#property indicator_width6 7
extern double Period1=5;
extern double Period2=12;
extern double Period3=35;
extern string Dev_Step_1="5,3"; //1,3
extern string Dev_Step_2="5,3"; //8,5
extern string Dev_Step_3="5,3";//13,8
extern int Symbol_1_Kod=159;
extern int Symbol_2_Kod=159;
extern int Symbol_3_Kod=82;
extern string _____ ="";
extern bool BoxAlerts = false ;
extern bool EmailAlerts = false ;
extern bool PushNotificationAlerts = false;
extern bool SoundAlerts = true ;
extern bool AlertLv1 = false ;
extern bool AlertLv2 = true ;
extern bool AlertLv3 = true ;
string AlertLv1HighSoundFile = "stage one level high.wav"; //any soundfile
string AlertLv1LowSoundFile = "stage one level low.wav";
string AlertLv2HighSoundFile = "stage two level high.wav";
string AlertLv2LowSoundFile = "stage two level low.wav";
string AlertLv3HighSoundFile = "stage three level high.wav";
string AlertLv3LowSoundFile = "stage three level low.wav";
double FP_BuferUp[];
double FP_BuferDn[];
double NP_BuferUp[];
double NP_BuferDn[];
double HP_BuferUp[];
double HP_BuferDn[];
int F_Period;
int N_Period;
int H_Period;
int Dev1;
int Stp1;
int Dev2;
int Stp2;
int Dev3;
int Stp3;
string symbol, tChartPeriod, tShortName ;
int digits, period ;
bool Trigger1, Trigger2, Trigger3 ;
int OldBars = -1 ;
color tColor = Yellow ;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
if( Bars != OldBars ) { Trigger1 = True ; Trigger2 = True ; Trigger3 = True ;}
if (Period1>0) CountZZ(FP_BuferUp,FP_BuferDn,Period1,Dev1,Stp1);
if (Period2>0) CountZZ(NP_BuferUp,NP_BuferDn,Period2,Dev2,Stp2);
if (Period3>0) CountZZ(HP_BuferUp,HP_BuferDn,Period3,Dev3,Stp3);
string alertlevel; string alertmessage;
alertmessage = symbol+" "+ tChartPeriod+ " at "+ DoubleToStr(Close[0] ,digits);
if ( Trigger1 && AlertLv1 )
{
if( FP_BuferUp[0] != 0 ) { Trigger1 = False ; alertlevel =" ZZS: Level 1 Low; ";
if(BoxAlerts) Alert(alertlevel,alertmessage);
if(EmailAlerts) SendMail(alertlevel,alertmessage);
if(SoundAlerts) PlaySound(AlertLv1LowSoundFile);
if (PushNotificationAlerts) SendNotification(alertlevel+alertmessage);
}
if( FP_BuferDn[0] != 0 ) { Trigger1 = False ; alertlevel =" ZZS: Level 1 High; ";
if(BoxAlerts) Alert(alertlevel,alertmessage);
if(EmailAlerts) SendMail(alertlevel,alertmessage);
if(SoundAlerts) PlaySound(AlertLv1HighSoundFile);
if (PushNotificationAlerts) SendNotification(alertlevel+alertmessage);
}
}
if ( Trigger2 && AlertLv2 )
{
if( NP_BuferUp[0] != 0 ) { Trigger2 = False ; alertlevel =" ZZS: Level 2 Low; ";
if(BoxAlerts) Alert(alertlevel,alertmessage);
if(EmailAlerts) SendMail(alertlevel,alertmessage);
if(SoundAlerts) PlaySound(AlertLv2LowSoundFile);
if (PushNotificationAlerts) SendNotification(alertlevel+alertmПоказано первые 50% кода (символов: 7346)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.