rsi_2.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор предназначен для платформы MetaTrader 5 и отображает аналитические данные в отдельном подокне графика. Он рассчитывает значение индикатора RSI заданного периода, а затем применяет к нему многократное экспоненциальное сглаживание по алгоритму T3 для получения более плавной линии.
Дополнительно индикатор реализует алгоритм поиска значимых максимумов и минимумов на сглаженной кривой RSI, аналогичный ZigZag, с использованием параметров глубины, отклонения и отката. Найденные экстремумы отображаются в виде отдельных линий на графике.
Индикатор использует четыре буфера отрисовки: основную сглаженную линию RSI и линии максимумов, минимумов, а также вспомогательный буфер. Результаты расчёта доступны для визуального анализа ценовых паттернов и технических условий.
Настройки программы
| Настройка | Описание |
|---|---|
| raz_Array | Глубина массива для поиска локальных максимумов и минимумов сглаженной кривой |
| RSIPeriod | Период расчёта стандартного индикатора Relative Strength Index |
| t3_period | Период сглаживания, используемый в алгоритме T3 для фильтрации значений RSI |
| b | Коэффициент, определяющий скорость сглаживания в алгоритме T3 |
| ExtDepth | Минимальное расстояние в барах между соседними экстремумами при поиске пиков и впадин |
| ExtDeviation | Минимальное отклонение в пунктах, необходимое для признания найденного значения экстремумом |
| ExtBackstep | Количество шагов отката для фильтрации и уточнения найденных экстремумов |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Gold
extern int raz_Array=30;
extern int RSIPeriod=14;
extern int t3_period=8;
extern double b=0.7;
extern int ExtDepth=21;
extern int ExtDeviation=13;
extern int ExtBackstep=34;
double t3_RSIBuffer[];
double ExtMapBuffer[];
double ExtMapBuffer2[];
double max[], min[];
double e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, n, w1, w2, b2, b3, i_WPR;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
}
int start()
{
// код доступен только после оплаты
}
int i,counted_bars=IndicatorCounted();
int shift, back,lasthighpos,lastlowpos,index;
double val,res;
double curlow,curhigh,lasthigh,lastlow;
for(i=Bars-1; i>=0; i--)
{
i_WPR=iRSI(NULL,0,RSIPeriod,PRICE_CLOSE,i);
e1 = w1*i_WPR + w2*e1;
e2 = w1*e1 + w2*e2;
e3 = w1*e2 + w2*e3;
e4 = w1*e3 + w2*e4;
e5 = w1*e4 + w2*e5;
e6 = w1*e5 + w2*e6;
t3_RSIBuffer[i] = c1*e6 + c2*e5 + c3*e4 + c4*e3;
max[i]=t3_RSIBuffer[ArrayMaximum(t3_RSIBuffer,raz_Array,i)];
min[i]=t3_RSIBuffer[ArrayMinimum(t3_RSIBuffer,raz_Array,i)];
}
for(shift=Bars-1; shift>=0; shift--)
{
int n, sn, r, result;
bool ft=true;
for(n=1; n<ExtDepth; n++)
{
sn=shift+n;
if(ft)
{
if(t3_RSIBuffer[shift]<t3_RSIBuffer[sn]) result=shift;
else result=sn;
r=result;
ft=false;
}
else
{
if(t3_RSIBuffer[r]<t3_RSIBuffer[sn]) result=r;
else result=sn;
r=result;
}
}
index=r;
val=t3_RSIBuffer[Показано первые 50% кода (символов: 3370)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.