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

rsioma_nrp_mtfalertslines.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 и скользящей средней, отображающий результаты в отдельном окне. Поддерживает многопериодный анализ и рисует вертикальные линии на графике при изменении направления тренда или наклона линии RSI. Имеет систему уведомлений, которая может отправлять сообщения, звуковые сигналы и электронные письма при наступлении заданных условий.

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

НастройкаОписание
TimeFrame Таймфрейм — Задаёт период графика для расчёта и отображения данных индикатора.
RsiOma_Period Период RSI MA — Определяет период усреднения, используемый при расчёте RSI.
RsiOma_Price Цена RSI MA — Указывает тип цены, используемой при расчёте RSI.
RsiOma_Mode Режим RSI MA — Задаёт метод сглаживания для расчёта RSI.
MaPeriod Период MA — Период скользящей средней, рассчитываемой от значений RSI.
MaType Тип MA — Метод сглаживания для скользящей средней RSI.
linesVisible Видимость линий — Включает или отключает отрисовку линий-алертов на графике.
linesID Идентификатор линий — Префикс имён графических объектов, используемых для отображения линий.
linesOnRsiMaCross Линии при пересечении RSI и MA — Включает отрисовку вертикальных линий при изменении направления между RSI и её скользящей средней.
linesOnRsiMaCrossUpColor Цвет при восходящем пересечении — Цвет линии, отображаемой при восходящем изменении направления.
linesOnRsiMaCrossDnColor Цвет при нисходящем пересечении — Цвет линии, отображаемой при нисходящем изменении направления.
linesOnRsiMaCrossStyle Стиль линий пересечения — Стиль отображения линий при пересечении RSI и MA.
linesOnRsiMaCrossWidth Толщина линий пересечения — Толщина линий, рисуемых при пересечении RSI и MA.
linesOnSlope Линии при изменении наклона — Включает отрисовку вертикальных линий при изменении направления наклона RSI.
linesOnSlopeUpColor Цель при восходящем наклоне — Цвет линии, отображаемой при восходящем изменении наклона.
linesOnSlopeDnColor Цвет при нисходящем наклоне — Цвет линии, отображаемой при нисходящем изменении наклона.
linesOnSlopeStyle Стиль линий наклона — Стиль отображения линий при изменении наклона RSI.
linesOnSlopeWidth Толщина линий наклона — Толщина линий, рисуемых при изменении наклона RSI.
levelOb Уровень перекупленности — Значение уровня перекупленности, отображаемое на индикаторе.
levelOs Уровень перепроданности — Значение уровня перепроданности, отображаемое на индикаторе.
alertsOn Уведомления включены — Включает или отключает систему уведомлений индикатора.
alertsOnCurrent Уведомления на текущем баре — Определяет, проверять ли условие на текущем или предыдущем баре.
alertsMessage Сообщение — Включает вывод текстового уведомления в окно алертов.
alertsSound Звуковой сигнал — Включает воспроизведение звукового файла при срабатывании уведомления.
alertsEmail Электронная почта — Включает отправку email-уведомления при срабатывании условия.
soundfile Звуковой файл — Имя файла звука, воспроизводимого при срабатывании уведомления.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     Lime
#property indicator_color2     Red
#property indicator_color3     Red
#property indicator_color4     White
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_width4     2
#property indicator_levelcolor MediumOrchid

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_nrp";
extern bool   linesOnRsiMaCross        = false;  
extern color  linesOnRsiMaCrossUpColor = Lime;
extern color  linesOnRsiMaCrossDnColor = Red;
extern int    linesOnRsiMaCrossStyle   = STYLE_SOLID;
extern int    linesOnRsiMaCrossWidth   = 3;
extern bool   linesOnSlope             = false;  
extern color  linesOnSlopeUpColor      = Lime;
extern color  linesOnSlopeDnColor      = Red;
extern int    linesOnSlopeStyle        = STYLE_SOLID;
extern int    linesOnSlopeWidth        = 3;

extern double levelOb                  = 50;
extern double levelOs                  = 50;

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 rsida[];
double rsidb[];
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,rsida,rsidb);
     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);
        rsida[i] = EMPTY_VALUE;
        rsidb[i] = EMPTY_VALUE;
        slope[i] = slope[i+1];
        trend[i] = trend[i+1]; 

	     if (rsi[i] > rsi[i+1]) slope[i]= 1; 
	     if (rsi[i] < rsi[i+1]) slope[i]=-1;
	     if (rsi[i] > ma[i])    trend[i]= 1; 
	     if (rsi[i] < ma[i])    trend[i]=-1;
	     if (slope[i] == -1) PlotPoint(i,rsida,rsidb,rsi);

	     if (linesVisible && window > -1)
        {
           string name = linesID+":"+Time[i];
            ObjectDelete(name);
            if (linesOnRsiMaCross)
            {
              if (trend[i]!= trend[i+1])
              {
                 color theZColor  = linesOnRsiMaCrossUpColor; if (trend[i]==-1) theZColor = linesOnRsiMaCrossDnColor;
                    ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
                       ObjectSet(name,OBJPROP_WIDTH,linesOnRsiMaCrossWidth);
                       ObjectSet(name,OBJPROP_STYLE,linesOnRsiMaCrossStyle);
                       ObjectSet(name,OBJPROP_COLOR,theZColor);
              }
            }
            if (linesOnSlope)
            {
              if (slope[i]!= slope[i+1])
              {
                color theSColor  = linesOnSlopeUpColor; if (slope[i]==-1) theSColor = linesOnSlopeDnColor;
                    ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
                       ObjectSet(name,OBJPROP_WIDTH,linesOnSlopeWidth);
                       

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

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

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

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

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

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

Стоимость полного кода
740,10₽ ≈ $9.05