!!! laguerre + arrows 2 (mtf).mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!!! laguerre + arrows 2 (mtf).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает значения индикатора Лагерра на выбранном таймфрейме, включая поддержку мультитаймфреймного (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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.