zigzag_hh-hl-lh-ll_b bt (alerts)buy sell.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «zigzag_hh-hl-lh-ll_b bt (alerts)buy sell.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, построенный на основе ZigZag-логики и предназначенный для визуального анализа графиков цен. Он определяет ключевые точки разворота и отображает на графике метки, соответствующие более высоким и более низким максимумам и минимумам. Индикатор работает в основном окне графика и использует буферы для хранения рассчитанных значений.
Настройки программы
| Настройка | Описание |
|---|---|
| ExtDepth | Глубина — Определяет максимальное количество баров, в пределах которых ищутся экстремумы для построения линии индикатора. |
| ExtDeviation | Отклонение — Задаёт минимальное отклонение цены в пунктах, необходимое для подтверждения нового экстремума. |
| ExtBackstep | Шаг отката — Определяет количество баров, на которые выполняется проверка и удаление менее значимых точек при построении ZigZag. |
| TopColorHH | Цвет HH — Цвет метки, обозначающей более высокий максимум (Higher High). |
| TopColorLH | Цвет LH — Цвет метки, обозначающей более низкий максимум (Lower High). |
| BotColorHL | Цвет HL — Цвет метки, обозначающей более высокий минимум (Higher Low). |
| BotColorLL | Цвет LL — Цвет метки, обозначающей более низкий минимум (Lower Low). |
| Labeldistance | Расстояние метки — Задаёт расстояние в пунктах, на котором размещаются текстовые метки экстремумов относительно ценовой линии. |
| TxtSize1 | Размер текста 1 — Размер шрифта для первого набора текстовых меток индикатора. |
| TxtSize2 | Размер текста 2 — Размер шрифта для второго набора текстовых меток индикатора. |
| Fonts | Шрифт — Имя шрифта, используемого для отображения текстовых меток на графике. |
| CountBars | Количество баров — Определяет максимальное количество баров, по которым выполняется расчёт индикатора. |
| alertsOn | Включить оповещения — Главный переключатель, активирующий или деактивирующий систему уведомлений индикатора. |
| alertsMessage | Оповещение сообщением — Включает вывод алерт-окна с сообщением при срабатывании условия индикатора. |
| alertsSound | Звуковой сигнал — Включает воспроизведение звукового файла при срабатывании условия индикатора. |
| alertsPush | Push-уведомление — Включает отправку push-уведомления на мобильное устройство при срабатывании условия индикатора. |
| alertsEmail | Email-уведомление — Включает отправку электронного письма на заданный адрес при срабатывании условия индикатора. |
| button_note1 | Примечание кнопки 1 — Текстовая разделительная линия перед настройками кнопки управления отображением. |
| btn_Subwindow | Подокно кнопки — Номер подокна графика, в котором размещается кнопка управления индикатором. |
| btn_corner | Угол кнопки — Определяет угол привязки кнопки управления на графике. |
| btn_text | Текст кнопки — Начальный текст, отображаемый на кнопке управления отображением индикатора. |
| btn_Font | Шрифт кнопки — Шрифт, используемый для текста кнопки управления. |
| btn_FontSize | Размер шрифта кнопки — Размер шрифта текста кнопки управления. |
| btn_text_ON_color | Цвет текста кнопки включена — Цвет текста кнопки, когда отображение индикатора активно. |
| btn_text_OFF_color | Цвет текста кнопки выключена — Цвет текста кнопки, когда отображение индикатора деактивировано. |
| btn_pressed | Текст кнопки нажата — Текст кнопки в состоянии, когда отображение индикатора скрыто. |
| btn_unpressed | Текст кнопки отпущена — Текст кнопки в состоянии, когда отображение индикатора показано. |
| btn_background_color | Фон кнопки — Цвет фона кнопки управления отображением индикатора. |
| btn_border_color | Граница кнопки — Цвет границы (обводки) кнопки управления. |
| button_x | Позиция X кнопки — Горизонтальная координата размещения кнопки управления на графике. |
| button_y | Позиция Y кнопки — Вертикальная координата размещения кнопки управления на графике. |
| btn_Width | Ширина кнопки — Ширина кнопки управления в пикселях. |
| btn_Height | Высота кнопки — Высота кнопки управления в пикселях. |
| soundBT | Звук кнопки — Имя звукового файла, воспроизводимого при нажатии кнопки управления. |
| button_note2 | Примечание кнопки 2 — Текстовая разделительная линия после настроек кнопки управления. |
Поиск по коду файла
???//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 clrSnow
extern int ExtDepth = 6 ;
extern int ExtDeviation = 0 ;
extern int ExtBackstep = 0 ;
extern color TopColorHH = clrYellow;
extern color TopColorLH = clrLime;
extern color BotColorHL = clrRed ;
extern color BotColorLL = clrYellow;
extern int Labeldistance = 2;
extern int TxtSize1 = 14;
extern int TxtSize2 = 14;
extern string Fonts = "Arial Black";
extern int CountBars = 8888 ;
extern bool alertsOn = true;
extern bool alertsMessage = true;
extern bool alertsSound = true;
extern bool alertsPush = true;
extern bool alertsEmail = false;
extern string button_note1 = "------------------------------";
extern int btn_Subwindow = 0;
extern ENUM_BASE_CORNER btn_corner = CORNER_LEFT_UPPER;
extern string btn_text = "ZZ";
extern string btn_Font = "Arial";
extern int btn_FontSize = 10;
extern color btn_text_ON_color = clrLime;
extern color btn_text_OFF_color = clrRed;
extern string btn_pressed = "ZZ OFF";
extern string btn_unpressed = "ZZ ON";
extern color btn_background_color = clrDimGray;
extern color btn_border_color = clrBlack;
extern int button_x = 850;
extern int button_y = 0;
extern int btn_Width = 75;
extern int btn_Height = 20;
extern string soundBT = "tick.wav";
extern string button_note2 = "------------------------------";
bool show_data = true;
string IndicatorName, IndicatorObjPrefix,buttonId ;
double Poin, Mut;
int level=3;
bool downloadhistory = false;
int PipFactor = 1;
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[]; string ShortName;
string GenerateIndicatorName(const string target)
{
string name = target;
int try
= 2;
while(WindowFind(name) != -1)
{
name = target + " #" + IntegerToString(try
++);
}
return name;
}
int init()
{
// код доступен только после оплаты
}
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2);
SetIndexBuffer(0,ZigzagBuffer);
SetIndexBuffer(1,HighMapBuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);
ShortName = "ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")";
IndicatorShortName(ShortName);
del_objF();
/* switch(Period())
{
case 1: puShift = 1.0 ; pdShift = -1.0 ; break;
case 5: puShift = 1.0 ; pdShift = -1.0 ; break;
case 15: puShift = 6.0 ; pdShift = -1.0 ; break;
case 30: puShift = 9.0 ; pdShift = -1.0 ; break;
case 60: puShift = 12 ; pdShift = -4.0 ; break;
case 240: puShift = 35 ; pdShift = -7.0 ; break;
case 1440: puShift = 100 ; pdShift = -20 ; break;
case 10080: puShift = 200 ; pdShift = -50 ; break;
case 43200: puShift = 300 ; pdShift = -100 ; break;
}
*/
if (Point == 0.00001) Poin = 0.0001; // 6 digits
else if (Point == 0.001) Poin = 0.01; // 3 digits (for Yen based pairs)
else Poin = Point; // Normal
if (StringSubstr(Symbol(),0,6) == "GBPUSD") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=4;break; case 15:Mut=6;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=35;break; case 1440:Mut=100;break; case 10080:Mut=150;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "GBPJPY") {switch(Period()) {case 1:Mut=2.5;break; case 5:Mut=6;break; case 15:Mut=8;break; case 30:Mut=11;break; case 60:Mut=10;break; case 240:Mut=35;break; case 1440:Mut=150;break; case 10080:Mut=200;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "USDJPY") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=3;break; case 15:Mut=6;break; case 30:Mut=12;break; case 60:Mut=25;break; case 240:Mut=30;break; case 1440:Mut=80;break; case 10080:Mut=150;break; case 43200:Mut=200;break; } }
if (StringSubstr(Symbol(),0,6) == "EURUSD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "XAUUSD") {switch(Period()) {case 1:Mut=12.0;break; case 5:Mut=40;break; case 15:Mut=80;break; case 30:Mut=200;break; case 60:Mut=300;break; case 240:Mut=400;break; case 1440:Mut=700;break; case 10080:Mut=2000;break; case 43200:Mut=3000;break; } }
if (StringSubstr(Symbol(),0,5) == "GER30" ) {switch(Period()) {case 1:Mut=90;break; case 5:Mut=350;break; case 15:Mut=500;break; case 30:Mut=2000;break; case 60:Mut=2400;break; case 240:Mut=2000;break; case 1440:Mut=7000;break; case 10080:Mut=20000;break; case 43200:Mut=25000;break; } }
if (StringSubstr(Symbol(),0,6) == "JPN225") {switch(Period()) {case 1:Mut=200;break; case 5:Mut=500;break; case 15:Mut=1200;break; case 30:Mut=2800;break; case 60:Mut=5000;break; case 240:Mut=6000;break; case 1440:Mut=15000;break; case 10080:Mut=30000;break; case 43200:Mut=50000;break; } }
if (StringSubstr(Symbol(),0,4) == "US30" ) {switch(Period()) {case 1:Mut=100;break; case 5:Mut=200;break; case 15:Mut=400;break; case 30:Mut=1000;break; case 60:Mut=3500;break; case 240:Mut=4000;break; case 1440:Mut=9000;break; case 10080:Mut=20000;break; case 43200:Mut=40000;break; } }
if (StringSubstr(Symbol(),0,6) == "AUDUSD") {switch(Period()) {case 1:Mut=0.3;break; case 5:Mut=3;break; case 15:Mut=7;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=13;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=200;break; } }
if (StringSubstr(Symbol(),0,6) == "AUDNZD") {switch(Period()) {case 1:Mut=0.5;break; case 5:Mut=3;break; case 15:Mut=5;break; case 30:Mut=7;break; case 60:Mut=10;break; case 240:Mut=13;break; case 1440:Mut=25;break; case 10080:Mut=100;break; case 43200:Mut=120;break; } }
if (StringSubstr(Symbol(),0,6) == "AUDCAD") {switch(Period()) {case 1:Mut=0.3;break; case 5:Mut=3;break; case 15:Mut=7;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=13;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=200;break; } }
if (StringSubstr(Symbol(),0,6) == "AUDCHF") {switch(Period()) {case 1:Mut=0.3;break; case 5:Mut=3;break; case 15:Mut=7;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=13;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=200;break; } }
if (StringSubstr(Symbol(),0,6) == "AUDJPY") {switch(Period()) {case 1:Mut=0.3;break; case 5:Mut=3;break; case 15:Mut=7;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=13;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=200;break; } }
if (StringSubstr(Symbol(),0,6) == "CHFJPY") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=2;break; case 15:Mut=4;break; case 30:Mut=6;break; case 60:Mut=10;break; case 240:Mut=20;break; case 1440:Mut=60;break; case 10080:Mut=200;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "CADJPY") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=2;break; case 15:Mut=4;break; case 30:Mut=6;break; case 60:Mut=10;break; case 240:Mut=20;break; case 1440:Mut=60;break; case 10080:Mut=200;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "CADCHF") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=2;break; case 15:Mut=4;break; case 30:Mut=6;break; case 60:Mut=10;break; case 240:Mut=20;break; case 1440:Mut=60;break; case 10080:Mut=200;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURGBP") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURAUD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURNZD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURCAD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURCHF") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "EURJPY") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "GBPAUD") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=4;break; case 15:Mut=6;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=35;break; case 1440:Mut=100;break; case 10080:Mut=150;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "GBPCHF") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=4;break; case 15:Mut=6;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=35;break; case 1440:Mut=100;break; case 10080:Mut=150;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "GBPCAD") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=4;break; case 15:Mut=6;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=35;break; case 1440:Mut=100;break; case 10080:Mut=150;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "GBPNZD") {switch(Period()) {case 1:Mut=1.5;break; case 5:Mut=4;break; case 15:Mut=6;break; case 30:Mut=10;break; case 60:Mut=13;break; case 240:Mut=35;break; case 1440:Mut=100;break; case 10080:Mut=150;break; case 43200:Mut=300;break; } }
if (StringSubstr(Symbol(),0,6) == "NZDJPY") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "NZDUSD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "NZDCHF") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "NZDCAD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "USDCAD") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "USDCHF") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "USDZAR") {switch(Period()) {case 1:Mut=0.7;break; case 5:Mut=2;break; case 15:Mut=5;break; case 30:Mut=11;break; case 60:Mut=20;break; case 240:Mut=20;break; case 1440:Mut=30;break; case 10080:Mut=120;break; case 43200:Mut=250;break; } }
if (StringSubstr(Symbol(),0,6) == "AUS200") {switch(Period()) {case 1:Mut=90;break; case 5:Mut=350;break; case 15:Mut=500;break; case Показано первые 50% кода (символов: 21064)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.