TMA+CG
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tma+cg mladen alerts mtf nrp_3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
[Перевод на русском языке]
Индикатор отображает на графике скользящую среднюю с треугольным сглаживанием (TMA) вместе с несколькими линиями полос, рассчитанными на основе стандартного отклонения. Полосы используют различные множители отклонений, что позволяет анализировать волатильность цены относительно центральной линии.
Индикатор поддерживает мультитаймфрейм-режим: можно выбрать старший таймфрейм для расчёта, а данные отображаются на текущем графике с возможностью интерполяции между барами. Также предусмотрены маркеры-стрелки для визуализации потенциальных точек разворота цены.
Встроенная система уведомлений позволяет получать алерты через всплывающие сообщения, звуковые сигналы и электронную почту. Алерты срабатывают при пробое ценой полос, появлении стрелок и других заданных событиях. Доступна настройка ограничения количества обрабатываемых баров и режима однократного расчёта на бар.
Продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, написанный на языке MQL4.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Строковый параметр выбора таймфрейма для расчётов (например, M1, H1, D1 или current time frame). |
| HalfLength | Половина длины — Половина длины расчётного периода скользящей средней TMA. |
| AppliedPrice | Применяемая цена — Тип цены, используемый для расчётов (вспомогательное числовое значение). |
| BandsDeviations1 | Отклонение полос 1 — Множитель стандартного отклонения для первой пары полос. |
| BandsDeviations2 | Отклонение полос 2 — Множитель стандартного отклонения для второй пары полос. |
| BandsDeviations3 | Отклонение полос 3 — Множитель стандартного отклонения для третьей пары полос. |
| BandsDeviations4 | Отклонение полос 4 — Множитель стандартного отклонения для четвёртой пары полос. |
| BandsDeviations5 | Отклонение полос 5 — Множитель стандартного отклонения для пятой пары полос. |
| BandsDeviations6 | Отклонение полос 6 — Множитель стандартного отклонения для шестой пары полос. |
| BandsDeviations7 | Отклонение полос 7 — Множитель стандартного отклонения для седьмой пары полос. |
| once_at_bar | Однократный расчёт на баре — Включает однократный расчёт на баре (без пересчёта при каждом тике). |
| Bars_limit | Лимит баров — Максимальное количество баров для обработки. |
| DrawArrows | Рисовать стрелки — Включает или отключает отображение стрелок-меток на графике. |
| UpArrowSymbolCode | Код стрелки вверх — Код символа для отображения стрелки вверх на графике. |
| DownArrowSymbolCode | Код стрелки вниз — Код символа для отображения стрелки вниз на графике. |
| alertsOn | Алерты включены — Главный переключатель, включающий или отключающий всю систему уведомлений. |
| alertsOnCurrent | Алерты на текущем баре — Задаёт проверку уведомлений на текущем баре. |
| alertsOnHighLow | Алерты по High/Low — Включает уведомления при пробое верхней или нижней полосы ценой High/Low. |
| alertsOnClose | Алерты по закрытию — Включает уведомления при закрытии цены с пробоем полос. |
| alertsOnArrows | Алерты по стрелкам — Включает уведомления при появлении стрелок на графике. |
| Interpolate | Интерполяция — Включает или отключает интерполяцию значений между барами мультитаймфрейм-режима. |
| alertsMessage | Алерты-сообщения — Включает всплывающие текстовые уведомления на графике. |
| alertsSound | Звуковые алерты — Включает звуковые уведомления. |
| alertsEmail | Алерты по email — Включает отправку уведомлений по электронной почте. |
Поиск по коду файла
#property description "edited4 by eevviill"
#property description "no repaint,arr alert,bars lim"
#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;
input bool once_at_bar = false;
input int Bars_limit = 200;
extern bool DrawArrows = true;
extern int UpArrowSymbolCode = 233;
extern int DownArrowSymbolCode = 234;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsOnHighLow = false;
input bool alertsOnClose = false;
input bool alertsOnArrows = true;
extern bool Interpolate = true;
input bool alertsMessage = true;
input bool alertsSound = false;
input 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 prev_bars;
int OnInit()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
if(once_at_bar && Bars==prev_bars) return(0);
prev_bars=Bars;
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;
if(limit>Bars_limit) limit=Bars_limit;
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,BandsDeviations5,1,shift1);
dnBuffer5[i] = iCПоказано первые 50% кода (символов: 14043)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.