← К каталогу
Исходный код · ID 1838

Laguerre RSI

laguerre_rsi_v1.mq5

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Laguerre RSI — это пользовательский индикатор для MetaTrader 4, рассчитывающий значение RSI на основе лагерре-сглаживания с настраиваемым коэффициентом гамма. Индикатор отображает основную линию в отдельном окне и позволяет задавать три уровня для определения зон перекупленности и перепроданности.

Индикатор поддерживает сглаживание как цены, так и самого RSI-значения несколькими режимами, а также работу в многотаймфреймном режиме. Линии уровней и точки пересечения отрисовываются на графике в виде горизонтальных линий и стрелок.

Встроенная система уведомлений позволяет настраивать отправку сообщений, звуковых сигналов и электронных писем при пересечении заданных уровней. Индикатор создаёт графические объекты для визуализации уровней на графике.

Настройки программы

НастройкаОписание
Gama Гамма — Коэффициент гамма для расчёта лагерре-сглаживания, определяет скорость отклика индикатора на изменение цены.
PriceType Тип цены — Тип цены, используемый для расчёта скользящей средней при определении исходной цены.
smz: 1...3; if>3 smz=3 (Smooth) Сглаживание — Режим сглаживания: 1 — простое скользящее среднее, 2 — взвешенное, 3 — расширенное; значения больше 3 приводят к режиму 3.
SmoothPrice Сглаживать цену — Переключатель сглаживания входной цены перед расчётом лагерре-значений.
Level1 Уровень 1 — Верхний уровень для определения пересечений и отрисовки горизонтальной линии на графике.
Level2 Уровень 2 — Средний уровень для отрисовки горизонтальной линии на графике.
Level3 Уровень 3 — Нижний уровень для определения пересечений и отрисовки горизонтальной линии на графике.
timeFrame Таймфрейм — Таймфрейм для многотаймфреймного режима работы индикатора; если не совпадает с текущим, индикатор берёт данные с указанного таймфрейма.
ShowLevels Показывать уровни — Переключатель отображения горизонтальных линий уровней на графике.
ShowLevelSig Показывать сигналы уровней — Переключатель отображения стрелок при нахождении линии индикатора выше уровня 1 или ниже уровня 3.
ShowCrossings Показывать пересечения — Переключатель отображения стрелок на графике при пересечении линией уровня 1 и уровня 3 вверх или вниз.
alertsOn Включить уведомления — Главный переключатель включения системы уведомлений о пересечении уровней.
alertsMessage Сообщения — Переключатель показа всплывающего сообщения на графике при пересечении уровня.
alertsSound Звуковые уведомления — Переключатель воспроизведения звукового сигнала при пересечении уровня.
alertsEmail Email-уведомления — Переключатель отправки электронного письма при пересечении уровня.
LevelsColor Цвет уровней — Цвет линий уровней, отображаемых на графике индикатора.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_minimum 0
#property indicator_maximum 1
#property indicator_color1 Green
#property indicator_color2 Lime
#property indicator_color3 OrangeRed

extern double Gama          = 0.70;
extern int    PriceType     = 0;
extern int    Smooth        = 0;           // smz: 1...3; if>3 smz=3
extern bool   SmoothPrice   = false;
extern double Level1        = 0.85;
extern double Level2        = 0.50;
extern double Level3        = 0.15;
extern string timeFrame     = "Current time frame";
extern bool   ShowLevels    = true; 
extern bool   ShowLevelSig  = true; 
extern bool   ShowCrossings = true; 
extern bool   alertsOn      = false;
extern bool   alertsMessage = true;
extern bool   alertsSound   = false;
extern bool   alertsEmail   = false;
extern color  LevelsColor   = C'30,33,36';

double MainBuffer[];
double CUpBuffer[];
double CDnBuffer[];
double L0[];
double L1[];
double L2[];
double L3[];
double L4[];
string ShortName;
string IndicatorName;
int    TimeFrame;

int init()
{
      // код доступен только после оплаты
   }

int deinit()
{
   DeleteBounds();
   return(0);
}

int start()
{
      // код доступен только после оплаты
   }

double LaGuerre(double gamma, int i, int priceType)
{
	double Price = iMA(NULL,0,1,0,MODE_SMA,priceType,i);
	double RSI   = 0.00;
	double CU    = 0.00;
	double CD    = 0.00;

   if (SmoothPrice)
   {
      	L4[i] = Price;
      	Price = smooth(L4,i);
   }
   L0[i] = (1.0 - gamma)*Price + gamma*L0[i+1];
	L1[i] = -gamma*L0[i] + L0[i+1]     + gamma*L1[i+1];
	L2[i] = -gamma*L1[i] + L1[i+1]     + gamma*L2[i+1];
	L3[i] = -gamma*L2[i] + L2[i+1]     + gamma*L3[i+1];

	if (L0[i] >= L1[i])
   			CU = L0[i] - L1[i];
	else	   CD = L1[i] - L0[i];
	if (L1[i] >= L2[i])
   			CU = CU + L1[i] - L2[i];
	else	   CD = CD + L2[i] - L1[i];
	if (L2[i] >= L3[i])
			   CU = CU + L2[

Показано первые 50% кода (символов: 6369)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
636,90₽ ≈ $7.78