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

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

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм для расчёта индикаторных данных
RsiPeriod Период RSI — Период расчёта индикатора RSI
RsiPrice Цена RSI — Тип цены для расчёта RSI
MinMaxPeriod Период минимума и максимума — Период определения диапазона значений для плавающих уровней
LevelUp Уровень вверх — Процентное значение верхней границы плавающего уровня
LevelDown Уровень вниз — Процентное значение нижней границы плавающего уровня
alertsOn Уведомления включены — Включает или отключает систему уведомлений
alertsOnCurrent Уведомления на текущем баре — Ограничивает отправку уведомлений текущим баром
alertsMessage Сообщение — Включает всплывающие сообщения при срабатывании условий
alertsSound Звук — Включает воспроизведение звукового сигнала при срабатывании условий
alertsEmail Электронная почта — Включает отправку уведомлений на электронную почту
BarsPerSymbol Баров на символ — Количество баров отображаемых для каждой валютной пары
UniqueID Идентификатор — Идентификатор индикатора для имени окна и объектов
_ Разделитель — Метка разделителя для настроек цветов
textColor Цвет текста — Цвет текста меток валютных пар
backColor Цвет фона — Цвет фона разделителей между парами
signalCrossUpColor Цвет сигнала вверх — Цвет индикатора пересечения верхнего порога
signalCrossDownColor Цвет сигнала вниз — Цвет индикатора пересечения нижнего порога
separatorWidth Ширина разделителя — Ширина цветного разделителя между графиками пар
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1  LimeGreen
#property indicator_color2  DarkGray
#property indicator_color3  PaleVioletRed
#property indicator_color4  DarkGray
#property indicator_style1  STYLE_DOT
#property indicator_style2  STYLE_DOT
#property indicator_style3  STYLE_DOT
#property indicator_width4  2
#property indicator_style4  STYLE_DOT
#property indicator_level1  0
#property indicator_level2  20
#property indicator_level3 -20
#property indicator_levelcolor DarkGray

extern string TimeFrame          = "Current time frame";
extern int    RsiPeriod          = 55;
extern int    RsiPrice           = PRICE_CLOSE;
extern int    MinMaxPeriod       = 100;
extern double LevelUp            = 80.0;
extern double LevelDown          = 20.0;
extern bool   alertsOn           = false;
extern bool   alertsOnCurrent    = true;
extern bool   alertsMessage      = true;
extern bool   alertsSound        = false;
extern bool   alertsEmail        = false;
extern int    BarsPerSymbol      = 100;
extern string Symbols            = "EURUSD;GBPUSD;USDCHF";
extern string UniqueID           = "Multi pair floating RSI";
extern string _                  = "separator colors";
extern color  textColor          = Black;
extern color  backColor          = DarkGray;
extern color  signalCrossUpColor   = LimeGreen;
extern color  signalCrossDownColor = HotPink;
extern int    separatorWidth     = 6;

double rsi[];
double rsiUp[];
double rsiMi[];
double rsiDn[];
double trend[];
double cross[];

int      window;  
string   aPairs[];
string   shortName;
double   minValue;
double   maxValue;
double   maxValues[];
int      timeFrame;
bool     calculateValue;
string   indicatorFileName;

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

int deinit()
{
   for (int i = 0; i < ArraySize(aPairs); i++)
   { 
         ObjectDelete(shortName+i);
         ObjectDelete(shortName+i+i);
   }         
   return(0);
}

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

void plotGraph(string symbol,int limit, int& shift,int element, double min, double max)
{
   createLabel(symbol,element,shift+limit+separatorWidth-2,min,max,isSignalCrossing(shift));
   shift += (limit+separatorWidth-1);
}

int isSignalCrossing(int shift)
{
   return(cross[shift]);
}

void calculateIndicator()
{
   int i,counted_bars=IndicatorCounted();
      if(counted_bars<0) return;
      if(counted_bars>0) counted_bars--;
           int limit=MathMax(Bars-counted_bars,Bars-1);

   for(i=limit; i>=0; i--)
   {
      rsi[i]        = iRSI(NULL,0,RsiPeriod,PRICE_CLOSE,i);
      double rsiMin = rsi[ArrayMinimum(rsi,MinMaxPeriod,i)];
      double rsiMax = rsi[ArrayMaximum(rsi,MinMaxPeriod,i)];
         double range = rsiMax-rsiMin;
            rsiDn[i]  = rsiMin+range*LevelDown/100.0;
            rsiMi[i]  = rsiMin+range*0.5;
            rsiUp[i]  = rsiMin+range*LevelUp/100.0;
            trend[i]   = 0;
            cross[i]   = 0;
               if (rsi[i]>rsiUp[i]) trend[i] =  1;
               if (rsi[i]<rsiDn[i]) trend[i] = -1;
               if (trend[i]!=trend[i+1]) cross[i] = trend[i];
   }
   manageAlerts();
}

double workEma[][

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

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

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

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

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

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

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