ptl 2.06 alerts @fxsignalspot.com.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ptl 2.06 alerts @fxsignalspot.com.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.