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

ptl 2.06 alerts @fxsignalspot.com.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор ptl для MetaTrader 4 отображает на графике два аналитических уровня, рассчитываемых по экстремумам High и Low за настраиваемые периоды (медленный и быстрый). В зависимости от соотношения цены закрытия с этими уровнями определяется направление тренда, которое визуализируется гистограммами, стрелками и при необходимости — свечами.

Поддерживается работа на различных таймфреймах, в том числе через вызов iCustom для получения данных старших периодов. Доступна интерполяция значений между барами для более плавного отображения линий на младших таймфреймах.

Индикатор предоставляет гибкую систему уведомлений: всплывающие сообщения, звуковые сигналы, email-рассылку и push-уведомления, которые срабатывают при смене направления тренда. Визуальные параметры линий, стрелок, свечей и цветов полностью настраиваются пользователем.

Настройки программы

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм, на котором работает индикатор
SlowLength Длина медленного периода — Период расчёта медленного уровня по экстремумам цен
SlowPipDisplace Смещение медленного уровня — Смещение медленного уровня в пунктах
FastLength Длина быстрого периода — Период расчёта быстрого уровня по экстремумам цен
FastPipDisplace Смещение быстрого уровня — Смещение быстрого уровня в пунктах
AlertsOn Уведомления включены — Включает или отключает систему уведомлений индикатора
AlertsOnCurrent Уведомления на текущем баре — Определяет, на каком баре отслеживать смену тренда: на текущем или на предыдущем
AlertsMessage Всплывающие сообщения — Включает всплывающие сообщения на графике при смене тренда
AlertsSound Звуковой сигнал — Включает звуковой сигнал при смене тренда
AlertsEmail Email-уведомления — Включает отправку email-уведомлений при смене тренда
AlertsNotification Push-уведомления — Включает push-уведомления на мобильное устройство при смене тренда
ShowColoredBars Показать цветные столбцы — Отображение гистограмм для визуализации направления тренда
ShowLines Показать линии — Отображение аналитических линий тренда на графике
ShowArrows Показать стрелки — Отображение стрелок смены тренда на графике
Arrow code down (ArrowCodeDn) Код стрелки вниз — Код стрелки для индикации нисходящего тренда
Arrow code up (ArrowCodeUp) Код стрелки вверх — Код стрелки для индикации восходящего тренда
Arrow on first bars (ArrowOnFirst) Стрелки на первых барах — Отображение стрелок на первых барах графика
ShowCandles Показать свечи — Отображение свечей с цветовой индикацией тренда на графике
CandleCount Количество свечей — Количество свечей, отображаемых на графике
WickColor Цвет теней свечей — Цвет теней свечей при отрисовке
BodyUpColor Цвет тела (восходящий) — Цвет тела свечи при восходящем тренде
BodyDownColor Цвет тела (нисходящий) — Цвет тела свечи при нисходящем тренде
BodyNeutralColor Цвет тела (нейтральный) — Цвет тела свечи при нейтральном направлении
BodyWidth Ширина тела свечи — Толщина тела свечи при отрисовке
DrawAsBack Рисовать на заднем плане — Отрисовка объектов свечей на заднем плане графика
UniqueID Уникальный идентификатор — Уникальный идентификатор объектов индикатора на графике
Interpolate Интерполяция — Включает интерполяцию значений линий между барами для более плавного отображения
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1  PaleVioletRed
#property indicator_color2  LimeGreen
#property indicator_color3  PaleVioletRed
#property indicator_color4  LimeGreen
#property indicator_color5  PaleVioletRed
#property indicator_color6  LimeGreen
#property indicator_style1  STYLE_DOT
#property indicator_style2  STYLE_DOT
#property indicator_width3  2
#property indicator_width4  2
#property indicator_width5  3
#property indicator_width6  3

extern ENUM_TIMEFRAMES TimeFrame          = PERIOD_CURRENT;
extern int             SlowLength         = 7;
extern double          SlowPipDisplace    = 0;
extern int             FastLength         = 3;
extern double          FastPipDisplace    = 0;
extern bool            AlertsOn           = false;
extern bool            AlertsOnCurrent    = true;
extern bool            AlertsMessage      = true;
extern bool            AlertsSound        = false;
extern bool            AlertsEmail        = false;
extern bool            AlertsNotification = false;
extern bool            ShowColoredBars    = true;
extern bool            ShowLines          = true;
extern bool            ShowArrows         = true;
extern int             ArrowCodeDn        = 159;      // Arrow code down
extern int             ArrowCodeUp        = 159;      // Arrow code up
extern bool            ArrowOnFirst       = true;     // Arrow on first bars
extern bool            ShowCandles        = false;
extern int             CandleCount        = 500;
extern color           WickColor          = clrGray;
extern color           BodyUpColor        = clrLimeGreen;
extern color           BodyDownColor      = clrPaleVioletRed;
extern color           BodyNeutralColor   = clrSilver;
extern int             BodyWidth          = 4;
extern bool            DrawAsBack         = false;
extern string          UniqueID           = "ptlCandles1";
extern bool            Interpolate        = true;

double line1[];
double line2[];
double hist1[];
double hist2[];
double arrou[];
double arrod[];
double trend[];
double trena[];
string indicatorFileName;
bool   returnBars;

int init()
{
      // код доступен только после оплаты
   }

int deinit()
{
   string lookFor       = UniqueID+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i); if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   return(0);
}

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
      if(counted_bars < 0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { line1[0] = MathMin(limit+1,Bars-1); return(0); }
         double pipMultiplier = 1; if (Digits==3 || Digits==5) pipMultiplier =10;
         int numOfCandles = MathMin(Bars,CandleCount); if (numOfCandles==0) numOfCandles=Bars-1;

   if (TimeFrame == _Period)
   {
      for (int i = limit; i >= 0; i--)
      {   
         double thigh1 = High[iHighest(NULL, 0, MODE_HIGH,SlowLength,i)] + SlowPipDisplace*Point*pipMultiplier;
         double tlow1  = Low[iLowest(NULL, 0, MODE_LOW,   SlowLength,i)] - SlowPipDisplace*Point*pipMultiplier;
         double thigh2 = High[iHighest(NULL, 0, MODE_HIGH,FastLength,i)] + FastPipDisplace*Point*pipMultiplier;
         double tlow2  = Low[iLowest(NULL, 0, MODE_LOW,   FastLength,i)] - FastPipDisplace*Point*pipMultiplier;
            if (Close[i]>line1[i+1])
                  line1[i] = tlow1;
            else  line1[i] = thigh1;             
            if (Close[i]>line2[i+1])
                  line2[i] = tlow2;
            else  line2[i] = thigh2;             

            hist1[i] = EMPTY_VALUE;
            hist2[i] = EMPTY_VALUE;
            arrou[i] = EMPTY_VALUE;
            arrod[i] = EMPTY_VALUE;
            trena[i] = trena[i+1];
            trend[i] = 0;
               if (Close[i]<line1[i] && Close[i]<line2[i]) trend[i] =  1;
               if (Close[i]>line1[i] && Close[i]>line2[i]) trend[i] = -1;
               if (line1[i]>line2[i] || trend[i] ==  1)    trena[i] =  1;
               if (line1[i]<line2[i] || trend[i] == -1)    trena[i] = -1;
               if (trend[i]== 1) { hist1[i] = High[i]; hist2[i] = Low[i]; }
               if (trend[i]==-1) { hist2[i] = High[i]; hist1[i] = Low[i]; }
               if (trena[i]!=trena[i+1])

Показано первые 50% кода (символов: 7852)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
785,20₽ ≈ $9.60