Smoothed RSI
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «super_smoothed_rsi.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор предназначен для платформы MetaTrader 5 и рассчитывает аналитический показатель RSI (Relative Strength Index) с возможностью дополнительного сглаживания. Он отображает значения RSI в отдельном окне графика, окрашивая линию в зависимости от текущего тренда: зелёный цвет при восходящем тренде (RSI выше верхнего уровня) и оранжевый — при нисходящем (RSI ниже нижнего уровня).
Индикатор поддерживает выбор различных типов цен (Close, Open, High, Low и др.) и позволяет настраивать период RSI, пороговые уровни и длину сглаживания. Сглаживание применяется к ценовому ряду перед расчётом RSI с использованием пользовательского алгоритма, активируемого при значении параметра сглаживания больше единицы.
Индикатор работает на каждом тике, пересчитывая значения RSI и трендовые точки для отображения актуальных данных на графике. Результатом являются буферы для основной линии RSI и точек трендовых разворотов.
Настройки программы
| Настройка | Описание |
|---|---|
| Length | Период расчёта индикатора RSI — количество баров, используемых для вычисления. Значение по умолчанию: 14. |
| Price | Тип ценовых данных, используемых для расчёта. Поддерживаются: Close (0), Open (1), High (2), Low (3), Median (4), Typical (5), Weighted (6). По умолчанию: Close. |
| LevelUp | Пороговое значение RSI, выше которого индикатор определяет восходящий тренд. Значение по умолчанию: 70. |
| LevelDown | Пороговое значение RSI, ниже которого индикатор определяет нисходящий тренд. Значение по умолчанию: 30. |
| SmoothLength | Параметр сглаживания ценового ряда перед расчётом RSI. Если значение больше 1, применяется дополнительное сглаживание. По умолчанию: 10. |
Поиск по коду файла
#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 = 10;
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;
if (i>=Bars-Length) continue;
double cu = 0;
double cd = 0;
for (int k=0; k<Length; k++)
{
double diff = prc[i+k]-prc[i+k+1];
if (diff > 0)
cu += diff;
else cd -= diff;
}
if ((cu+cd)!=0)
Показано первые 50% кода (символов: 3775)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.