FIBO Target v1
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fibo target v1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
FIBO Target v1 — это пользовательский индикатор для MetaTrader 5, который отображает на графике ценовые уровни, построенные по локальным экстремумам цены за заданные периоды. Индикатор работает в окне графика и не создаёт отдельного подокна.
В основе расчёта лежит поиск максимумов и минимумов за два настраиваемых периода: один используется для построения линий Фибоначчи, второй — для расчёта целевых уровней. По найденным экстремумам строятся горизонтальные и наклонные линии, а также текстовые метки с подписями уровней.
Пользователь может включать и отключать отображение целевых уровней, линий Фибоначчи и линий максимума/минимума, а также настраивать цвета линий и меток. Количество анализируемых баров ограничивается параметром MaxBars. При снятии индикатора с графика все созданные объекты удаляются.
Настройки программы
| Настройка | Описание |
|---|---|
| TargetPeriod | Период цели — Количество баров для поиска локальных максимумов и минимумов, по которым рассчитываются целевые уровни. |
| FiboPeriod | Период Фибоначчи — Количество баров для поиска локальных максимумов и минимумов, по которым строятся линии Фибоначчи. |
| ShowTarget | Показывать цели — Включает или отключает отображение целевых уровней на графике. |
| ShowFiboLines | Показывать линии Фибоначчи — Включает или отключает отображение линий Фибоначчи на графике. |
| ShowHighLow | Показывать максимум и минимум — Включает или отключает отображение линий и меток максимума и минимума. |
| MaxBars | Максимум баров — Максимальное количество баров, анализируемых индикатором. |
| Line_color | Цвет линий — Цвет линий и меток максимума и минимума. |
| Target_color | Цвет целей — Цвет линий и меток целевых уровней. |
Поиск по коду файла
#property indicator_chart_window
extern int TargetPeriod=24;
extern int FiboPeriod=24;
extern bool ShowTarget=true;
extern bool ShowFiboLines=false;
extern bool ShowHighLow=true;
extern int MaxBars=100;
extern color Line_color = Green;
extern color Target_color = Red;
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];
if(Bars<200)MaxBars=Bars;
for(shift=MaxBars-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<MaxBars-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;
if(Digits==2)div=100;
if(Digits==4)div=10000;
if(Digits==5)div=100000;
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Показано первые 50% кода (символов: 5040)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.