zzlfibosignal.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «zzlfibosignal.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
ZZLFiboSignal — индикатор для MetaTrader 5, который анализирует максимумы и минимумы ценовых баров в заданном диапазоне и определяет точки разворота тренда по принципу зигзага. На основе обнаруженных свинг-хаев и свинг-лоу индикатор рисует стрелки сигналов покупки и продажи, горизонтальные линии ключевых уровней и объекты расширения Фибоначчи между тремя значимыми точками.
В основе работы лежит циклический перебор баров с поиска локальных экстремумов. Когда текущий бар превосходит экстремумы соседних баров по обоим направлениям, фиксируется точка разворота. Далее сравниваются значения ценовых уровней для определения направления сигнала.
Индикатор позволяет настраивать глубину анализа, цвета и стили отображения сигналов, а также включать или отключать отрисовку стрелок, горизонтальных линий и фибоначчи расширений. Расширения Фибоначчи создаются как графические объекты с набором стандартных уровней от 0.000 до 14.6.
Настройки программы
| Настройка | Описание |
|---|---|
| BR | Количество баров с конца графика, анализируемых для поиска экстремумов и разворотов. |
| LG | Внутренний период поиска экстремумов — количество баров, в пределах которых сравниваются минимумы и максимумы для определения разворота. |
| LG2 | Дополнительный период поиска экстремумов, используемый вместо LG при таймфрейме M1 (Period()==1). |
| LT | Стиль отображения линии зигзага на графике. |
| ARS | Размер стрелки-сигнала, отображаемой на графике при обнаружении точки разворота. |
| LARS | Толщина горизонтальных линий, отображаемых на уровне сигнала покупки или продажи. |
| SCLR | Цвет линии и стрелки сигнала продажи. |
| BCLR | Цвет линии и стрелки сигнала покупки. |
| LCLR | Цвет линии зигзага, отображаемой на графике. |
| ______________1_____________ | Заголовок раздела параметров расширения Фибоначчи. |
| ExtFiboExpansion | Параметр, определяющий количество или идентификатор объекта расширения Фибоначчи на графике. |
| ExtFiboExpansionColor | Цвет линий и уровней объекта расширения Фибоначчи. |
| ExtExpansionStyle | Стиль линий объектов расширения Фибоначчи (например, сплошная, пунктир и т. д.). |
| ExtExpansionWidth | Толщина линий объектов расширения Фибоначчи. |
| FiboExp | Переключатель включения или отключения отрисовки объектов расширения Фибоначчи на графике. |
| ShowArrow | Переключатель включения или отключения отрисовки стрелок-сигналов покупки и продажи на графике. |
| ShowHLine | Переключатель включения или отключения отрисовки горизонтальных линий на уровнях сигналов. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 clrRed
extern int BR = 500;
extern int LG = 6;
extern int LG2 = 15;
extern int LT = 2; //линия зигзаг
extern int ARS = 5; //стрелка
extern int LARS = 5; //горизонтальная линия
extern color SCLR = clrMagenta;
extern color BCLR = clrGreen;
extern color LCLR = clrNONE;//Blue
extern string ______________1_____________ = "Параметры расширения Фибо";
extern int ExtFiboExpansion = 0;
extern color ExtFiboExpansionColor = clrDimGray;
extern int ExtExpansionStyle = 2;
extern int ExtExpansionWidth = 0;
extern bool FiboExp = false;
extern bool ShowArrow = true;
extern bool ShowHLine = true;
double EMB[];
int shift;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("Buy");
ObjectDelete("Sell");
ObjectDelete("Buy Line");
ObjectDelete("Sell Line");
ObjectDelete("Fibo1");
ObjectDelete("Fibo2");
Comment("");
return(0);
}
int start()
{
// код доступен только после оплаты
}
if(Period()==1)
LG = LG2;
int WF,SW,ND,i,ZZU,ZZD,PP,T1,T2,T3;
double LL,HH,BH,BL;
double UNIT[10000][3];
SW=0;
WF=0;
ND=0;
BH = High[BR];
BL = Low[BR];
ZZU = BR;
ZZD = BR;
for(shift=BR; shift>=0; shift--)
{
LL = 100000;
HH = -100000;
for(i=shift+LG; i>=shift+1; i--)
{
if(Low[i]< LL)
{
LL=Low[i];
};
if(High[i]>HH)
{
HH=High[i];
};
};
if(Low[shift]<LL && High[shift]>HH)
{
WF=2;
if(SW==1)
{
ZZU=shift+1;
};
if(SW==-1)
{
ZZD=shift+1;
};
}
else
{
if(Low[shift]<LL)
{
WF=-1;
};
if(High[shift]>HH)
{
WF=1;
};
};
if(WF!=SW && SW!=0)
{
if(WF==2)
{
WF=-SW;
BH = High[shift];
BL = Low[shift];
};
ND=ND+1;
if(WF==1)
{
UNIT[ND][1]=ZZD;
UNIT[ND][2]=BL;
};
if(WF==-1)
{
UNIT[ND][1]=ZZU;
UNIT[ND][2]=BH;
};
BH = High[shift];
BL = Low[shift];
};
if(WF==1)
{
if(High[shift]>=BH)
{
BH=High[shift];
ZZU=shift;
};
};
if(WF==-1)
{
if(Low[shift]<=BL)
{
BL=Low[shift];
ZZD=shift;
};
};
SW=WF;
};
for(i=1; i<=ND; i++)
{
PP=StrToInteger(DoubleToStr(UNIT[i][1],0));
T1=StrToInteger(DoubleToStr(UNIT[i][1],0));
T2=StrToInteger(DoubleToStr(UNIT[i-1][1],0));
T3=StrToInteger(DoubleToStr(UNIT[i-2][1],0));
EMB[PP]=UNIT[i][2];
double s1 = UNIT[i ][2];
double s2 = UNIT[i-1][2];
double s3 = UNIT[i-2][2];
};
if(s1<s2)
{
if (ShowArrow) SetArrow(225, BCLR, "Buy", Time[T1], BL, ARS);
if (ShowHLine) SetHLine(BCLR, "Buy Line", BL, 0, LARS);
ObjectDelete("Sell Line");
ObjectDelete("Sell");
if(FiboExp)
{
ObjectDelete("Fibo2");
ObjectCreate(0,"Fibo1",OBJ_EXPANSION,0,T3,s3,T2,s2,T1,s1);
ObjectSet("Fibo1",OBJPROP_LEVELCOLOR,ExtFiboExpansionColor);
ObjectSet("Fibo1",OBJPROP_LEVELSTYLE,ExtExpansionStyle);
ObjectSet("Fibo1",OBJPROP_FIBOLEVELS,16); //Устанавливаем число уровней объекта
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+0,0.000);//Устанавливаем значения каждого уровня объекта
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,0,0.000);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,0,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,0,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,0,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",0,"0.000");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+1,0.146);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,1,0.146);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,1,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,1,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,1,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",1,"0.146");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+2,0.236);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,2,0.236);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,2,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,2,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,2,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",2,"0.236");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+3,0.382);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,3,0.382);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,3,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,3,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,3,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",3,"0.382");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+4,0.5);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,4,0.5);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,4,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,4,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,4,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",4,"0.5");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+5,0.618);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,5,0.618);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,5,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,5,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,5,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",5,"0.618");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+6,0.764);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,6,0.764);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,6,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,6,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,6,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",6,"0.764");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+7,1);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,7,1);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,7,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,7,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,7,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",7,"1");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+8,1.236);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,8,1.236);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,8,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,8,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,8,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",8,"1.236");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+9,1.618);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,9,1.618);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,9,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,9,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,9,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",9,"1.618");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+10,2.618);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,10,2.618);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,10,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,10,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,10,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",10,"2.618");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+11,4.236);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,11,4.236);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,11,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,11,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,11,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",11,"4.236");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+12,6.854);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,12,6.854);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLOR,12,ExtFiboExpansionColor); // цвет уровня
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELSTYLE,12,ExtExpansionStyle);//Сплошная линия
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELWIDTH,12,ExtExpansionWidth); //--- толщина уровня
ObjectSetFiboDescription("Fibo1",12,"6.854");
ObjectSet("Fibo1",OBJPROP_FIRSTLEVEL+13,11.09);
ObjectSetDouble(0,"Fibo1",OBJPROP_LEVELVALUE,13,11.09);
ObjectSetInteger(0,"Fibo1",OBJPROP_LEVELCOLORПоказано первые 50% кода (символов: 16192)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.