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

tma nrp + bands + alerts_mtf.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой индикатор для платформы MetaTrader 5, который рассчитывает скользящую среднюю на основе треугольного метода (TMA) и строит верхнюю и нижнюю полосы на основе показателя ATR. Индикатор отображает результаты расчёта на графике цены и поддерживает работу на различных таймфреймах, включая мультитаймфреймный режим.

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

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

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

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается индикатор. Установка значения PERIOD_CURRENT означает работу на таймфрейме текущего графика.
TmaPeriod Период расчёта треугольной скользящей средней (TMA). Определяет количество баров, учитываемых при усреднении.
TmaPrice Тип цены, используемой для расчёта TMA (например, закрытие, открытие, среднее и т.д.).
ATRMultiplier Коэффициент умножения для расчёта ширины полос на основе ATR. Увеличение значения расширяет полосы, уменьшение — сужает их.
ATRPeriod Период расчёта индикатора ATR, используемого для определения ширины полос.
Shift Смещение индикатора в барах относительно текущего бара.
alertsOn Главный переключатель включения всех оповещений индикатора. При выключенном значении оповещения не срабатывают.
alertsOnCurrent Переключатель определяет, на каком баре отслеживать изменение тренда: на текущем баре (true) или на предыдущем (false).
alertsMessage Переключатель всплывающих сообщений (Alert) при срабатывании оповещения.
alertsSound Переключатель воспроизведения звукового сигнала при срабатывании оповещения.
alertsNotify Переключатель отправки push-уведомлений при срабатывании оповещения.
alertsEmail Переключатель отправки email-уведомлений при срабатывании оповещения о пересечении полос.
soundFile Имя звукового файла, который воспроизводится при активированных звуковых оповещениях.
MultiColor Переключатель цветовой индикации линии TMA в зависимости от направления её изменения. При активации линия отображается разными цветами для нисходящего и восходящего направлений.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1  DeepSkyBlue
#property indicator_color2  PaleVioletRed
#property indicator_color3  PaleVioletRed
#property indicator_color4  Lime
#property indicator_color5  Red
#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  2
#property indicator_style4  STYLE_DOT
#property indicator_style5  STYLE_DOT

extern ENUM_TIMEFRAMES    TimeFrame        = PERIOD_CURRENT;
extern int                TmaPeriod        = 20;
extern ENUM_APPLIED_PRICE TmaPrice         = PRICE_CLOSE;
extern double             ATRMultiplier    = 2.0;
extern int                ATRPeriod        = 12;
extern int                Shift            = 0;
extern bool               alertsOn         = false;
extern bool               alertsOnCurrent  = true;
extern bool               alertsMessage    = true;
extern bool               alertsSound      = false;
extern bool               alertsNotify     = false;
extern bool               alertsEmail      = false;
extern string             soundFile        = "alert2.wav";

extern bool               MultiColor       = true;

double tma[];
double tmaDa[];
double tmaDb[];
double bandUp[];
double bandDn[];
double slope[];
double trend[];

string indicatorFileName;
bool   returnBars;

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

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
   int i,limit;

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
         limit = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { tma[0] = MathMin(limit+1,Bars-1); return(0); }

   if (TimeFrame == Period())
   {
     if (MultiColor && slope[limit]==-1) CleanPoint(limit,tmaDa,tmaDb);
     for(i=limit; i>=0; i--)
     {
        tma[i]       = iTma(iMA(NULL,0,1,0,MODE_SMA,TmaPrice,i),TmaPeriod,i,0);
        double range = iATR(NULL,0,ATRPeriod,i+10)*ATRMultiplier;
        bandUp[i]    = tma[i]+range;
        bandDn[i]    = tma[i]-range;

        tmaDa[i] = EMPTY_VALUE;
        tmaDb[i] = EMPTY_VALUE;
        slope[i] = slope[i+1];
        trend[i] = trend[i+1];

           if (tma[i]<tma[i+1])    slope[i] = -1;
           if (tma[i]>tma[i+1])    slope[i] =  1;
           if (Close[i]>bandUp[i]) trend[i] = -1;
           if (Close[i]<bandDn[i]) trend[i] =  1;
           if (MultiColor && slope[i] == -1) PlotPoint(i,tmaDa,tmaDb,tma);
     }

   if (alertsOn)
   {
      if (alertsOnCurrent)
           int whichBar = 0;
      else     whichBar = 1; 
      if (trend[whichBar] != trend[whichBar+1])
      {
         if (trend[whichBar] == 1)   doAlert(whichBar,"price crossing lower band");
         if (trend[whichBar] ==-1)   doAlert(whichBar,"price crossing upper band");
      }         
   }
     return(0);
   }

   limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
   if (MultiColor && slope[limit]==-1) C

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

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

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

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

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

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

Стоимость полного кода
532,30₽ ≈ $6.51