semaforalert.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «semaforalert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, рассчитывающий три уровня анализа по модифицированному алгоритму ZigZag и отображающий результаты в виде стрелок на графике. Для каждого уровня используются собственные периоды, отклонения и шаги отката, что позволяет визуально выделять ключевые точки разворота на разных временных масштабах. Индикатор поддерживает три уровня оповещений (низкий и высокий для каждого уровня) с выводом в окно алертов, отправкой email и воспроизведением звуковых файлов.
Настройки программы
| Настройка | Описание |
|---|---|
| Period1 | Период 1 — Множитель базового периода для расчёта первого уровня индикатора |
| Period2 | Период 2 — Множитель базового периода для расчёта второго уровня индикатора |
| Period3 | Период 3 — Множитель базового периода для расчёта третьего уровня индикатора |
| 1,3 (Dev_Step_1) | Отклонение и шаг 1 — Два числовых значения через запятую, задающих отклонение и шаг отката для первого уровня |
| 8,5 (Dev_Step_2) | Отклонение и шаг 2 — Два числовых значения через запятую, задающих отклонение и шаг отката для второго уровня |
| 13,8 (Dev_Step_3) | Отклонение и шаг 3 — Два числовых значения через запятую, задающих отклонение и шаг отката для третьего уровня |
| Symbol_1_Kod | Код символа 1 — Код символа стрелки для отображения сигналов первого уровня |
| Symbol_2_Kod | Код символа 2 — Код символа стрелки для отображения сигналов второго уровня |
| Symbol_3_Kod | Код символа 3 — Код символа стрелки для отображения сигналов третьего уровня |
| _____ | Разделитель — Служебный текстовый параметр-разделитель в панели настроек |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Lime
#property indicator_color2 OrangeRed
#property indicator_color3 Yellow
#property indicator_color4 Yellow
#property indicator_color5 White
#property indicator_color6 Red
#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 Box.Alerts = false ;
extern bool Email.Alerts = false ;
extern bool Sound.Alerts = true ;
extern bool Alert.Lv1 = false ;
extern bool Alert.Lv2 = true ;
extern bool Alert.Lv3 = true ;
string Alert.Lv1.High.SoundFile = "stage one level high.wav"; //any soundfile
string Alert.Lv1.Low.SoundFile = "stage one level low.wav";
string Alert.Lv2.High.SoundFile = "stage two level high.wav";
string Alert.Lv2.Low.SoundFile = "stage two level low.wav";
string Alert.Lv3.High.SoundFile = "stage three level high.wav";
string Alert.Lv3.Low.SoundFile = "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 alert.level; string alert.message;
alert.message = symbol+" "+ tChartPeriod+ " at "+ DoubleToStr(Close[0] ,digits);
if ( Trigger1 && Alert.Lv1 )
{
if( FP_BuferUp[0] != 0 ) { Trigger1 = False ; alert.level =" ZZS: Level 1 Low; ";
if(Box.Alerts) Alert(alert.level,alert.message);
if(Email.Alerts) SendMail(alert.level,alert.message);
if(Sound.Alerts) PlaySound(Alert.Lv1.Low.SoundFile);
}
if( FP_BuferDn[0] != 0 ) { Trigger1 = False ; alert.level =" ZZS: Level 1 High; ";
if(Box.Alerts) Alert(alert.level,alert.message);
if(Email.Alerts) SendMail(alert.level,alert.message);
if(Sound.Alerts) PlaySound(Alert.Lv1.High.SoundFile);
}
}
if ( Trigger2 && Alert.Lv2 )
{
if( NP_BuferUp[0] != 0 ) { Trigger2 = False ; alert.level =" ZZS: Level 2 Low; ";
if(Box.Alerts) Alert(alert.level,alert.message);
if(Email.Alerts) SendMail(alert.level,alert.message);
if(Sound.Alerts) PlaySound(Alert.Lv2.Low.SoundFile);
Показано первые 50% кода (символов: 6987)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.