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

multi_pair_laguerre_rsi_mtf_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 на основе ценовых данных нескольких валютных пар и отображает результаты в отдельном окне. Используются два коэффициента сглаживания (Gama1 и Gama2), формирующие два буфера для сравнения и определения пересечений сигналов. Поддерживается работа на различных таймфреймах с возможностью задания количества баров на пару.

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

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

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

НастройкаОписание
_ Параметр-ключ для переключения режима расчёта Лагерр
AppliedPrice Применяемая цена для расчёта индикатора (например, PRICE_CLOSE)
Gama1 Первый коэффициент сглаживания Лагерра, используемый для расчёта основного буфера
Gama2 Второй коэффициент сглаживания Лагерра, используемый для расчёта сравнительного буфера
barsPerPair Количество баров, используемых для расчёта по каждой паре
TimeFrame Таймфрейм для расчёта индикатора (например, Current time frame)
levelUp Значение верхнего уровня для отображения на графике
levelDown Значение нижнего уровня для отображения на графике
text Параметр текстового отображения
textColor Цвет текста подписей на графике
backColor Цвет фона разделителей между парами
separatorWidth Ширина разделителя между парами на графике (минимум 4)
UniqueID Уникальный идентификатор индикатора, используемый для именования графических объектов и буферов
Получить полный код

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

#property indicator_separate_window
#property  indicator_buffers 4
#property  indicator_color1  DarkOrange
#property  indicator_color2  Lime
#property  indicator_color3  DimGray
#property  indicator_color4  DimGray
#property indicator_minimum  -0.1
#property indicator_maximum   1.1
#property  indicator_style3  STYLE_DOT
#property  indicator_style4  STYLE_DOT

extern string    _              = "parameters";
extern int       AppliedPrice   = PRICE_CLOSE;
extern double    Gama1          = 0.6;
extern double    Gama2          = 0.8;
extern int       barsPerPair    = 100;
extern string    TimeFrame      = "Current time frame";
extern string    pairs          = "EURUSD;GBPUSD;USDCHF";
extern double    levelUp        = 0.85;
extern double    levelDown      = 0.15;
extern string    text           = "color";
extern color     textColor      = Silver;
extern color     backColor      = C'48,48,48';
extern int       separatorWidth = 6;
extern string    UniqueID       = "Multi Laguerre RSI ";

double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];
double L0[];
double L1[];
double L2[];
double L3[];

string   aPairs[];
string   shortName;
int      window;  
bool     calculating=false;
string   IndicatorFileName;
int      timeFrame;

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

int deinit()
{
   for (int i = 0; i < ArraySize(aPairs); i++) { 
         ObjectDelete(shortName+i);
         ObjectDelete(shortName+i+i);
         ObjectDelete(shortName+i+i+i);
      }         
   return(0);
}

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

void calculateLaguerreRSI(string symbol,int limit,int& shift,int element)
{
   int i;

   for(i=0; i<limit; i++) {
      int y=iBarShift(NULL,timeFrame,Time[i]);
      if (Gama1!=0)  ind_buffer1[shift+i]=iCustom(symbol,timeFrame,IndicatorFileName,"calculateLaguerre",AppliedPrice,Gama1,0,y);
      if (Gama2!=0)  ind_buffer2[shift+i]=iCustom(symbol,timeFrame,IndicatorFileName,"calculateLaguerre",AppliedPrice,Gama2,0,y);
                     ind_buffer3[shift+i]=levelUp;
                     ind_buffer4[shift+i]=levelDown;
   }            

   for (i=0;i<separatorWidth;i++) {
         ind_buffer1[shift+li

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

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

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

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

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

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

Стоимость полного кода
646,50₽ ≈ $7.90