Cronex T3 RSI BB
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cronex t3 rsi bb_mtf nmc.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.