rsi_of_ema_variation__filter_sw.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_of_ema_variation__filter_sw.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот файл является пользовательским индикатором для MetaTrader 5. Он отображается в отдельном окне и строит три буфера, соответствующие трём линиям индикатора. Индикатор рассчитывает сглаженную ценовую последовательность, затем применяет к ней осциллятор RSI и выводит результат в виде основной линии и двух дополнительных линий, которые используются для отметки точек разворота. В коде предусмотрена возможность фильтрации резких изменений сглаженной цены с помощью параметра Filter. Индикатор не содержит торговых функций и не предназначен для автоматического совершения сделок.
Настройки программы
| Настройка | Описание |
|---|---|
| RsiPeriod | Целочисленный параметр, задающий период расчёта осциллятора RSI. |
| period | Целочисленный параметр, задающий основной период расчёта, используемый при сглаживании и фильтрации. |
| Price | Целочисленный параметр, задающий тип цены (например, цена закрытия), используемой для расчёта индикатора. |
| Divisor | Числовой параметр, задающий делитель, используемый при расчёте периода сглаживания. Влияет на чувствительность сглаженной линии. |
| Filter | Числовой параметр, управляющий степенью фильтрации резких изменений сглаженной цены. При значении больше нуля включается дополнительная обработка, снижающая шум. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 Orange
#property indicator_color3 Orange
#property indicator_width1 3
#property indicator_width2 3
#property indicator_width3 3
extern int RsiPeriod = 14; // RSi period
extern int period = 14; // Calculating period
extern int Price = PRICE_CLOSE; // Price
extern double Divisor = 3; // Divisor to use for "ema" calculation
extern double Filter = 1; // Filter
double rsi[];
double rsida[];
double rsidb[];
double slope[];
double buffer[];
int init()
{
// код доступен только после оплаты
}
double work[][2];
#define _change 0
#define _achang 1
int start()
{
// код доступен только после оплаты
}
int i,r,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(Bars-counted_bars,Bars-2);
if (ArrayRange(work,0)!=Bars) ArrayResize(work,Bars);
if (slope[limit]==-1) CleanPoint(limit,rsida,rsidb);
for(i=limit, r=Bars-i-1; i>=0; i--,r++)
{
buffer[i] = iEma(iEma(iMA(NULL,0,1,0,MODE_SMA,Price,i),period/Divisor,Bars,i,0),period/Divisor,Bars,i,1);
if (Filter>0)
{
work[r][_change] = MathAbs(buffer[i]-buffer[i+1]);
work[r][_achang] = work[r][_change];
for (int k=1; k<period && (r-k)>=0; k++) work[r][_achang] += work[r-k][_change];
work[r][_achang] /= 1.0*period;
double stddev = 0; foПоказано первые 50% кода (символов: 2599)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.