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

MACD-RSI

macd^rsi - arrows.mq5
Вы автор или правообладатель?

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

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

О программе

Индикатор MACD-RSI для MetaTrader 5 объединяет анализ двух технических индикаторов — MACD и RSI — в одном отдельном окне. Он рассчитывает MACD на основе экспоненциальных скользящих средних, формирует сигнальную линию и вычисляет RSI на основе разностей значений MACD.

Индикатор отображает три графика: гистограмму MACD, сигнальную линию и линию RSI, каждый из которых имеет собственное цветовое оформление. Дополнительно поддерживается отображение стрелок при пересечении определённых уровней с возможностью выбора цветов и идентификатора объектов на графике.

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

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

НастройкаОписание
FastEMA Период быстрой экспоненциальной скользящей средней для расчёта MACD.
SlowEMA Период медленной экспоненциальной скользящей средней для расчёта MACD.
SignalSMA Период простой скользящей средней для формирования сигнальной линии.
RSIPeriod Период расчёта индикатора RSI.
caliber Коэффициент калибровки для корректировки значений RSI.
ShowArrowsForMacdCross Включает отображение стрелок при пересечении линий MACD.
ShowArrowsForRsiCross Включает отображение стрелок при пересечении линий RSI.
ShowArrowsForMacdRsiCross Включает отображение стрелок при пересечении MACD и RSI.
arrowsIdentifier Идентификатор стрелок для управления объектами на графике.
arrowsUpColor1 Цвет верхних стрелок для пересечений MACD.
arrowsDnColor1 Цвет нижних стрелок для пересечений MACD.
arrowsUpColor2 Цвет верхних стрелок для пересечений RSI.
arrowsDnColor2 Цвет нижних стрелок для пересечений RSI.
Получить полный код

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

#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_color3 DodgerBlue
#property  indicator_width1  2

extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

extern int RSIPeriod=14;
extern double caliber=4.0; //need for RSI caliber
extern bool   ShowArrowsForMacdCross    = true;
extern bool   ShowArrowsForRsiCross     = true;
extern bool   ShowArrowsForMacdRsiCross = true;
extern string arrowsIdentifier          = "macdRsiArrows1";
extern color  arrowsUpColor1            = DeepSkyBlue;
extern color  arrowsDnColor1            = Red;
extern color  arrowsUpColor2            = PaleVioletRed;
extern color  arrowsDnColor2            = Gold;

double RSIBuffer[];
double PosBuffer[];
double NegBuffer[];

double     MacdBuffer[];
double     SignalBuffer[];
double trend1[];
double trend2[];

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

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

   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++)
      MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

   for(i=0; i<limit; i++)
      SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);

   i=Bars-RSIPeriod-1;
   if(counted_bars>=RSIPeriod) i=Bars-counted_bars-1;
   while(i>=0)
     {
      double sumn=0.0,sump=0.0;
      if(i==Bars-RSIPeriod-1)
        {
         int k=Bars-2;

         while(k>=i)
           {
            rel=MacdBuffer[k]-MacdBuffer[k+1];
            if(rel>0) sump+=rel;
            else      sumn-=rel;
            k--;
           }
         positive=sump/RSIPeriod;
         negative=sumn/RSIPeriod;
     

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

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

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

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

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

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

Стоимость полного кода
371,70₽ ≈ $4.54