Bollinger Bands Alerts Arrows
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «bollinger backs 2.0.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает и отображает полосы Боллинджера на графике цены: среднюю линию (скользящая средняя), верхнюю и нижнюю границы (среднее ± стандартное отклонение × коэффициент). Определяет направление тренда по соотношению цены закрытия с верхней и нижней полосами и отмечает стрелками точки смены тренда.
Поддерживает работу на различных таймфреймах, включая режимы отображения баров и расчёта значений. Встроенная система уведомлений позволяет отправлять сообщения, звуковые сигналы, push-уведомления и email при смене тренда.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | TimeFrame — Таймфрейм для расчёта индикатора (текстовый параметр, например M1, H1, D1 или "current time frame"). |
| BandsLength | BandsLength — Период (количество баров) для расчёта скользящей средней и стандартного отклонения. |
| BandsDeviation | BandsDeviation — Коэффициент отклонения полос от средней линии (число). |
| AppliedPrice | AppliedPrice — Тип применяемой цены для расчёта индикатора (код типа цены). |
| BandsMaMode | BandsMaMode — Режим скользящей средней (тип MA). |
| colorUpper | colorUpper — Цвет верхней полосы Боллинджера. |
| colorMiddle | colorMiddle — Цвет средней линии (скользящей средней). |
| colorLower | colorLower — Цвет нижней полосы Боллинджера. |
| alertsOn | alertsOn — Включает/выключает систему уведомлений. |
| alertsOnCurrent | alertsOnCurrent — Определяет, на каком баре срабатывают уведомления: текущий бар (true) или предыдущий (false). |
| alertsMessage | alertsMessage — Включает/выключает вывод текстовых сообщений-оповещений. |
| alertsSound | alertsSound — Включает/выключает воспроизведение звукового сигнала при смене тренда. |
| alertsNotify | alertsNotify — Включает/выключает отправку push-уведомлений. |
| alertsEmail | alertsEmail — Включает/выключает отправку email-уведомлений при смене тренда. |
| soundFile | soundFile — Имя звукового файла для воспроизведения при уведомлении. |
| arrowthickness | arrowthickness — Толщина стрелок, отображающих точки смены тренда. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 White
#property indicator_color2 Crimson
#property indicator_color3 DodgerBlue
#property indicator_color4 DodgerBlue
#property indicator_color5 Crimson
extern string TimeFrame = "current time frame";
extern int BandsLength = 20;
extern double BandsDeviation = 2.0;
extern int AppliedPrice = 0;
extern int BandsMaMode = 0;
input color colorUpper = DarkOrchid;
input color colorMiddle = Indigo;
input color colorLower = DarkOrchid;
extern string note = "turn on Alert = true; turn off = false";
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = true;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern string soundFile = "alert2.wav";
extern int arrowthickness = 1;
double Ma[];
double UpMa[];
double DnMa[];
double CrossUp[];
double CrossDn[];
double trend[];
string indicatorFileName;
bool calculateValue;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit() { 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-1,Bars-counted_bars-1);
if (returnBars) { Ma[0] = limit+1; return(0); }
if (calculateValue || timeFrame==Period())
{
for (i = limit; i >= 0; i--)
{
double StdDev = iStdDev(NULL,0,BandsLength,0,BandsMaMode,AppliedPrice,i);
Ma[i] = iMA(NULL,0,BandsLength,0,BandsMaMode,AppliedPrice,i);
UpMa[i] = Ma[i] + (StdDev*BandsDeviation);
DnMa[i] = Ma[i] - (StdDev*BandsDeviation);
trend[i] = 0;
if (Close[i]>UpMa[i]) trend[i] = 1;
if (Close[i]<DnMa[i]) trend[i] =-1;
CrossUp[i] = EMPTY_VALUE;
CrossDn[i] = EMPTY_VALUE;
if (trend[i]!= trend[i+1])
if (trend[i+1] == 1 && trend[i] != 1) CrossDn[i] = High[i] + iATR(NULL,0,20,i)/2;
if (trend[i+1] == -1 && trend[i] !=-1) CrossUp[i] = Low[i] - iATR(NULL,0,20,i)/2;
}
manageAlerts();
return(0);
}
Показано первые 50% кода (символов: 4963)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.