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

laguerre rsi with laguerre filter.mq5

Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, отображаемый в отдельном окне. Он рассчитывает два аналитических ряда — модифицированный индикатор относительной силы на основе лагерре-сглаживания и его фильтр — и отрисовывает их в виде двух линий с настраиваемыми цветами и стилями.

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

Продукт также поддерживает визуализацию зоны без торговли — настраиваемый ценовой диапазон, отображаемый в виде полупрозрачного прямоугольника с текстовой меткой. Границы зоны, её видимость и цвета настраиваются пользователем.

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

НастройкаОписание
RsiGamma Гамма RSI — Коэффициент сглаживания для расчёта индикатора относительной силы
RsiPrice Цена для RSI — Тип ценового данных, используемого для расчёта индикатора (по умолчанию — цена закрытия)
RsiSmoothGamma Гамма сглаживания RSI — Коэффициент дополнительного сглаживания, применяемый к финальному значению индикатора
FilterGamma Гамма фильтра — Коэффициент сглаживания фильтра, влияющий на степень фильтрации рассчитанного индикаторного значения
LevelUp Верхний уровень — Верхний уровень для отрисовки горизонтов на графике индикатора
LevelDown Нижний уровень — Нижний уровень для отрисовки горизонтов на графике индикатора
NoTradeZoneVisible Отображать зону без торговли — Переключатель видимости отображения зоны без торговли на графике
NoTradeZoneUp Верхняя граница зоны — Верхняя граница ценового диапазона зоны без торговли
NoTradeZoneDown Нижняя граница зоны — Нижняя граница ценового диапазона зоны без торговли
NoTradeZoneColor Цвет зоны без торговли — Цвет прямоугольника зоны без торговли
NoTradeZoneTextColor Цвет текста зоны — Цвет текстовой метки зоны без торговли
UniqueID Уникальный идентификатор — Уникальный идентификатор объекта, используемый для именования графических элементов индикатора на графике
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1  PaleVioletRed
#property indicator_color2  DimGray
#property indicator_width1  2
#property indicator_style2  STYLE_DASHDOTDOT
#property indicator_levelcolor DimGray

extern double RsiGamma             = 0.50;
extern int    RsiPrice             = 0;
extern double RsiSmoothGamma       = 0.001;
extern double FilterGamma          = 0.60;
extern double LevelUp              = 0.85;
extern double LevelDown            = 0.15;
extern bool   NoTradeZoneVisible   = true;
extern double NoTradeZoneUp        = 0.65;
extern double NoTradeZoneDown      = 0.35;
extern color  NoTradeZoneColor     = Gainsboro;
extern color  NoTradeZoneTextColor = PaleVioletRed;
extern string UniqueID             = "Laguerre rsi & filter 1";

double lag[];
double fil[];
string shortName;

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

int deinit()
{
   string lookFor = UniqueID+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i); if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   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);

      for(int i = limit; i >= 0 ; i--)
      {
         lag[i] = LaGuerreRsi(iMA(NULL,0,1,0,MODE_SMA,RsiPrice,i),RsiGamma,RsiSmoothGamma,i);
         fil[i] = LaGuerreFil(lag[i],FilterGamma,i);
      }

      if (NoTradeZoneVisible)
      {
         string name   = UniqueID+":zone";
         int    window = WindowFind(shortName);
            if (ObjectFind(name) == -1)
                ObjectCreate(name,OBJ_RECTANGLE,window,0,0,0,0);
                   ObjectSet(name,OBJPROP_TIME1,Time[Bars-1]);
                   ObjectSet(name,OBJPROP_TIME2,Time[0]);
                   ObjectSet(name,OBJPROP_PRICE1,NoTradeZoneUp);
                   ObjectSet(name,OBJPROP_PRICE2,NoTradeZoneDown);
                   ObjectSet(name,OBJPROP_COLOR,NoTradeZoneColor);
                   ObjectSet(name,OBJPROP_BACK,true);
         name = UniqueID+":text";                   
            if (ObjectFind(name) == -1)
                ObjectCreate(name,OBJ_TEXT,window,0,0);
                   ObjectSet(name,OBJPROP_TIME1,Time[0]+30*Period()*60);
                   ObjectSet(name,OBJPROP_PRICE1,(NoTradeZoneUp+NoTradeZoneDown)/2.0);
                   ObjectSet(name,OBJPROP_COLOR,NoTradeZoneTextCol

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

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

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

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

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

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

Стоимость полного кода
445,40₽ ≈ $5.44