daily-breakout-indicator.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «daily-breakout-indicator.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает уровни максимума и минимума предыдущего торгового дня на графике в виде горизонтальных линий и текстовых меток. Уровень S1 устанавливается на предыдущем дне низком, а уровень R1 — на предыдущем дне высоком. Линии отрисовываются пунктирным стилем с настраиваемыми цветами и размером шрифта меток.
Индикатор сканирует до 720 баров назад для определения дневных максимумов и минимумов с учётом смещения часового пояса GMT. При достижении цены заданного расстояния в пипах от уровней S1 или R1 можно отправлять уведомления с воспроизведением звуковых сигналов. Работает только на таймфреймах не более 4-часового графика, в противном случае выводится сообщение об ошибке.
В состав входят вспомогательные функции отрисовки объектов графика: горизонтальных линий и текстовых меток. Объекты создаются или обновляются при каждом вызове индикатора, а при деинициализации удаляются с графика.
Настройки программы
| Настройка | Описание |
|---|---|
| Alerts | Включает или отключает отправку уведомлений при приближении цены к уровням S1 и R1. При активации индикатор проверяет расстояние цены до уровней и выводит алерты с воспроизведением звуковых файлов. |
| GMTshift | Смещение в часах относительно Гринвича для определения начала и окончания торгового дня. Используется при расчёте дневных максимумов и минимумов. |
| LabelShift | Смещение в барах от текущего для размещения текстовых меток R1 и S1 на графике. |
| LineShift | Смещение в барах от текущего для размещения горизонтальных линий уровней R1 и S1 на графике. |
| pd | Текстовый параметр, указанный по умолчанию как описание функционала уведомлений. В коде индикатора не используется для расчётов. |
| PipDistance | Расстояние в пипах, при котором срабатывает уведомление о приближении цены к уровню S1 или R1. |
| StandardFontColor | Цвет текстовых меток R1 и S1 на графике. |
| StandardFontSize | Размер шрифта текстовых меток R1 и S1 на графике. |
| SupportColor | Цвет горизонтальной линии уровня S1 (поддержки) на графике. |
| ResistanceColor | Цвет горизонтальной линии уровня R1 (сопротивления) на графике. |
Поиск по коду файла
#property indicator_chart_window
extern bool Alerts = false;
extern int GMTshift = 0;
extern int LabelShift = 20;
extern int LineShift = 40;
extern string pd = "PipsAboveBelowSR for Alert";
extern int PipDistance = 1;
extern color StandardFontColor = White;
extern int StandardFontSize = 8;
extern color SupportColor = Red;
extern color ResistanceColor = Lime;
datetime LabelShiftTime, LineShiftTime;
double yesterday_high=0;
double yesterday_low=0;
double LastHigh,LastLow,x;
double R1=0;
double S1=0;
bool firstS1=true;
bool firstR1=true;
double myPoint;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("R1 Label");
ObjectDelete("R1 Line");
ObjectDelete("S1 Label");
ObjectDelete("S1 Line");
return(0);
}
double SetPoint(string mySymbol)
{
double mPoint, myDigits;
myDigits = MarketInfo (mySymbol, MODE_DIGITS);
if (myDigits < 4)
mPoint = 0.01;
else
mPoint = 0.0001;
return(mPoint);
}
int DoAlerts()
{
double DifAboveR1,PipsLimit;
double DifBelowS1;
DifBelowS1 = S1 - Close[0];
DifAboveR1 = Close[0] - R1;
PipsLimit = PipDistance * myPoint;
if (DifBelowS1 > PipsLimit) firstS1 = true;
if (DifBelowS1 <= PipsLimit && DifBelowS1 > 0)
{
if (firstS1)
{
Alert("Below S1 Line by ",DifBelowS1, " for ", Symbol(),"-",Period());
PlaySound("alert.wav");
firstS1=false;
}
}
if (DifAboveR1 > PipsLimit) firstR1 = true;
if (DifAboveR1 <= PipsLimit && DifAboveR1 > 0)
{
if (firstR1)
{
Alert("Above R1 Line by ",DifAboveR1," for ", Symbol(),"-",Period());
Sleep(2000);
PlaySound("timeout.wav");
firstR1=false;
}
}
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
double day_high=0;
double day_low=0;
double yesterday_open=0;
double today_open=0;
double cur_daПоказано первые 50% кода (символов: 2932)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.