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

!!! laguerre + arrows 2 (mtf).mq5

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

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор рассчитывает значения индикатора Лагерра на выбранном таймфрейме, включая поддержку мультитаймфреймного (MTF) расчёта. Результат отображается в отдельном окне с уровнями перекупленности (0.75) и перепроданности (0.15), а также промежуточным уровнем 0.45. Линия индикатора окрашена в маджента и имеет толщину 3 пикселя.

Индикатор поддерживает отрисовку стрелок на графике при изменении тренда, а также при входе и выходе из зон перекупленности/перепроданности. Для каждого типа событий можно задать отдельные цвет, код и размер стрелки. Параметр интерполяции позволяет сглаживать значения при расчёте на старшем таймфрейме.

Внутренняя структура расчёта основана на четырёх уровнях Лагерра (L0–L3) с параметром гамма, определяющим скорость сглаживания. Тренд классифицируется как бычий (значение выше 0.75), медвежий (ниже 0.15) или нейтральный (между уровнями). Стрелки удаляются при деинициализации индикатора по идентификатору.

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

НастройкаОписание
inpTimeFrame Таймфрейм, на котором выполняется расчёт индикатора. Поддерживается выбор текущего таймфрейма, стандартных таймфреймов и старших таймфреймов.
gamma Параметр сглаживания (период) индикатора Лагерра, влияющий на чувствительность расчёта.
Price Тип цены, используемый для расчёта индикатора Лагерра.
ShowArrows Включает или отключает отображение стрелок на графике цены.
arrowsId Идентификатор объектов-стрелок, используемый для именования и удаления графических объектов на графике.
arrowsOnEveryBreak Определяет, отображать ли стрелки при каждом изменении тренда или только при переходе через границы зон.
arrowsOnNewest При активации стрелки размещаются на новейшей баре старшего таймфрейма.
arrowsDisplaceUp Вертикальное смещение стрелки вверх от цены верха бара.
arrowsDisplaceDn Вертикальное смещение стрелки вниз от цены низа бара.
arrowsOnZoneEnter Включает отображение стрелок при входе цены в зону перекупленности/перепроданности.
arrowsUpZoneEnterColor Цвет стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вверх).
arrowsDnZoneEnterColor Цвет стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вниз).
arrowsUpZoneEnterCode Код стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вверх).
arrowsDnZoneEnterCode Код стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вниз).
arrowsUpZoneEnterSize Размер стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вверх).
arrowsDnZoneEnterSize Размер стрелки, отображаемой при входе в зону перекупленности/перепроданности (направление вниз).
arrowsOnZoneExit Включает отображение стрелок при выходе цены из зоны перекупленности/перепроданности.
arrowsUpZoneExitColor Цвет стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вверх).
arrowsDnZoneExitColor Цвет стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вниз).
arrowsUpZoneExitCode Код стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вверх).
arrowsDnZoneExitCode Код стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вниз).
arrowsUpZoneExitSize Размер стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вверх).
arrowsDnZoneExitSize Размер стрелки, отображаемой при выходе из зоны перекупленности/перепроданности (направление вниз).
Interpolate Включает интерполяцию значений индикатора при расчёте на мультитаймфрейме для более плавного отображения.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    1
#property indicator_color1     clrMagenta
#property indicator_width1     3
#property indicator_level1     0.75
#property indicator_level2     0.45
#property indicator_level3     0.15
#property indicator_levelstyle STYLE_DOT
#property indicator_levelcolor clrDarkGray
#property strict

enum enTimeFrames
{
         tf_cu  = 0,                                           // Current time frame
         tf_m1  = PERIOD_M1,                                   // 1 minute
         tf_m5  = PERIOD_M5,                                   // 5 minutes
         tf_m15 = PERIOD_M15,                                  // 15 minutes
         tf_m30 = PERIOD_M30,                                  // 30 minutes
         tf_h1  = PERIOD_H1,                                   // 1 hour
         tf_h4  = PERIOD_H4,                                   // 4 hours
         tf_d1  = PERIOD_D1,                                   // Daily
         tf_w1  = PERIOD_W1,                                   // Weekly
         tf_mn1 = PERIOD_MN1,                                  // Monthly
         tf_n1  = -1,                                          // First higher time frame
         tf_n2  = -2,                                          // Second higher time frame
         tf_n3  = -3,                                          // Third higher time frame
         tf_cus = 12345678                                     // Custom time frame
      };
input enTimeFrames        inpTimeFrame           = tf_cu; 
input double              gamma                  = 0.66;              // Laguerre period
input ENUM_APPLIED_PRICE  Price                  = PRICE_CLOSE;       // Price to use
input bool                ShowArrows             = true;              // Show arrows
input string              arrowsId               = "lag arrows1";     // Arrows ID
input bool                arrowsOnEveryBreak     = true;              // Arrows on every signal
input bool                arrowsOnNewest         = false;             // Arrows drawn on newest bar of higher time frame bar
input double              arrowsDisplaceUp       = 0.5;               // Arrow gap up
input double              arrowsDisplaceDn       = 0.5;               // Arrow gap down
input bool                arrowsOnZoneEnter      = true;              // Arrows on entering OB/OS zone true/false?
input color               arrowsUpZoneEnterColor = clrBlue;           // Arrows on entering OB/OS zone up color
input color               arrowsDnZoneEnterColor = clrRed;            // Arrows on entering OB/OS zone down
input int                 arrowsUpZoneEnterCode  = 159;
input int                 arrowsDnZoneEnterCode  = 159;
input int                 arrowsUpZoneEnterSize  = 2;                 // Arrows on entering OB/OS zone up size
input int                 arrowsDnZoneEnterSize  = 2;                 // Arrows on entering OB/OS zone down size
input bool                arrowsOnZoneExit       = true;              // Arrows on exiting OB/OS zone true/false?           
input color               arrowsUpZoneExitColor  = clrLimeGreen;      // Arrows on exiting OB/OS zone up color
input color               arrowsDnZoneExitColor  = clrOrange;         // Arrows on exiting OB/OS zone down color 
input int                 arrowsUpZoneExitCode   = 119;               // Arrows on exiting OB/OS zone up code
input int                 arrowsDnZoneExitCode   = 119;               // Arrows on exiting OB/OS zone down code
input int                 arrowsUpZoneExitSize   = 2;                 // Arrows on exiting OB/OS zone up size
input int                 arrowsDnZoneExitSize   = 2;                 // Arrows on exiting OB/OS zone down size
input bool                Interpolate            = true;     

double val[],trend[],cnt[];
struct sGlobalStruct
{
   string indicatorFileName;
   int    indicatorTimeFrame;
};
sGlobalStruct global;
#define _mtfCall(_buff,_ind) iCustom(NULL,global.indicatorTimeFrame,global.indicatorFileName,tf_cu,gamma,Price,ShowArrows,arrowsId,arrowsOnEveryBreak,arrowsOnNewest,arrowsDisplaceUp,arrowsDisplaceDn,arrowsOnZoneEnter,arrowsUpZoneEnterColor,arrowsDnZoneEnterColor,arrowsUpZoneEnterCode,arrowsDnZoneEnterCode,arrowsUpZoneEnterSize,arrowsDnZoneEnterSize,arrowsOnZoneExit,arrowsUpZoneExitColor,arrowsDnZoneExitColor,arrowsUpZoneExitCode,arrowsDnZoneExitCode,arrowsUpZoneExitSize,arrowsDnZoneExitSize,_buff,_ind)

int OnInit()
{
      // код доступен только после оплаты
   }
   IndicatorBuffers(3);
   SetIndexBuffer(0,val,INDICATOR_DATA);
   SetIndexBuffer(1,trend,INDICATOR_CALCULATIONS);
   SetIndexBuffer(2,cnt  ,INDICATOR_CALCULATIONS);

   global.indicatorFileName  = WindowExpertName();
   global.indicatorTimeFrame = (enTimeFrames)timeFrameValue(inpTimeFrame);

   IndicatorSetString(INDICATOR_SHORTNAME,timeFrameToString(global.indicatorTimeFrame)+" Laguerre ("+(string)gamma+")");
return(INIT_SUC

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

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

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

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

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

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

Стоимость полного кода
655,60₽ ≈ $8.01