RSI_DPO_v1
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_dpo_v1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор RSI_DPO_v1 рассчитывает модифицированный индикатор RSI, в котором для устранения тренда применяется сглаживание скользящими средними. Результат отображается в отдельном подокне с уровнями 30, 50 и 70. Индикатор использует пять буферов: основной линии RSI_DPO, а также вспомогательных буферов быков и медведей и двух буферов для промежуточных расчётов скользящих средних. Поддерживаются четыре метода скользящей средней: SMA, EMA, Wilder и LWMA.
В основе расчёта лежит сравнение текущего и предыдущего ценовых значений (при выключенном детрендинге) или разности двух скользящих средних с разными периодами (при включённом детрендинге). На основе этих разностей формируются буферы быков и медведей, которые затем сглаживаются выбранным методом скользящей средней. Итоговое значение RSI вычисляется как отношение сглаженных быков и медведей.
Индикатор подходит для анализа ценовых данных и технических показателей на платформе MetaTrader 5. Пользователь может настраивать тип цены, период оценки, метод сглаживания и режим детрендинга. Автор — TrendLaboratory, 2008 год.
Настройки программы
| Настройка | Описание |
|---|---|
| Price | Применяемая цена: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. |
| Length | Период оценки — количество баров, используемых для расчёта скользящей средней и детрендинга. |
| MA_Mode | Метод скользящей средней: 0 — SMA (простая), 1 — EMA (экспоненциальная), 2 — Wilder (вильдера), 3 — LWMA (линейно-взвешенная). |
| Detrend_Mode | Режим детрендинга: 0 — выключен, 1 — включен. При включении для расчёта используется разность двух скользящих средних с разными периодами вместо прямых ценовых значений. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 LightBlue
#property indicator_width1 2
#property indicator_level1 50
#property indicator_level2 30
#property indicator_level3 70
#property indicator_minimum 0
#property indicator_maximum 100
extern int Price = 0; //Applied Price(0-Close;1-Open;2-High;3-Low;4-Median;5-Typical;6-Weighted)
extern int Length = 14; // Period of evaluation
extern int MA_Mode = 2; // Mode of MA
extern int Detrend_Mode = 0; // Detrender mode: 0-off,1-on
double RSI[];
double Bulls[];
double Bears[];
double MA1[];
double MA2[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int shift, limit, counted_bars=IndicatorCounted();
double Price1, Price2;
if ( counted_bars < 0 ) return(-1);
if ( counted_bars ==0 ) limit=Bars-1;
if ( counted_bars < 1 )
for(int i=1;i<Length-1;i++)
RSI[Bars-i]=0;
if(counted_bars>0) limit=Bars-counted_bars;
limit--;
for( shift=limit; shift>=0; shift--)
{
if(Detrend_Mode==0)
{
Price1 = iMA(NULL,0,1,0,0,Price,shift);
Price2 = iMA(NULL,0,1,0,0,Price,shift+1);
}
else
{
Price1 = iMA(NULL,0,1,0,0,Price,shift) - iMA(NULL,0,Length,Length*0.5+1,0,Price,shift);
Price2 = iMA(NULL,0,1,0,0,Price,shift+1) - iMA(NULL,0,Length,Length*0.5+1,0,Price,shift+1);
}
if(shift <= Bars-2)
{
Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));
Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));
}
else
{
Показано первые 50% кода (символов: 3094)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.