!tma true v2
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!tma true v2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает на графике скользящую среднюю линию с сегментированной цветовой индикацией направления. Линия рассчитывается на основе взвешенной скользящей средней (LWMA) закрытия цен с заданным периодом. При росте линии отрисковывается верхняя цветовая часть, при падении — нижняя.
Верхняя и нижняя границы формируются на основе среднего истинного диапазона (ATR) с собственным периодом, умноженного на заданный коэффициент. Индикатор создаёт графические объекты на графике, отображающие текущий диапазон TMA, направление тренда и расстояние от цены Bid до средней линии, верхней и нижней границ в пунктах.
Настройки включают период скользящей средней и цвет текстовых объектов. Индикатор работает на графике MetaTrader 5 и корректно обрабатывает различное количество знаков после запятой у различных валютных пар.
Настройки программы
| Настройка | Описание |
|---|---|
| xi_Period | Период скользящей средней, используемой для расчёта центральной линии индикатора. |
| xc_Text | Цекстовые объекты, отображаемые на графике (диапазон, тренд, расстояния до линий). |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Yellow
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Lime
#property indicator_color5 Lime
#property indicator_style4 STYLE_DOT
#property indicator_style5 STYLE_DOT
extern int xi_Period = 56;
extern int xi_ATR.Period = 100;
extern double xd_ATR.Mult = 2.0;
extern color xc_Text = LightGray;
double IB_TMA[], IB_TMA.Up[], IB_TMA.Dn[];
double IB_Upper[], IB_Lower[];
int gi_PipsDecimal;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("!TMA True v2 Range");
ObjectDelete("!TMA True v2 Trend");
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars = IndicatorCounted();
if (counted_bars < 0) return (-1);
if (counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
double ld_Range, ld_Pips;
for (int i=limit; i>=0; i--)
{
IB_TMA[i] = EMPTY_VALUE;
IB_TMA.Up[i] = EMPTY_VALUE;
IB_TMA.Dn[i] = EMPTY_VALUE;
IB_TMA[i] = iMA(NULL,0,xi_Period,0,MODE_LWMA,PRICE_CLOSE,i);
if (IB_TMA[i] > IB_TMA[i+1])
IB_TMA.Up[i] = IB_TMA[i];
if (IB_TMA[i] < IB_TMA[i+1])
IB_TMA.Dn[i] = IB_TMA[i];
ld_Range = iATR(NULL,0,xi_ATR.Period,i+10);
IB_Upper[i] = IB_TMA[i] + (ld_Range * xd_ATR.Mult);
IB_Lower[i] = IB_TMA[i] - (ld_Range * xd_ATR.Mult);
}
ld_Range = IB_Upper[1] - IB_Lower[1];
ld_Pips = Convert_2_Pips(ld_Range);
Object_Create("!TMA True v2 Range",5,25,"TMA Range: "+DoubleToStr(ld_Pips,gi_PipsDecimal),10,"Arial",xc_Text);
if (IB_TMA.Up[1] == EMPTY_VALUE && IB_TMA.Dn[1] == EMPTY_VALUE)
Object_Create("!TMA True v2 Trend",5,5,"TMA Trend: n/a",10,"Arial",xc_Text);
else
{
ld_Range = Get_Trend_Range();
ld_Pips = Convert_2_Pips(ld_Range);
Object_Create("!TMA True v2 Trend",5,5,"TMA Trend: "+DoubleToStr(ld_Pips,gi_PipsDecimal),10,"Arial",xc_Text);
}
double ld_Dist.Pts, ld_Dist.Pips;
ld_Dist.Pts = MathAbs(Bid - IB_TMA[0]);
ld_Dist.Pips = Convert_2_Pips(ld_Dist.Pts);
ObjectCreate("!Mid",OBJ_TEXTПоказано первые 50% кода (символов: 4552)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.