tma+cg mladen alerts mtf nrp.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tma+cg mladen alerts mtf nrp.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, реализующий расчёт скользящей средней TMA (Triangular Moving Average) с набором полос на основе различных отклонений. Индикатор отрисовывает на графике среднюю линию, пары верхних и нижних полос (от 1.618 до 3.236 стандартных отклонений), а также стрелки сигналов вверх и вниз при определённых ценовых условиях.
Индикатор поддерживает работу на разных таймфреймах (multitimeframe), включая интерполяцию данных между таймфреймами для сглаживания отображения. Внутренняя логика использует рекурсивный вызов самого себя через режимы calculateTma и returnBars для корректного расчёта значений на старших таймфреймах.
В индикаторе реализована система уведомлений: всплывающие сообщения, звуковые сигналы и отправка email при срабатывании условий пробоя ценой верхней или нижней полосы. Условия срабатывания могут настраиваться для цен High, Low или Close. Автор указывает, что индикатор не перерисовывается (no repaint).
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм для расчёта индикатора (по умолчанию «current time frame»). |
| HalfLength | Половина длины — Половина длины скользящей средней TMA (по умолчанию 56). |
| AppliedPrice | Применяемая цена — Тип цены для расчёта (по умолчанию взвешенная цена — PRICE_WEIGHTED). |
| BandsDeviations1 | Отклонение полосы 1 — Первое отклонение для расчёта верхней и нижней полосы (по умолчанию 1.618). |
| BandsDeviations2 | Отклонение полосы 2 — Второе отклонение для расчёта верхней и нижней полосы (по умолчанию 2.0). |
| BandsDeviations3 | Отклонение полосы 3 — Третье отклонение для расчёта верхней и нижней полосы (по умолчанию 2.236). |
| BandsDeviations4 | Отклонение полосы 4 — Четвёртое отклонение для расчёта верхней и нижней полосы (по умолчанию 2.5). |
| BandsDeviations5 | Отклонение полосы 5 — Пятое отклонение для расчёта верхней и нижней полосы (по умолчанию 2.618). |
| BandsDeviations6 | Отклонение полосы 6 — Шестое отклонение для расчёта верхней и нижней полосы (по умолчанию 3.0). |
| BandsDeviations7 | Отклонение полосы 7 — Седьмое отклонение для расчёта верхней и нижней полосы (по умолчанию 3.236). |
| DrawArrows | Отрисовка стрелок — Переключатель отрисовки стрелок сигналов на графике (по умолчанию true). |
| UpArrowSymbolCode | Код стрелки вверх — Код символа для стрелки вверх (по умолчанию 246). |
| DownArrowSymbolCode | Код стрелки вниз — Код символа для стрелки вниз (по умолчанию 248). |
| alertsOn | Уведомления включены — Включает или отключает все уведомления (по умолчанию false). |
| alertsOnCurrent | Уведомления на текущем баре — При true уведомления срабатывают на текущем баре, при false — на предыдущем (по умолчанию false). |
| alertsOnHighLow | Уведомления по High/Low — При true проверяются условия пробоя по ценам High и Low, при false — по Close (по умолчанию false). |
| Interpolate | Интерполяция — Переключатель интерполяции значений между таймфреймами (по умолчанию true). |
Поиск по коду файла
#property description "edited by eevviill"
#property description "no repaint"
#property indicator_chart_window
#property indicator_buffers 17
#property indicator_color1 clrDimGray
#property indicator_color2 clrHotPink
#property indicator_color3 clrSpringGreen
#property indicator_color4 clrHotPink
#property indicator_color5 clrSpringGreen
#property indicator_color6 clrHotPink
#property indicator_color7 clrSpringGreen
#property indicator_color8 clrHotPink
#property indicator_color9 clrSpringGreen
#property indicator_color10 clrHotPink
#property indicator_color11 clrSpringGreen
#property indicator_color12 clrHotPink
#property indicator_color13 clrSpringGreen
#property indicator_color14 clrHotPink
#property indicator_color15 clrSpringGreen
#property indicator_color16 clrLime
#property indicator_color17 clrRed
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DOT
#property indicator_style3 STYLE_DOT
#property indicator_style4 STYLE_DOT
#property indicator_style5 STYLE_DOT
#property indicator_style6 STYLE_DOT
#property indicator_style7 STYLE_DOT
#property indicator_style8 STYLE_DOT
#property indicator_style9 STYLE_DOT
#property indicator_style10 STYLE_DOT
#property indicator_style11 STYLE_DOT
#property indicator_style12 STYLE_SOLID
#property indicator_style13 STYLE_SOLID
#property indicator_style14 STYLE_SOLID
#property indicator_style15 STYLE_SOLID
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1
#property indicator_width5 1
#property indicator_width6 1
#property indicator_width7 1
#property indicator_width8 1
#property indicator_width9 1
#property indicator_width10 1
#property indicator_width11 1
#property indicator_width12 1
#property indicator_width13 1
#property indicator_width14 2
#property indicator_width15 2
#property indicator_width16 1
#property indicator_width17 1
/*
enum enPrices
{
pr_close, // Close
pr_open, // Open
pr_high, // High
pr_low, // Low
pr_median, // Median
pr_typical, // Typical
pr_weighted, // Weighted
pr_average, // Average (high+low+open+close)/4
pr_medianb, // Average median body (open+close)/2
pr_tbiased, // Trend biased price
pr_tbiased2, // Trend biased (extreme) price
pr_hl, // High/Low
pr_oc, // Open/Close
pr_haclose, // Heiken ashi close
pr_haopen , // Heiken ashi open
pr_hahigh, // Heiken ashi high
pr_halow, // Heiken ashi low
pr_hamedian, // Heiken ashi median
pr_hatypical, // Heiken ashi typical
pr_haweighted, // Heiken ashi weighted
pr_haaverage, // Heiken ashi average
pr_hamedianb, // Heiken ashi median body
pr_hatbiased, // Heiken ashi trend biased price
pr_hatbiased2, // Heiken ashi trend biased (extreme) price
pr_hahl, // Heiken ashi High/Low
pr_haoc // Heiken ashi Open/Close
};
*/
extern string TimeFrame = "current time frame";
extern int HalfLength = 56;
extern int AppliedPrice = PRICE_WEIGHTED;
extern double BandsDeviations1 = 1.618;
extern double BandsDeviations2 = 2.0;
extern double BandsDeviations3 = 2.236;
extern double BandsDeviations4 = 2.5;
extern double BandsDeviations5 = 2.618;
extern double BandsDeviations6 = 3.0;
extern double BandsDeviations7 = 3.236;
extern bool DrawArrows = true;
extern int UpArrowSymbolCode = 246;
extern int DownArrowSymbolCode = 248;
extern bool alertsOn = false;
extern bool alertsOnCurrent = false;
extern bool alertsOnHighLow = false;
extern bool Interpolate = true;
bool alertsMessage = false;
bool alertsSound = false;
bool alertsEmail = false;
double tmBuffer[], upBuffer1[], dnBuffer1[], upBuffer2[], dnBuffer2[], upBuffer3[], dnBuffer3[],
upBuffer4[], dnBuffer4[], upBuffer5[], dnBuffer5[], upBuffer6[], dnBuffer6[], upBuffer7[], dnBuffer7[],
wuBuffer[], wdBuffer[], upArrow[], dnArrow[], prices[];
string IndicatorFileName;
bool calculatingTma = false;
bool returningBars = false;
int timeFrame;
int OnInit()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=MathMin(Bars-1,Bars-counted_bars+HalfLength);
if (returningBars) { tmBuffer[0] = limit; return(0); }
if (calculatingTma) { calculateTma(limit); return(0); }
if (timeFrame > Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,IndicatorFileName,"returnBars",0,0)*timeFrame/Period()));
if(limit<Bars-20) limit=1;
for(i = limit; i >= 0; i--)
{
int shift1 = iBarShift(NULL,timeFrame,Time[i]);
datetime time1 = iTime (NULL,timeFrame,shift1);
tmBuffer[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations1,0,shift1);
upBuffer1[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations1,1,shift1);
dnBuffer1[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations1,2,shift1);
upBuffer2[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations2,1,shift1);
dnBuffer2[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations2,2,shift1);
upBuffer3[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations3,1,shift1);
dnBuffer3[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations3,2,shift1);
upBuffer4[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations4,1,shift1);
dnBuffer4[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsDeviations4,2,shift1);
upBuffer5[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,AppliedPrice,BandsПоказано первые 50% кода (символов: 13557)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.