XO
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «xo - mtf & alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор XO отображает аналитические данные в отдельном окне в виде двух гистограмм и рисует стрелки при смене направления тренда. Поддерживает работу на различных таймфреймах, включая мультитаймфреймный режим, когда данные берутся с более высокого таймфрейма.
Индикатор позволяет настраивать отображение стрелок, их цвет и идентификатор объектов на графике. Стрелки автоматически удаляются и перерисовываются при необходимости.
Встроенная система уведомлений поддерживает отправку сообщений, звуковых сигналов и электронных писем при смене направления тренда. Уведомления можно включать или отключать, а также задавать работу на текущем или предыдущем баре.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Выбранный таймфрейм для расчёта индикатора. Поддерживается мультитаймфреймовый режим. |
| BoxSize | Размер коробки — Размер коробки, используемый для определения изменения тренда цены. |
| ShowArrows | Показывать стрелки — Включает или отключает отображение стрелок на графике при смене направления тренда. |
| arrowsIdentifier | Идентификатор стрелок — Идентификатор объектов-стрелок на графике, используемый для их создания и удаления. |
| arrowsUpColor | Цвет стрелки вверх — Цвет стрелок, указывающих на восходящий тренд. |
| arrowsDnColor | Цвет стрелки вниз — Цвет стрелок, указывающих на нисходящий тренд. |
| alertsOn | Уведомления включены — Общий переключатель для включения или отключения всех уведомлений индикатора. |
| alertsOnCurrent | Отслеживать текущий бар — Определяет, на каком баре отслеживать смену тренда: на текущем или на предыдущем. |
| alertsMessage | Сообщения-оповещения — Включает или отключает вывод текстовых сообщений-оповещений при смене тренда. |
| alertsSound | Звуковые уведомления — Включает или отключает звуковой сигнал при смене тренда. |
| alertsEmail | Email-уведомления — Включает или отключает отправку уведомлений по электронной почте при смене тренда. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_level1 0
extern string TimeFrame = "Current time frame";
extern double BoxSize = 6.5;
extern bool ShowArrows = true;
extern string arrowsIdentifier = "XOarrows";
extern color arrowsUpColor = White;
extern color arrowsDnColor = Red;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = false;
extern bool alertsSound = false;
extern bool alertsEmail = false;
double Hi[];
double Lo[];
double no[];
double kr[];
double trend[];
string indicatorFileName;
bool calculateValue;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
if (!calculateValue && ShowArrows) deleteArrows();
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { kr[0] = limit+1; return(0); }
if (calculateValue || timeFrame == Period())
{
double pipModifier = 1; if (Digits==3 || Digits==5) pipModifier=10;
for(i=limit; i>=0; i--)
{
if (i>=(Bars-2)) { Hi[i+1]=Close[i]; Lo[i+1]=Close[i]; continue; }
double cur = Close[i];
Hi[i] = Hi[i+1];
Lo[i] = Lo[i+1];
no[i] = no[i+1];
kr[i] = kr[i+1];
trend[i] = trend[i+1];
if (cur > (Hi[i]+BoxSize*pipModifier*Point)) { Hi[i] = cur; Lo[i] = cur-BoxSize*pipModifier*Point; kr[i] += 1; no[i] = 0; }
if (cur < (Lo[i]-BoxSize*pipModifier*Point)) { Lo[i] = cur; Hi[i] = cur+BoxSize*pipModifier*Point; no[i] -= 1; kr[i] = 0; }
if (kr[i] > 0) trend[i]= 1;
if (no[i] < 0) trend[i]=-1;
manageArrow(i);
}
manageAlerts();
return(0);
}
limit = MathMax(limit,MathMin(Bars,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for (i=limit;i>=0;i--)
{
int y = iBarShift(NULL,timeFrame,Time[i]);
kr[i] = iCustom(NULL,timeFrame,indicatorFileName,"CalculateValue",BoxSize,0,y);
no[i] = iCustom(NULL,timeFrame,indicatorFileName,"CalculateValue",BoxSize,1,y);
trend[i] = iCustom(NULL,timeFrame,indicatorFileName,"CalculateValue",BoxSize,4,y);
manageArrow(i);
}
manageAlerts();
retПоказано первые 50% кода (символов: 4828)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.