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

Real_Time_MultiIndicator_v1

_multiindicator.mq5

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

! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих теговtm sniper pro.pineTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MQL4 / MetaTrader 4 · 1 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, отображающий на графике таблицу сигналов пяти технических индикаторов. В таблице представлены результаты Parabolic SAR, MACD, скользящих средних (SMA Cross), ADX и CCI для нескольких таймфреймов.

Индикатор формирует визуальную таблицу с помощью графических объектов OBJ_TEXT и OBJ_RECTANGLE. Каждая строка соответствует одному техническому индикатору, а столбцы отображают таймфреймы M15, M30, H1 и H4. Для каждой комбинации индикатора и таймфрейма формируется текстовая метка с результатом анализа.

Анализ выполняется путём сравнения текущих и предыдущих значений индикаторов на указанных барах. Результат представляется как текст с указанием направления и номера бара. При недостатке данных для расчёта отображается сообщение об ожидании данных.

Настройки индикаторов включают шаг и максимум для Parabolic SAR, периоды EMA и SMA для MACD, периоды скользящих средних, период ADX и период CCI. Цвета линий таблицы и текста задаются отдельными параметрами.

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

НастройкаОписание
TColor Цвет линий прямоугольников таблицы и горизонтальных разделителей на графике.
TxtColor Цвет текстовых меток в таблице индикаторов и заголовков столбцов.
p1 Текстовый параметр-заголовок раздела настроек параметров индикатора Parabolic SAR.
SAR_Step Начальный шаг ускорения параметра Parabolic SAR, определяющий чувствительность параболической линии к изменениям цены.
SAR_Max Максимальное значение ускорения параметра Parabolic SAR, ограничивающее рост шага при расчёте параболической линии.
p2 Текстовый параметр-заголовок раздела настроек параметров индикатора MACD.
Fast_EMA Период быстрой экспоненциальной скользящей средней (EMA), используемой в расчёте индикатора MACD.
Slow_EMA Период медленной экспоненциальной скользящей средней (EMA), используемой в расчёте индикатора MACD.
MACD_SMA Период простой скользящей средней (SMA), применяемой для расчёта сигнальной линии индикатора MACD.
p3 Текстовый параметр-заголовок раздела настроек параметров скользящих средних.
Fast_MA Период быстрой простой скользящей средней (SMA), используемой при анализе пересечения скользящих средних.
Slow_MA Период медленной простой скользящей средней (SMA), используемой при анализе пересечения скользящих средних.
p4 Текстовый параметр-заголовок раздела настроек параметров индикатора ADX.
ADX_Period Период расчёта индикатора ADX (средняя направленная индекс). Определяет количество баров, используемых для усреднения линий +DI и -DI.
p5 Текстовый параметр-заголовок раздела настроек параметров индикатора CCI.
Period_CCI Период расчёта индикатора CCI (коммодиитетный каналный индикатор). Определяет количество баров для усреднения.
Получить полный код

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

#property indicator_separate_window
#property indicator_maximum 10.0
#property indicator_minimum 0.0
extern color TColor = SteelBlue;
extern color TxtColor = Red;

extern string p1 = "Parabolic SAR Parameter";
extern double SAR_Step = 0.02;
extern double SAR_Max = 0.2;
extern string p2 = "MACD Parameter";
extern int Fast_EMA = 12;
extern int Slow_EMA = 26;
extern int MACD_SMA = 9;
extern string p3 = "Moving Average Parameter";
extern int Fast_MA = 5;
extern int Slow_MA = 10;
extern string p4 = "ADX Parameter";
extern int ADX_Period = 14;
extern string p5 = "CCI Parameter";
extern int Period_CCI = 14;

int t1, t2, t11, t12, t13, t14, t15, a, b;
int textT[6], textC[8], tt[10];
int per[] = {15, 30, 60, 240};    // {1=M1, 5=M5, 15=M15, 30=M30, 60=H1, 240=H4, 1440=D1, 10080=W1, 43200=MN1}
string nameS[] = {"INDICATOR", "M15", "M30", "H1", "H4"};
string name[] = {"Parabolic SAR", "MACD", "SMA Cross", "ADX", "CCI", 
                 "", ""};

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

int Error(int p, int a)
  {
    double s = iClose(NULL, p, a);
    if(s == 0) 
        return(1);
  }

string SAR(int p)
  {
   int ii = 1;
   if(iSAR(NULL, p, SAR_Step, SAR_Max, 0) > iClose(NULL, p, ii)) 
     {
       while(iSAR(NULL, p, SAR_Step, SAR_Max, ii) > iClose(NULL, p, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Sell(" + DoubleToStr(ii, 0) + ")");
     }
   else 
     {
       while(iSAR(NULL, p, SAR_Step, SAR_Max, ii) < iClose(NULL, p, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Buy(" + DoubleToStr(ii, 0) + ")");
     } 
  }

string MACD(int p)
  {
   int ii = 1;
   if(iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, PRICE_MEDIAN, 0, 0) < 
      iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, PRICE_MEDIAN, 1, 0))
     {
       while(iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, 
             PRICE_MEDIAN, 0, ii) < 
             iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, 
             PRICE_MEDIAN, 1, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Sell(" + DoubleToStr(ii, 0) + ")");
     }
   else 
     {
       while(iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, 
             PRICE_MEDIAN, 0, ii) > 
             iMACD(NULL, p, Fast_EMA, Slow_EMA, MACD_SMA, 
             PRICE_MEDIAN, 1, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Buy(" + DoubleToStr(ii, 0) + ")");
     }
  }

string CMA(int p)
  {
   int ii = 1;
   if(iMA(NULL, p, Fast_MA, 0, MODE_SMA, PRICE_MEDIAN, 0) < 
      iMA(NULL, p, Slow_MA, 0, MODE_SMA, PRICE_MEDIAN, 0))
     {
       while(iMA(NULL, p, Fast_MA, 0, MODE_SMA, PRICE_MEDIAN, ii) < 
             iMA(NULL, p, Slow_MA, 0, MODE_SMA, PRICE_MEDIAN, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Sell(" + DoubleToStr(ii, 0) + ")");
     }
   else
     {
       while(iMA(NULL, p, Fast_MA, 0, MODE_SMA, PRICE_MEDIAN, ii) > 
             iMA(NULL, p, Slow_MA, 0, MODE_SMA, PRICE_MEDIAN, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Buy(" + DoubleToStr(ii, 0) + ")");
     }
  }

string ADX(int p)
  {
   int ii = 1;
   if(iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 1, 0) < 
      iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 2, 0))
     {
       while(iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 1, ii) < 
             iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 2, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Sell(" + DoubleToStr(ii, 0) + ")");
     }
   else
     {
       while(iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 1, ii) > 
             iADX(NULL, p, ADX_Period, PRICE_MEDIAN, 2, ii))
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Buy(" + DoubleToStr(ii, 0) + ")");
     }
  }

string CCI(int p)
  {
    int ii = 1;
    if(iCCI(NULL, p, Period_CCI, PRICE_MEDIAN, 0) < 0)
     {
       while(iCCI(NULL, p, Period_CCI, PRICE_MEDIAN, ii) < 0)       
ii++;
      if(Error(p, ii + 1) == 1) 
          return("Waiting data");
      return("Sell(" + DoubleToStr(ii, 0) + ")");
    }
  else
    {
      while(iCCI(NULL, p, Period_CCI, PRICE_MEDIAN, ii) > 0)
          ii++;
      if(Error(p, ii + 1) == 1) 
          return("Waiting data");
      return("Buy(" + DoubleToStr(ii, 0) + ")");
    }
  }
/*//+------------------------------------------------------------------+

string Функция(int p)
  {
   int ii = 1;
   if(Условие для индикатора - true - sell, false - buy)
     {
       while(Условие для sell)
           ii++;
       if(Error(p, ii + 1) == 1) 
           return("Waiting data");
       return("Sell(" + DoubleToStr(ii, 0) + ")");
     }
   else
     {
       while(Условие для buy)
           ii++;
       if(Error(p, ii + 1) == 1) 
     

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

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

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

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

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

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

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