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

Laguerre RSI

laguerre rsi zero line nmc.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный индикатор рассчитывает лагерре-RSI — вариацию индекса относительной силы, построенную на полиномах Лагерра применительно к ценовым данным. Основной расчёт выполняется через пользовательскую функцию, использующую коэффициент гамма и выбранный тип цены, с возможностью дополнительного сглаживания. Индикатор поддерживает работу на различных временных интервалах (мультитаймфрейм) и отображает три настраиваемых уровня с визуальными сигналами пересечений. Система уведомлений позволяет получать алерты в виде сообщений, звуковых сигналов или email-рассылок при достижении определённых условий.

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

НастройкаОписание
Gama Коэффициент гамма, определяющий скорость затухания полинома Лагерра в расчёте индикатора
PriceType Тип цены, используемый в качестве исходных данных для расчёта (целочисленный код)
Smooth Режим сглаживания расчёта: значения от 1 до 3, при значении больше 3 применяется режим 3
SmoothPrice Применять ли сглаживание к цене перед расчётом индикатора
ShowAsZeroLevel Отображать ли значение индикатора относительно нулевого уровня
Level1 Первый уровень для отображения и генерации сигналов пересечения
Level2 Второй уровень для отображения на графике
Level3 Третий уровень для отображения и генерации сигналов пересечения
timeFrame Временной интервал для мультитаймфрейм-расчёта (например, M1, H1, D1 или Current time frame)
ShowLevels Отображать ли горизонтальные уровни на графике
ShowLevelSig Отображать ли сигналы при нахождении индикатора выше или ниже заданных уровней
ShowCrossings Отображать ли стрелки пересечений уровней на графике
alertsOn Включить или выключить систему уведомлений о пересечениях уровней
alertsMessage Отображать ли всплывающие сообщения при срабатывании алертов
alertsSound Воспроизводить ли звуковой сигнал при срабатывании алертов
alertsEmail Отправлять ли уведомления по электронной почте при срабатывании алертов
LevelsColor Цвет линий уровней и границ на графике
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Lime
#property indicator_color3 OrangeRed
#property indicator_width1 2

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 bool   ShowAsZeroLevel = true;
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;
double modifier=0;

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])

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

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

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

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

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

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

Стоимость полного кода
671,30₽ ≈ $8.20