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

parabolic ma +alert 2.mq5

Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, реализованный на языке MQL4. Он отображает на графике два аналитических ряда: линию скользящей средней, рассчитываемую встроенной функцией iMA, и стрелочный ряд, отслеживающий развороты цены относительно среднего значения.

Индикатор поддерживает выбор режима скользящей средней (SMA, EMA, SMMA, LWMA) и типа цены (Close, Open, High, Low и другие) для расчёта. Внутреннее состояние между барами сохраняется, что обеспечивает непрерывность отслеживания разворотов при перерисовке.

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

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

НастройкаОписание
Period MA (MA) MA — Период скользящей средней (Period MA)
0=sma, 1=ema, 2=smma, 3=lwma (MA_Mode) MA_Mode — Режим скользящей средней: 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
0-CLOSE,1-OPEN,2-HIGH,3-LOW,4-MEDIAN,5-TYPICAL,6-WEIGHTED (MA_Price) MA_Price — Тип цены для расчёта: 0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED
Step Step — Начальный шаг ускорения
Maximum Maximum — Верхний предел шага ускорения
Alert_Sound Alert_Sound — Включает или отключает звуковые уведомления о сигналах BUY и SELL
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

extern int MA       = 24; // Period MA
extern int MA_Mode  = 2;  // 0=sma, 1=ema, 2=smma, 3=lwma
extern int MA_Price = 0;  // 0-CLOSE,1-OPEN,2-HIGH,3-LOW,4-MEDIAN,5-TYPICAL,6-WEIGHTED
extern double    Step=0.02;
extern double    Maximum=0.08;
extern bool Alert_Sound = true;

double SarBuffer[];
double MaBuffer[];

int    save_lastreverse;
bool   save_dirlong;
double save_start;
double save_last_high;
double save_last_low;
double save_ep;
double save_sar;

#define SIGNAL_BAR 1

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

void SaveLastReverse(int last,int dir,double start,double low,double high,double ep,double sar)
  {
   save_lastreverse=last;
   save_dirlong=dir;
   save_start=start;
   save_last_low=low;
   save_last_high=high;
   save_ep=ep;
   save_sar=sar;
  }

int start()
  {
      // код доступен только после оплаты
   }
   static bool first=true;
   bool   dirlong;
   double start,last_high,last_low;
   double ep,sar,price_low,price_high,price;
   int    i,counted_bars=IndicatorCounted();

   for(i=0; i<Bars-MA-2; i++)
      MaBuffer[i]=iMA(NULL,0,MA,0,MA_Mode,MA_Price,i);

   if(Bars<0) return(0);

   i=Bars-2;
   if(counted_bars==0 || first)
     {
      first=true;
      dirlong=true;
      start=Step;//start=0.002
      last_high=-10000000.0;
      last_low=10000000.0;
      while(i>0)
        {
         save_lastreverse=i;
         price_low=MaBuffer[i];
         if(last_low>price_low)   last_low=price_low;
         price_high=MaBuffer[i];
         if(last_high<price_high) last_high=price_high;
         if(price_high>MaBuffer[i+1] && price_low>MaBuffer[i+1]) break;
         if(price_high<MaBuffer[i+1] && price_low<MaBuffer[i+1]) { dirlong=false; break; }
         i--;
        }

      int k=i;
      while(k<Bars)
        {
         SarBuffer[k]=0.0;
         k++;
        }

      if(dirlong) { SarBuffer[i]=MaBuffer[i+1]; ep=MaBuffer[i]; }
      else        { SarBuffer[i]=MaBuffer[i+1]; ep=MaBuffer[i]; }
      i--;
     }
    else
     {
      i=save_lastreverse;
      start=save_start;
      dirlong=save_dirlong;
      last_high=save_last_high;
      last_low=save_last_low;
      ep=save_ep;
      sar=save_sar;
     }

   while(i>=0)
     {
      price_low=MaBuffer[i];
      price_high=MaBuffer[i];

      if(dirlong && price_low<SarBuffer[i+1])
        {
         SaveLastRevers

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

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

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

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

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

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

Стоимость полного кода
359,60₽ ≈ $4.40