← К каталогу
Исходный код · ID 3328

ArrZZx2

arrzzx2 alerts.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

ArrZZx2 — пользовательский индикатор для MetaTrader 4, отображающий аналитические линии и стрелки трендов на графике цены. Индикатор рассчитывает несколько вспомогательных массивов данных на основе ценовой информации и отрисовывает их в виде линий и стрелок, обозначающих изменения направления тренда. Также предоставляет систему уведомлений о событиях с возможностью отправки сообщений, звуковых сигналов и электронной почты.

Индикатор работает в окне графика и использует 8 буферов для отрисовки различных аналитических серий. Настройки позволяют управлять периодами расчёта, отображением вспомогательных линий и типом ценовых данных для вычислений.

Система уведомлений поддерживает три канала: всплывающие сообщения на графике, звуковые оповещения и email-рассылку. Все каналы управляются отдельными переключателями, а также можно выбрать уведомления только для текущего бара или для всех баров.

Настройки программы

НастройкаОписание
SR Период скользящей средней SR — Целочисленный параметр, задающий период скользящей средней для начальных расчётов.
SRZZ Период ZigZag SRZZ — Целочисленный параметр, определяющий период поиска экстремумов для второй линии ZigZag.
MainRZZ Основной период ZigZag — Целочисленный параметр, задающий основной период расчёта ZigZag.
FP Шаг экстремумов FP — Целочисленный параметр, определяющий шаг поиска экстремумов для вспомогательной линии.
SMF Коэффициент сглаживания — Целочисленный параметр, влияющий на сглаживание вспомогательной средней.
DrawZZ Отрисовка ZigZag — Переключатель отображения вспомогательной линии ZigZag на графике.
PriceConst Тип ценовых данных — Целочисленный параметр, выбирающий тип ценовых данных для расчётов (0 — Close, 1 — Open, 4 — Median, 5 — Typical, 6 — Weighted).
alertsOn Включить уведомления — Главный переключатель включения системы уведомлений об изменениях тренда.
alertsOnCurrent Уведомления для текущего бара — Переключатель, определяющий, генерировать ли уведомления только для текущего бара или для всех баров.
alertsMessage Всплывающие сообщения — Переключатель отправки всплывающих сообщений об событиях на графике.
alertsSound Звуковые оповещения — Переключатель воспроизведения звукового сигнала при наступлении события.
alertsEmail Email-уведомления — Переключатель отправки уведомлений об событиях по электронной почте.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1  Yellow
#property indicator_color2  RoyalBlue
#property indicator_color3  Blue
#property indicator_color4  Blue
#property indicator_color5  Blue
#property indicator_color6  Red
#property indicator_color7  Blue
#property indicator_color8  Red

extern int  SR              = 3;  
extern int  SRZZ            = 12; 
extern int  MainRZZ         = 20; 
extern int  FP              = 21;
extern int  SMF             = 3;  
extern bool DrawZZ          = false;
extern int  PriceConst      = 0; 

extern bool alertsOn        = false;
extern bool alertsOnCurrent = false;
extern bool alertsMessage   = true;
extern bool alertsSound     = false;
extern bool alertsEmail     = false;

double Lmt[];
double LZZ[];
double SA[];
double SM[];
double Up[];
double Dn[];
double pUp[];
double pDn[];

int LTF[6] = { 0,0,0,0,0,0 };
int STF[5] = { 0,0,0,0,0 }; 
int MaxBar, nSBZZ, nLBZZ, SBZZ, LBZZ;
bool First=true;
int prevBars=0;

int init()
{
      // код доступен только после оплаты
   }

int deinit() { return(0); }

int start()
{
      // код доступен только после оплаты
   }

void doAlert(string doWhat)
{
   static string   previousAlert="nothing";
   static datetime previousTime;
   string message;

      if (previousAlert != doWhat || previousTime != Time[0]) {
          previousAlert  = doWhat;
          previousTime   = Time[0];

          message =  StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," ArrZZx2 ",doWhat);
             if (alertsMessage) Alert(message);
             if (alertsEmail)   SendMail(StringConcatenate(Symbol()," ArrZZx2"),message);
             if (alertsSound)   PlaySound("alert2.wav");
      }
}

void MainCalculation(int Pos) 
{
if((Bars-Pos)>(SR+1)) SACalc(Pos); else SA[Pos]=0; 
if((Bars-Pos)>(FP+SR+2)) SMCalc(Pos); else SM[Pos]=0; 
return; 
}

void SACalc(int Pos) 
{ 
int sw, i, w, ww, Shift; double sum; 

switch(PriceConst) 
{
case  0: 
  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_CLOSE,Pos);
  break;
case  1: 
  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_OPEN,Pos);
  break;
case  4: 
  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_MEDIAN,Pos);
  break;
case  5: 
  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_TYPICAL,Pos);
  break;
case  6: 
  SA[Pos]=iMA(NULL,0,SR+1,0,MODE_LWMA,PRICE_WEIG

Показано первые 50% кода (символов: 6748)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
674,80₽ ≈ $8.25