shi_zigzagpro v1-1.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «shi_zigzagpro v1-1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
SHI_ZigZagPro — это пользовательский индикатор для MetaTrader 5, который выделяет значимые развороты ценовых движений и отображает их стрелками на графике. Индикатор использует два настраиваемых параметра для определения ключевых уровней поддержки и сопротивления.
В основе работы лежит поиск точек, где цена пробивает локальные экстремумы заданной глубины. Найденные развороты соединяются линейной интерполяцией, формируя наглядную структуру тренда на текущем таймфрейме.
Дополнительно индикатор выполняет аналогичный расчёт на старшем таймфрейме (на один период выше текущего) и отображает результаты в отдельных буферах, что позволяет оценить значимость разворотов в более широком контексте.
Индикатор рассчитывает три буфера данных, каждый из которых отрисовывается стрелками своего цвета, и не использует торговые функции.
Настройки программы
| Настройка | Описание |
|---|---|
| barn | Глубина анализа — количество баров от текущего, в пределах которых выполняется расчёт разворотов и построение индикаторных буферов. |
| Length | Длина поиска экстремумов — количество баров, в пределах которого определяются локальные минимумы и максимумы цены для построения зигзага. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Green
extern int barn=300;
extern int Length=6;
int shift,Swing,Swing_n,zu,zd,N,i,Per;
double LL,HH,BH,BL;
double Now[];
double Prev1[];
double Prev2[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
Swing_n=0; Swing=0;
BH=High[barn]; BL=Low[barn]; zu=barn; zd=barn;
for(i=barn;i>=0;i--)
{
Now[i]=0.0; Prev1[i]=0.0; Prev2[i]=0.0;
}
for(shift=barn;shift>=0;shift--)
{
LL=Low[Lowest(NULL,0,MODE_LOW,Length,shift+1)];
HH=High[Highest(NULL,0,MODE_HIGH,Length,shift+1)];
if(Low[shift]<LL && High[shift]>HH)
{
Swing=2;
if(Swing_n==1) zu=shift+1;
if(Swing_n==-1) zd=shift+1;
}
else
{
if(Low[shift]<LL) Swing=-1;
if(High[shift]>HH) Swing=1;
}
if(Swing!=Swing_n && Swing_n!=0)
{
if(Swing==2) { Swing=-Swing_n; BH=High[shift]; BL=Low[shift]; }
if(Swing==1) Now[zd]=BL;
if(Swing==-1) Now[zu]=BH;
BH=High[shift]; BL=Low[shift];
}
if(Swing==1) { if(High[shift]>=BH) { BH=High[shift]; zu=shift; } }
if(Swing==-1) { if(Low[shift]<=BL) { BL=Low[shift]; zd=shift; } }
Swing_n=Swing;
}
for(N=0,shift=barn;shift>=0;shift--)
{
if(Now[shift]>0)
Показано первые 50% кода (символов: 2705)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.