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

Cronex T3 RSI BB

cronex t3 rsi bb_mtf nmc.mq4

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

!!!-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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «Cronex T3 RSI BB» рассчитывает усреднённый индекс RSI по четырём периодам с ценой PRICE_WEIGHTED, вычитает 50 и применяет к результату сглаживание T3. Затем на сглаженную RSI-линию накладываются полосы Боллинджера, что позволяет оценивать экстремумы и развороты в рамках мультитаймфреймового анализа. Индикатор отображает 7 буферов в отдельном подокне, включая гистограммы отклонений от полос.

В режиме мультитаймфрейма индикатор вызывает собственный экземпляр на старшем таймфрейме через iCustom, передавая параметры расчёта и номер буфера. Поддерживаются два вспомогательных режима: «calculateValue» для получения вычисленных значений и «returnBars» для возврата количества обработанных баров. Это позволяет внешним скриптам и советникам считывать данные индикатора с другого таймфрейма.

Настройки включают параметры RSI-периода, периода и коэффициента нагрева T3, периода и стандартного отклонения полос Боллинджера, а также три уровня для визуализации (перепроданность, середина и перекупленность). Индикатор совместим с MetaTrader 4 и работает как пользовательский индикатор с обработкой события OnCalculate.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором выполняется расчёт индикатора. Поддерживается мультитаймфреймовый режим: для старших периодов индикатор вызывает собственный экземпляр через iCustom. Значение «calculateValue» и «returnBars» задают вспомогательные режимы работы.
RSIPeriod Базовый период расчёта индекса RSI. Используется как основа для формирования четырёх периодов усреднения (RSIPeriod, RSIPeriod+4, RSIPeriod+8, RSIPeriod+12).
T3Period Период сглаживания T3, определяющий глубину скользящего среднего в алгоритме T3.
T3Hot Коэффициент нагрева (hot) для алгоритма сглаживания T3, влияющий на скорость реакции сглаженной линии на изменение ценовых данных.
T3Original Переключатель выбора формулы расчёта коэффициента сглаживания T3: оригинальная формула или альтернативная.
BandsPeriod Период расчёта полос Боллинджера на основе сглаженной RSI-линии.
BandsDeviations Число стандартных отклонений для расчёта верхней и нижней полос Боллинджера, применённых к сглаженной RSI.
BandsShift Сдвиг полос Боллинджера в барах относительно текущего бара.
levelOs Значение уровня перепроданности для визуализации в подокне индикатора.
levelMid Значение среднего уровня индикатора, отображаемого в отдельном подокне.
levelOb Значение уровня перекупленности для визуализации в подокне индикатора.
Получить полный код

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

#property  indicator_separate_window
#property indicator_buffers 7
#property indicator_color1     DarkOrange
#property indicator_color2     SteelBlue
#property indicator_color3     LightSeaGreen
#property indicator_color4     LightSeaGreen
#property indicator_color5     LightSeaGreen
#property indicator_color6     Blue
#property indicator_color7     Red
#property indicator_width1     2
#property indicator_width6     2
#property indicator_width7     2
#property indicator_style3     STYLE_DOT
#property indicator_style4     STYLE_DOT
#property indicator_style5     STYLE_DOT
#property indicator_levelcolor DarkSlateGray

extern string  TimeFrame       = "Current time frame";
extern int     RSIPeriod       = 16;
extern int     T3Period        = 10;
extern double  T3Hot           = 0.618;
extern bool    T3Original      = false;
extern int     BandsPeriod     = 20;
extern int     BandsDeviations = 2;
extern int     BandsShift      = 0;
extern int     levelOs         = 20;
extern int     levelMid        = 0;    
extern int     levelOb         = -20;    

double RSITArray[];
double RSIArray[];
double BBMDArray[];
double BBUPArray[];
double BBDNArray[];
double MaxArray[];
double MinArray[];
double trend[];

string IndicatorFileName;
int    timeFrame;
bool   returnBars;
bool   calculateValue;

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

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

   if(counted_bars < 0) return(-1);
   if(counted_bars > 0) counted_bars--;
             limit=MathMin(Bars-counted_bars,Bars-1);
             if (returnBars) { RSITArray[0] = limit; return(0); }

   if (calculateValue || timeFrame == Period())
   {
      for(i=limit; i>=0; i--)
      {
        RSIArray[i]  =(iRSI(NULL,0,RSIPeriod+4*0,PRICE_WEIGHTED,i)+iRSI(NULL,0,RSIPeriod+4*1,PRICE_WEIGHTED,i)+
                       iRSI(NULL,0,RSIPeriod+4*2,PRICE_WEIGHTED,i)+iRSI(NULL,0,RSIPeriod+4*3,PRICE_WEIGHTED,i))/4-50;      

        RSITArray[i] = iT3(RSIArray[i],T3Period,T3Hot,T3Original,i,0);   
      }

     for(i=limit; i>=0; i--)
     {
        BBMDArray[i] = iBandsOnArray(RSITArray,0,BandsPeriod,BandsDeviations,BandsShift,MODE_MAIN, i);
        BBUPArray[i] = iBandsOnArray(RSITArray,0,BandsPeriod,BandsDeviations,BandsShift,MODE_UPPER,i);
        BBDNArray[i] = iBandsOnArray(RSITArray,0,BandsPeriod,BandsDeviations,BandsShift,MODE_LOWER,i);
        trend[i]     = 0;
        MaxArray[i]  = EMPTY_VALUE;
        MinArray[i]  = EMPTY_VALUE;
            if(RSIArray[i]<BBDNArray[i])  trend[i] = -1;
            if(RSIArray[i]>BBUPArray[i])  trend[i] =  1;
            if (trend[i] ==  1) MaxArray[i]=RSIArray[i]-BBUPArray[i];
            if (trend[i] == -1) MinArray[i]=RSIArray[i]-BBDNArray[i];  

      }
      return(0);
      }

      limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,IndicatorFileName,"returnBars",0,0)*timeFrame/Period()));
      for (i=limit; i>=0; i--)
      {
         int y = iBarShift(NULL,timeFrame,Time[i]);
            RSITArray[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateValue",RSIPeriod,T3Period,T3Hot,T3Original,BandsPeriod,BandsDeviations,BandsShift,0,y);
            RSIArray[i]  = iCustom(NULL,timeFrame,IndicatorFileName,"calculateValue",RSIPeriod,T3Period,T3Hot

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

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

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

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

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

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

Стоимость полного кода
682₽ ≈ $8.34