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

ThierryTrend

thierryrsi_cci.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 5 и отображает направление тренда на графике цены в виде трёх цветных линейных буферов. Он анализирует ценовые данные и ряд технических индикаторов для определения бычьего или медвежьего состояния рынка, визуально отмечая соответствующие уровни тренда.

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

Логика формирования сигнала основана на комбинации нескольких технических индикаторов и усреднённых ценовых данных. Результат отрисовывается в виде точек и линий, которые переключаются между двумя состояниями в зависимости от текущего направления тренда.

Индикатор реализован как пользовательский индикатор для MetaTrader 5 с тремя отображаемыми буферами и одним скрытым буфером направления. Разработчик указан как Jacob Uzon.

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

НастройкаОписание
timeFrame Выбор таймфрейма для расчёта индикатора. Допускается указание стандартных таймфреймов (M1, M5, M15, M30, H1, H4, D1, W1, MN1) или значение по умолчанию — текущий таймфрейм графика.
CCIPeriod Период расчёта индикатора CCI, используемого совместно с RSI для определения направления тренда.
RSIPeriod Период расчёта индикатора RSI, используемого совместно с CCI для определения направления тренда.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Yellow

extern string  timeFrame = "Current time frame";
extern int CCIPeriod = 14;
extern int RSIPeriod = 8;

double   Trend[];
double   TrendDoA[];
double   TrendDoB[];
double   Direction[];
int      TimeFrame;
string   IndicatorFileName;

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

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

   if(counted_bars < 0) return(-1);
   if(counted_bars>0) counted_bars--;
      limit = MathMax(Bars-counted_bars,Bars-1);

      if (Direction[limit] == -1) CleanPoint(limit,TrendDoA,TrendDoB);

      if (TimeFrame != Period())
      {
         limit = MathMax(limit,TimeFrame/Period());

            for(i=limit; i>=0; i--)
            {
               int y = iBarShift(NULL,TimeFrame,Time[i]);
               double cciTrend = iCCI(NULL, 0, CCIPeriod, PRICE_TYPICAL, y);
               double rsiTrend = iRSI(NULL, 0, RSIPeriod, PRICE_TYPICAL, y);

               TrendDoA[i]  = EMPTY_VALUE;
               TrendDoB[i]  = EMPTY_VALUE;
               Trend[i]     = iCustom(NULL,TimeFrame,IndicatorFileName,0,y);
               Direction[i] = Direction[i+1];
                  if (cciTrend>0 && rsiTrend > 50) Direction[i] =  1;
                  if (cciTrend<0 && rsiTrend < 50) Direction[i] = -1;
                  if (Direction[i]==-1) PlotPoint(i,TrendDoA,TrendDoB,Trend);
            }
         return(0);         
      }

   for(i = limit; i >= 0; i--)
   {
         cciTrend = iCCI(NULL, 0, CCIPeriod, PRICE_TYPICAL, i);
         rsiTrend = iRSI(NULL, 0, RSIPeriod, PRICE_TYPICAL, i);

         TrendDoA[i]  = EMPTY_VALUE;
         TrendDoB[i]  = EMPTY_VALUE;
         Trend[i]     = Trend[i+1];
         Direction[i] = Direction[i+1];
            if (cciTrend > 0 && rsiTrend > 50) { Trend[i] = MathMax(Low[i]  - iATR(NULL, 0, 5, i),Trend[i+1]); Direction[i] =  1; }
            if (cciTrend < 0 && rsiTrend < 50) { Trend[i] = MathMin(High[i] + iATR(NULL, 0, 5,

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

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

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

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

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

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

Стоимость полного кода
355,60₽ ≈ $4.35