← К каталогу
Исходный код · ID 1027

forex distance.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Это пользовательский индикатор для 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 и перейдите к оплате.

Стоимость полного кода
401,90₽ ≈ $4.91