rsi_of_super_smoother.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_of_super_smoother.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает значение RSI (Relative Strength Index) на основе выбранной цены и при необходимости сглаживает ценовую серию фильтром Super Smoother перед расчётом. Результат отображается в отдельном окне с пятью буферами отрисовки и двумя горизонтальными уровнями. Дополнительно индикатор определяет тренд по пересечению уровней и рисует точки разными цветами в зависимости от зоны RSI.
Параметры настраивают период RSI, тип цены, верхний и нижний уровни, а также длину сглаживания. Если длина сглаживания больше единицы, ценовая серия предварительно проходит через Super Smoother, после чего RSI вычисляется уже по сглаженным данным. При значении сглаживания по умолчанию индикатор работает без дополнительной фильтрации.
Индикатор использует стандартные функции MetaTrader 5 для расчёта RSI на массивах и скользящей средней, а также собственную реализацию Super Smoother. Не выполняет торговых операций и не генерирует сигналы для сделок — только визуализирует аналитические данные.
Настройки программы
| Настройка | Описание |
|---|---|
| Length | Период расчёта индикатора RSI. Определяет количество баров, используемых для вычисления значения RSI. |
| Price | Тип цены для расчёта RSI. Принимает значения: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. |
| LevelUp | Верхний горизонтальный уровень индикатора. Значение по умолчанию — 70. |
| LevelDown | Нижний горизонтальный уровень индикатора. Значение по умолчанию — 30. |
| SmoothLength | Период сглаживания ценовой серии фильтром Super Smoother перед расчётом RSI. Если значение больше 1, применяется сглаживание; если равно 1 или меньше — цена используется без фильтрации. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 Gray
#property indicator_color2 LimeGreen
#property indicator_color3 LimeGreen
#property indicator_color4 Orange
#property indicator_color5 Orange
#property indicator_width2 3
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 3
#property indicator_minimum 0
#property indicator_maximum 100
extern int Length = 14;
extern int Price = PRICE_CLOSE;
extern double LevelUp = 70;
extern double LevelDown = 30;
extern double SmoothLength = 20;
double rsi[];
double rsiUa[];
double rsiUb[];
double rsiDa[];
double rsiDb[];
double prc[];
double trend[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
if (trend[limit]== 1) CleanPoint(limit,rsiUa,rsiUb);
if (trend[limit]==-1) CleanPoint(limit,rsiDa,rsiDb);
for(int i=limit; i >= 0; i--)
{
double price = iMA(NULL,0,1,0,MODE_SMA,Price,i);
if (SmoothLength>1)
price = iSsm(price,SmoothLength,i);
prc[i] = price;
}
for(i=limit; i >= 0; i--)
{
rsi[i] = iRSIOnArray(prc,0,Length,i);
rsiUa[i] = EMPTY_VALUE;
rsiUb[i] = EMPTY_VALUE;
rsiDa[i] = EMPTY_VALUE;
Показано первые 50% кода (символов: 3634)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.