forex distance.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex distance.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это пользовательский индикатор для MetaTrader 4 на языке MQL4, предназначенный для расчёта и визуализации полос envelopes, построенных на основе треугольного скользящего среднего (TMA). Индикатор отображает верхнюю и нижнюю границы канала и определяет направление тренда по пересечению ценой этих границ. Поддерживается многопериодный анализ, позволяющий рассчитывать значения на выбранном таймфрейме независимо от текущего графика. Индикатор также предоставляет систему уведомлений через всплывающие сообщения, электронную почту и звуковые сигналы.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Выбор таймфрейма для расчёта индикатора; позволяет работать на другом временном интервале, отличном от текущего графика. |
| HalfLength | Длина половины периода — Задаёт половину периода используемого скользящего среднего, влияя на сглаживание расчётной линии. |
| Price | Тип цены — Определяет тип цены, используемой для расчётов (например, цена закрытия). |
| EnvelopeShift | Сдвиг полос — Задаёт горизонтальный сдвиг отображаемых полос индикатора в барах. |
| Deviation | Отклонение — Процентное отклонение верхней и нижней полос от расчётной центральной линии. |
| alertsOn | Включить уведомления — Главный переключатель системы уведомлений; при выключении все остальные параметры оповещений игнорируются. |
| alertsOnCurrent | Уведомления на текущем баре — Определяет, проверять ли сигнал на текущем или на предыдущем баре при генерации уведомлений. |
| alertsMessage | Всплывающие сообщения — Включает отображение всплывающих уведомлений на графике при изменении тренда. |
| alertsSound | Звуковые уведомления — Включает воспроизведение звукового сигнала при изменении тренда. |
| alertsEmail | Email-уведомления — Включает отправку электронного письма с уведомлением при изменении тренда. |
| soundfile | Звуковой файл — Указывает имя звукового файла для воспроизведения при срабатывании уведомления. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
extern string TimeFrame = "current time frame";
extern int HalfLength = 35;
extern int Price = PRICE_CLOSE;
extern int EnvelopeShift = 0;
extern double Deviation = 0.35;
extern string note = "turn on Alert = true; turn off = false";
extern bool alertsOn = false;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = false;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern string soundfile = "news.wav";
double UpEnv[];
double DnEnv[];
double tmBuffer[];
double trend[];
string indicatorFileName;
bool calculateValue;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,j,k,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=MathMin(Bars-1,Bars-counted_bars+HalfLength);
if (returnBars) { UpEnv[0] = limit+1; return(0); }
if (calculateValue || timeFrame==Period())
{
for (i=limit; i>=0; i--)
{
double sum = (HalfLength+1)*iMA(NULL,0,1,0,MODE_SMA,Price,i);
double sumw = (HalfLength+1);
for (j=1, k=HalfLength; j<=HalfLength; j++, k--)
{
sum += k*iMA(NULL,0,1,0,MODE_SMA,Price,i+j);
sumw += k;
if (j<=i)
{
sum += k*iMA(NULL,0,1,0,MODE_SMA,Price,i-j);
sumw += k;
}
}
tmBuffer[i] = sum/sumw;
UpEnv[i] = (1+Deviation/100)*tmBuffer[i];
DnEnv[i] = (1-Deviation/100)*tmBuffer[i];
trend[i] = trend[i+1];
if (Close[i]>DnEnv[i] && Close[i+1]<=DnEnv[i+1]) trend[i] = 1;
if (Close[i]<UpEnv[i] && Close[i+1]>=UpEnv[i+1]) trend[i] =-1;
}
manageAlerts();
return(0);
}
limit = MathMax(limit,MathMin(BarПоказано первые 50% кода (символов: 4019)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.