smlLazyTMA Signals
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «smlazytma signals_v3.1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, реализующий расчёт центрированного скользящего среднего TMA (Triangular Moving Average) с настраиваемым периодом и методом усреднения. Индикатор отображает TMA на графике цены и строит четыре верхних и четыре нижних ценовых полосы, рассчитанные на основе стандартного отклонения и множителей ATR.
Индикатор генерирует сигнальные стрелки входа в позицию LONG и SHORT, которые формируются при совпадении условий по наклону TMA, направлению моментума и соотношению цены с полосами. Также реализованы сигнальные стрелки выхода, срабатывающие при изменении направления наклона. Встроена фильтрация сигналов по среднему наклону за заданное количество баров, предотвращающая повторные сигналы в пределах указанного интервала.
Продукт поддерживает настройку видимости каждой полосы и сигнальных стрелок, а также отображение текстовых комментариев на графике. Все расчёты выполняются на каждом новом баре с использованием встроенных функций iMA для получения значений скользящих средних.
Настройки программы
| Настройка | Описание |
|---|---|
| Half Length (HalfLength) | Половина длины TMA — Половина длины окна для расчёта TMA, полная длина равна 2*HalfLength+1 |
| MA averaging period (ma_period) | Период усреднения МА — Период усреднения скользящей средней |
| MA averaging method (ma_method) | Метод усреднения МА — Метод усреднения для расчёта скользящей средней |
| Applied Price (applied_price) | Применяемая цена — Тип цены, используемый для расчёта скользящих средних |
| ATR Period (ATR_Period) | Период ATR — Период ATR, используемый для расчёта отклонения полос |
| Show_Comments | Показать комментарии — Включает отображение текстовых комментариев на графике |
| Total_Bars | Общее количество баров — Количество баров, используемых для расчёта индикатора |
| ___Bands_Deviation_Multiplier | Множители отклонения полос — Разделитель группы настроек множителей отклонения полос |
| ATR_Multiplier_Band1 | Множитель ATR для полосы 1 — Множитель стандартного отклонения для первой верхней и нижней полосы |
| ATR_Multiplier_Band2 | Множитель ATR для полосы 2 — Множитель стандартного отклонения для второй верхней и нижней полосы |
| ATR_Multiplier_Band3 | Множитель ATR для полосы 3 — Множитель стандартного отклонения для третьей верхней и нижней полосы |
| ATR_Multiplier_Band4 | Множитель ATR для полосы 4 — Множитель стандартного отклонения для четвёртой верхней и нижней полосы |
| ___Bands_To_Draw | Полосы для отрисовки — Разделитель группы настроек отображения полос |
| Draw_Band1 | Рисовать полосу 1 — Включает отображение первой верхней и нижней полосы |
| Draw_Band2 | Рисовать полосу 2 — Включает отображение второй верхней и нижней полосы |
| Draw_Band3 | Рисовать полосу 3 — Включает отображение третьей верхней и нижней полосы |
| Draw_Band4 | Рисовать полосу 4 — Включает отображение четвёртой верхней и нижней полосы |
| Draw_SignalArrows | Рисовать сигнальные стрелки — Включает отображение сигнальных стрелок входа и выхода |
Поиск по коду файла
#property strict
#property indicator_chart_window
/*-------------------------------------------------------------------
10.06.2019 v1 - Bands calculation with StdDev
12.06.2019 v2.1 - TMA calculate like TMAcentered (@mladen); Entry/Exit on Open
13.06.2019 v2.2 - Signal offset = 25% from ATR for Close1/Close0
14.06.2019 v3.1 - Signal filter with AvgSlope on last 5 bars; one signal for last 10 bars; available signals remains
--------------------------------------------------------------------*/
#property indicator_buffers 14
#property indicator_color1 clrDodgerBlue //TMA
#property indicator_color2 clrTomato
#property indicator_color3 clrChocolate //upper bands
#property indicator_color4 clrHotPink
#property indicator_color5 clrMagenta
#property indicator_color6 clrMagenta
#property indicator_color7 clrChocolate //lower bands
#property indicator_color8 clrSpringGreen
#property indicator_color9 clrMediumSeaGreen
#property indicator_color10 clrMediumSeaGreen
#property indicator_color11 clrAqua //Entry signal arrows
#property indicator_color12 clrTomato
#property indicator_color13 clrAqua //Exit arrows
#property indicator_color14 clrTomato
#property indicator_width1 4
#property indicator_width2 4
#property indicator_width3 1
#property indicator_width4 2
#property indicator_width5 1
#property indicator_width6 1
#property indicator_width7 1
#property indicator_width8 2
#property indicator_width9 1
#property indicator_width10 1
#property indicator_width11 2
#property indicator_width12 2
#property indicator_width13 1
#property indicator_width14 1
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
#property indicator_style3 STYLE_DASH
#property indicator_style4 STYLE_SOLID
#property indicator_style5 STYLE_SOLID
#property indicator_style6 STYLE_DOT
#property indicator_style7 STYLE_DASH
#property indicator_style8 STYLE_SOLID
#property indicator_style9 STYLE_SOLID
#property indicator_style10 STYLE_DOT
extern int HalfLength = 89; // Half Length
input int ma_period = 6; // MA averaging period
input ENUM_MA_METHOD ma_method = MODE_LWMA; // MA averaging method
input ENUM_APPLIED_PRICE applied_price =PRICE_MEDIAN; // Applied Price
input int ATR_Period = 144; // ATR Period
input bool Show_Comments = true;
input int Total_Bars = 2000;
input string ___Bands_Deviation_Multiplier="----------------------------------------------";
input double ATR_Multiplier_Band1 =1.0;
input double ATR_Multiplier_Band2 =2.0;
input double ATR_Multiplier_Band3 =3.0;
input double ATR_Multiplier_Band4 =4.0;
input string ___Bands_To_Draw="----------------------------------------------";
input bool Draw_Band1 =true;
input bool Draw_Band2 =true;
input bool Draw_Band3 =true;
input bool Draw_Band4 =true;
input bool Draw_SignalArrows=true;
string CR="\n";
#define OP_NONE -1
double tmaUP[],tmaDN[],tmaCentered[];
double bandUP1[],bandUP2[],bandUP3[],bandUP4[];
double bandDN1[],bandDN2[],bandDN3[],bandDN4[];
double slope[];
double arrowUP[],arrowDN[],exitUP[],exitDN[];
double weights[];
#define nSlopes 200
double buffMomentum[nSlopes],slopeLine[nSlopes],arrSlopeSorted[nSlopes];
double sumWeights=0;
int fullLength;
int MAvg3_Period=3;
int MAvg_Shift=1;
int MAvg_Mode=MODE_SMA;
int MAvg1_Period=1;
ENUM_APPLIED_PRICE MAvg_Price=PRICE_TYPICAL;
double slopeLimitValue;
int iMomentum_Direction;
string sMomentum_Direction;
datetime thisTime,oldTime;
bool newBar;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
if(Show_Comments==true)
Comment("");
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
int i;
static int limit;
thisTime=iTime(Symbol(),Period(),0);
if(thisTime!=oldTime)
{newBar=true; oldTime=thisTime;}
else
newBar=false;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit<fullLength)
limit=MathMax(limit,limit+fullLength);
newBar=true;
if(newBar==true)
{
Calculate_TMA_centered(limit,tmaCentered);
for(i=limit-2; i>=0 && !IsStopped(); i--)
{
if(tmaCentered[i+1]!=0)
slopeПоказано первые 50% кода (символов: 10042)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.