laguerre rsi with laguerre filter.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.