fibo_s 600+.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fibo_s 600+.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, написанный на языке MQL5. Он отображает результаты расчётов в отдельном окне с помощью четырёх гистограммных буферов.
Индикатор анализирует фигуры цены, используя два настраиваемых периода для определения значимых максимумов и минимумов. На основе обнаруженных свинг-точек рассчитываются уровни, привязанные к стандартным коэффициентам, и отображаются в виде гистограмм.
Продукт предоставляет возможность включения отрисовки вспомогательных линий и подписей, а также целевых уровней, рассчитанных по отдельному периоду. Все визуальные элементы управляются соответствующими переключателями в настройках.
Перед удалением индикатора с графика происходит очистка всех созданных графических объектов и комментариев.
Настройки программы
| Настройка | Описание |
|---|---|
| TargetPeriod | Период целевых уровней — Задаёт период для расчёта целевых уровней, которые отображаются при включённом соответствующем переключателе. |
| FiboPeriod | Периент Фибоначчи — Задаёт период для определения значимых свинг-максимумов и свинг-минимумов цены, используемых в качестве базы для расчёта уровней. |
| ShowTarget | Показывать целевые уровни — Управляет отображением целевых уровней, рассчитанных по отдельному периоду, в виде линий и текстовых подписей. |
| ShowFiboLines | Показывать линии Фибоначчи — Управляет отрисовкой вспомогательных линий и подписей стандартных коэффициентов на графике. |
| ShowHighLow | Показывать максимум и минимум — Управляет отображением горизонтальных линий и подписей последнего обнаруженного максимума и минимума. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_color4 Green
extern int TargetPeriod=34;
extern int FiboPeriod=17;
extern bool ShowTarget=true;
extern bool ShowFiboLines=false;
extern bool ShowHighLow=false;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double zzL[];
double zzH[];
double zz[];
double target1=0,target2=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("Target1=");
ObjectDelete("Target2=");
ObjectDelete("TargetUp");
ObjectDelete("TargetDown");
ObjectDelete("TP1");
ObjectDelete("TP2");
ObjectDelete("R0");
ObjectDelete("R1");
ObjectDelete("R2");
ObjectDelete("R3");
ObjectDelete("R4");
ObjectDelete("R5");
ObjectDelete("LH");
ObjectDelete("LL");
ObjectDelete("Low");
ObjectDelete("High");
ObjectDelete("1.0");
ObjectDelete("0.618");
ObjectDelete("0.5");
ObjectDelete("0.382");
ObjectDelete("0.236");
ObjectDelete("0.0");
Comment(" ");
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,shift,pos,lasthighpos,lastlowpos,curhighpos,curlowpos;
int targethighpos,targetlowpos;
double curlow,curhigh,lasthigh,lastlow,targethigh,targetlow;
double min, max;
lasthighpos=Bars; lastlowpos=Bars;
lastlow=Low[Bars];lasthigh=High[Bars];
targethighpos=Bars; targetlowpos=Bars;
targetlow=Low[Bars];targethigh=High[Bars];
for(shift=Bars-FiboPeriod; shift>=0; shift--)
{
curlowpos=Lowest(NULL,0,MODE_LOW,FiboPeriod,shift);
curlow=Low[curlowpos];
curhighpos=Highest(NULL,0,MODE_HIGH,FiboPeriod,shift);
curhigh=High[curhighpos];
if(shift<Bars-TargetPeriod)
{
targetlowpos=Lowest(NULL,0,MODE_LOW,TargetPeriod,shift);
targetlow=Low[targetlowpos];
targethighpos=Highest(NULL,0,MODE_HIGH,TargetPeriod,shift);
targethigh=High[targethighpos];
}
if(curlow>=lastlow){ lastlow=curlow; }
else
{
if(lasthighpos>curlowpos )
{
zzL[curlowpos]=curlow;
min=100000; pos=lasthighpos;
for(i=lasthighpos; i>=curlowpos; i--)
{
if (zzL[i]==0.0) continue;
if (zzL[i]<min) { min=zzL[i]; pos=i; }
zz[i]=0.0;
}
zz[pos]=min;
}
lastlowpos=curlowpos;
lastlow=curlow;
}
if(curhigh<=lasthigh) { lasthigh=curhigh;}
else
{
if(lastlowpos>curhighpos)
{
zzH[curhighpos]=curhigh;
max=-100000; pos=lastlowpos;
for(i=lastlowpos; i>=curhighpos; i--)
{
if (zzH[i]==0.0) continue;
if (zzH[i]>max) { max=zzH[i]; pos=i; }
zz[i]=0.0;
}
zz[pos]=max;
}
lasthighpos=curhighpos;
lasthigh=curhigh;
}
double p, r5,r4,r3,r2,r1,r0;
double R2= targethigh - targetlow;
double R1= lasthigh - lastlow;
double R= High[lasthighpos] - Low[lastlowpos];
int div=10000;
color Line_color=Green;
color Target_color=Red;
if(Digits==2)div=100;
if(Digits==4)div=10000;
ExtMapBuffer1[shift]=0;
ExtMapBuffer2[shift]=0;
ExtMapBuffer3[shift]=0;
ExtMapBuffer4[shift]=0;
if(lastlowpos<lasthighpos)
{
p=curlow;
r5=p + (R * 1);
r4=p + (R * 0.618);
r3=p + (R * 0.5);
r2=p + (R * 0.382);
r1=p + (R * 0.236);
Показано первые 50% кода (символов: 5882)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.