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

rsioma_slope_mtfalerts_1.01.mq5

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

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, отображаемый в отдельном окне. Он рассчитывает аналитический показатель на основе RSI, применённой к скользящей средней цены, после чего повторно сглаживает результат ещё одной скользящей средней и вычисляет её наклон (разность значений двух последовательных баров). Результат отрисовывается в виде трёх буферов в отдельном подокне графика.

Индикатор поддерживает работу на разных таймфреймах: параметр TimeFrame позволяет выбрать период расчёта, а при необходимости выполняется переключение на другой таймфрейм через внутренний вызов iCustom. Это обеспечивает анализ данных на старшем или младшем таймфрейме относительно текущего графика.

Предусмотрена визуальная настройка отображения: цвет, стиль и толщина линий, а также возможность отрисовки вертикальных линий при смене направления тренда. Доступна система уведомлений с настраиваемыми типами — всплывающие сообщения, звуковой сигнал и email-рассылка, которые срабатывают при изменении направления наклона показателя.

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора (например, M1, H1, D1).
RsiOma_Period Период RsiOma — Период первой скользящей средней и расчёта RSI, определяющий глубину анализа.
RsiOma_Price Цена RsiOma — Тип цены, используемой для расчёта первой скользящей средней.
RsiOma_Mode Режим RsiOma — Режим первой скользящей средней, применяемой к цене перед расчётом RSI.
MaPeriod Период MA — Период второй скользящей средней, применяемой к значениям RSI для расчёта наклона.
MaType Тип MA — Тип второй скользящей средней, используемой при расчёте наклона показателя.
LinesVisible Видимость линий — Переключатель видимости вертикальных линий, отрисовываемых при смене направления тренда.
LinesID Идентификатор линий — Идентификатор для линий и названия индикатора в окне, используемый при создании объектов на графике.
LinesUpColor Цвет линий вверх — Цвет линий, отображаемых при восходящем тренде наклона.
LinesDnColor Цвет линий вниз — Цвет линий, отображаемых при нисходящем тренде наклона.
LinesStyle Стиль линий — Стиль отображения линий на графике (сплошной, пунктир и т.д.).
LinesWidth Толщина линий — Толщина линий на графике.
alertsOn Уведомления включены — Главный переключатель включения/выключения системы уведомлений.
alertsOnCurrent Уведомления на текущем баре — Переключатель, определяющий, на каком баре проверять изменение наклона: текущем или предыдущем.
alertsMessage Всплывающие сообщения — Переключатель отправки всплывающих сообщений (Alert) при смене направления наклона.
alertsSound Звуковые уведомления — Переключатель воспроизведения звукового сигнала при смене направления наклона.
alertsEmail Email-уведомления — Переключатель отправки email-уведомлений при смене направления наклона.
soundfile Звуковой файл — Имя звукового файла, воспроизводимого при срабатывании звукового уведомления.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    3
#property indicator_color1     LimeGreen
#property indicator_color2     Red
#property indicator_color3     Red
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_level1     0

extern string TimeFrame       = "Current time frame";
extern int    RsiOma_Period   = 14;
extern int    RsiOma_Price    = 0;
extern int    RsiOma_Mode     = MODE_LWMA;
extern int    MaPeriod        = 10;
extern int    MaType          = MODE_LWMA;

extern bool   LinesVisible    = false;
extern string LinesID         = "Rsioma slope 1";
extern color  LinesUpColor    = LimeGreen;
extern color  LinesDnColor    = OrangeRed;
extern int    LinesStyle      = STYLE_SOLID;
extern int    LinesWidth      = 0;

extern string note            = "turn on Alert = true; turn off = false";
extern bool   alertsOn        = false;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;
extern string soundfile       = "alert2.wav";

double rsi[];
double slp[];
double slpda[];
double slpdb[];
double ma[];
double mab[];
double trend[];
double slope[];

string shortName;
string indicatorFileName;
int    timeFrame;
bool   returnBars;
bool   calculateValue;

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

int deinit()
{
   string find = LinesID+":";
   for (int i=ObjectsTotal()-1; i>= 0; i--)
   {
      string name = ObjectName(i); if (StringFind(name,find)==0) ObjectDelete(name);
   }
   return(0); 
}

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) { rsi[0] = limit+1; return(0); }

   if (calculateValue || timeFrame==Period())
   {
     int window = WindowFind(shortName);
     if  (slope[limit] == -1) ClearPoint(limit,slpda,slpdb);
     for (i=limit; i >= 0; i--) mab[i] = iMA(NULL,0,RsiOma_Period,0,RsiOma_Mode,RsiOma_Price,i);
     for (i=limit; i >= 0; i--) rsi[i] = iRSIOnArray(mab,0,RsiOma_Period,i);
     for (i=limit; i >= 0; i--)
     {
        ma[i]  = iMAOnArray(rsi,0,MaPeriod,0,MaType,i);
        slp[i] = ma[i]-ma[i+1];
        slpda[i] = EMPTY_VALUE;
        slpdb[i] = EMPTY_VALUE;
        slope[i] = slope[i+1];
        trend[i] = trend[i+1]; 

	     if (slp[i] > slp[i+1]) slope[i]= 1; 
	     if (slp[i] < slp[i+1]) slope[i]=-1;
	     if (slp[i] > 0)        trend[i]= 1; 
	     if (slp[i] < 0)        trend[i]=-1;
	     if (slope[i] == -1) PlotPoint(i,slpda,slpdb,slp);
        if (LinesVisible && window>-1)
        {
          string name = LinesID+":"+Time[i];
            ObjectDelete(name);
            if (trend[i]!=trend[i+1])
            {
               color theColor  = LinesUpColor; if (trend[i]==-1) theColor = LinesDnColor;
                  ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
                     ObjectSet(name,OBJPROP_WIDTH,LinesWidth);
                     ObjectSet(name,OBJPROP_STYLE,LinesStyle);
                     ObjectSet(name,OBJPROP_C

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

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

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

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

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

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

Стоимость полного кода
567,20₽ ≈ $6.93