Zero Lag RSI
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «zero_lag_rsi_2.01_mtf_amp_alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает несколько RSI-осцилляторов с различными периодами и объединяет их для формирования трендового сигнала. Применяются два уровня сглаживания для разделения на быстрые и медленные тренды, результат отображается в виде гистограмм в отдельном окне. Индикатор отслеживает пересечения нулевой линии и инициирует соответствующие уведомления.
Поддерживается многотаймфреймовый анализ — расчёт может выполняться на таймфрейме, отличном от графика. Уведомления включают всплывающие сообщения, звуковые сигналы, push-уведомления и email, каждый тип можно включить или отключить независимо.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм для расчёта индикатора |
| Smoothing1 | Сглаживание 1 — Первый коэффициент сглаживания для медленного тренда |
| Smoothing2 | Сглаживание 2 — Второй коэффициент сглаживания для сигнальной линии |
| Factor1 | Множитель 1 — Множитель для первого RSI-компонента |
| RSI_Length1 | Длина RSI 1 — Период первого RSI |
| Factor2 | Множитель 2 — Множитель для второго RSI-компонента |
| RSI_Length2 | Длина RSI 2 — Период второго RSI |
| Factor3 | Множитель 3 — Множитель для третьего RSI-компонента |
| RSI_Length3 | Длина RSI 3 — Период третьего RSI |
| Factor4 | Множитель 4 — Множитель для четвёртого RSI-компонента |
| RSI_Length4 | Длина RSI 4 — Период четвёртого RSI |
| Factor5 | Множитель 5 — Множитель для пятого RSI-компонента |
| RSI_Length5 | Длина RSI 5 — Период пятого RSI |
| Applied price (Price) | Применяемая цена — Применяемая цена для расчёта RSI |
| alertsOn | Уведомления включены — Включить систему уведомлений |
| alertsOnCurrent | Проверять текущий бар — Проверять пересечение на текущем баре |
| alertsMessage | Всплывающие сообщения — Включить всплывающие сообщения |
| alertsSound | Звуковые уведомления — Включить звуковые уведомления |
| alertsNotify | Push-уведомления — Включить push-уведомления |
| alertsEmail | Email-уведомления — Включить email-уведомления |
| soundFile | Файл звука — Файл звукового уведомления |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Green
#property indicator_color2 DarkGreen
#property indicator_color3 Red
#property indicator_color4 DarkRed
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;
extern int Smoothing1=15;
extern int Smoothing2=7;
extern double Factor1=0.05;
extern int RSI_Length1=8;
extern double Factor2=0.1;
extern int RSI_Length2=21;
extern double Factor3=0.16;
extern int RSI_Length3=34;
extern double Factor4=0.26;
extern int RSI_Length4=55;
extern double Factor5=0.43;
extern int RSI_Length5=89;
extern ENUM_APPLIED_PRICE Price=0; // Applied price
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = true;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern string soundFile = "alert2.wav";
double UU[], UD[], DU[], DD[];
double FastTrend[], SlowTrend[], cross[];
double SmoothConst1, SmoothConst2;
string indicatorFileName;
bool returnBars;
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 (returnBars) { UU[0] = limit+1; return(0); }
if (TimeFrame == Period())
{
for(int pos=limit; pos>=0; pos--)
{
double RSI1 = iRSI(NULL,0,RSI_Length1,Price,pos);
double RSI2 = iRSI(NULL,0,RSI_Length2,Price,pos);
double RSI3 = iRSI(NULL,0,RSI_Length3,Price,pos);
double RSI4 = iRSI(NULL,0,RSI_Length4,Price,pos);
double RSI5 = iRSI(NULL,0,RSI_Length5,Price,pos);
double Osc1=Factor1*RSI1;
double Osc2=Factor1*RSI2;
double Osc3=Factor1*RSI3;
double Osc4=Factor1*RSI4;
double Osc5=Factor1*RSI5;
FastTrend[pos]=Osc1+Osc2+Osc3+Osc4+Osc5;
SlowTrend[pos]=FastTrend[pos]/Smoothing1+SlowTrend[pos+1]*SmoothConst1;
UU[pos]=(FastTrend[pos]-SlowTrend[pos])/(Smoothing2*Point)+UU[pos+1]*SmoothConst2;
UD[pos]=EMPTY_VALUE;
DU[pos]=EMPTY_VALUE;
DD[pos]=EMPTY_VALUE;
cross[pos] = cross[pos+1];
if (UU[pos]>0.)
{
cross[pos]=1;
if (UU[pos]<UU[pos+1])
Показано первые 50% кода (символов: 4834)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.