Chaos Semafor
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «chaos semafor 4 mod [fillelin].mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
«Chaos Semafor» — пользовательский индикатор для MetaTrader 5, отображающий на графике три уровня аналитических сигналов на основе расчёта локальных экстремумов ценовых данных. Индикатор использует три периода (Period1, Period2, Period3), каждый из которых задаёт отдельный уровень анализа с собственной глубиной и чувствительностью. Результаты расчёта отрисовываются в виде стрелок на графике в трёх цветовых группах.
Индикатор поддерживает систему уведомлений трёх уровней (AlertLv1, AlertLv2, AlertLv3), которые срабатывают при появлении новых сигналов. Для каждого уровня можно включить всплывающие окна (BoxAlerts), отправку email (EmailAlerts) и звуковые оповещения (SoundAlerts) с выбором соответствующих звуковых файлов.
Логика расчёта основана на анализе минимумов и максимумов ценовых баров с заданной глубиной и отклонением. Три уровня индикатора работают независимо друг от друга, что позволяет отслеживать сигналы разной кратности на одном графике.
Настройки программы
| Настройка | Описание |
|---|---|
| Period1 | Период расчёта первого уровня индикатора, задаётся как множитель текущего таймфрейма. |
| Period2 | Период расчёта второго уровня индикатора, задаётся как множитель текущего таймфрейма. |
| Period3 | Период расчёта третьего уровня индикатора, задаётся как множитель текущего таймфрейма. |
| _____ | Пустой текстовый параметр без указанного назначения. |
| BoxAlerts | Включает или выключает всплывающие оконные уведомления на графике. |
| EmailAlerts | Включает или выключает отправку email-уведомлений при срабатывании сигналов. |
| SoundAlerts | Включает или выключает звуковые оповещения при срабатывании сигналов. |
| AlertLv1 | Включает или выключает уведомления первого уровня при появлении новых сигналов. |
| AlertLv2 | Включает или выключает уведомления второго уровня при появлении новых сигналов. |
| AlertLv3 | Включает или выключает уведомления третьего уровня при появлении новых сигналов. |
| AlertLv1HighSoundFile | Путь к звуковому файлу для уведомления первого уровня «High». |
| AlertLv1LowSoundFile | Путь к звуковому файлу для уведомления первого уровня «Low». |
| AlertLv2HighSoundFile | Путь к звуковому файлу для уведомления второго уровня «High». |
| AlertLv2LowSoundFile | Путь к звуковому файлу для уведомления второго уровня «Low». |
| AlertLv3HighSoundFile | Путь к звуковому файлу для уведомления третьего уровня «High». |
| AlertLv3LowSoundFile | Путь к звуковому файлу для уведомления третьего уровня «Low». |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 DodgerBlue
#property indicator_color4 DodgerBlue
#property indicator_color5 Lime
#property indicator_color6 Red
#property indicator_width1 5
#property indicator_width2 5
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 1
#property indicator_width6 1
string Dev_Step_1="1,1"; //1,3
string Dev_Step_2="1,1"; //8,5
string Dev_Step_3="1,1";//13,8
int Symbol_1_Kod=108;//78;//251;
int Symbol_2_Kod=108;//78;//82;
int Symbol_3_Kod=108;//78;//82;
extern double Period1=77;
extern double Period2=31;
extern double Period3=9;
extern string _____ ="";
extern bool BoxAlerts = false ;
extern bool EmailAlerts = false ;
extern bool SoundAlerts = true ;
extern bool AlertLv1 = true ;
extern bool AlertLv2 = true ;
extern bool AlertLv3 = true ;
extern string AlertLv1HighSoundFile = "buy_rob_pirate.wav"; //any soundfile
extern string AlertLv1LowSoundFile = "buy_rob_pirate.wav";
extern string AlertLv2HighSoundFile = "Level2_CHOOCHOO.WAV";
extern string AlertLv2LowSoundFile = "Level2_CHOOCHOO.WAV";
extern string AlertLv3HighSoundFile = "Level3_Effect37.wav";
extern string AlertLv3LowSoundFile = "Level3_Effect37.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( 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 ( 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);
Показано первые 50% кода (символов: 6921)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.