fibo retracement 1.01.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fibo retracement 1.01.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «Fibo Retracement» для MetaTrader 4 рассчитывает ZigZag по ценовым экстремумам и строит три набора уровней Фибоначчи между значимыми точками разворота. Три линии Фибоначчи (Fibo3, Fibo2, Fibo1) отображаются на графике с настраиваемыми цветами, стилями и наборами уровней, что позволяет анализировать коррекции и откаты цены на разных участках истории.
Индикатор поддерживает систему уведомлений: при касании цены уровнями Фибоначчи можно получать звуковые, push-уведомления, email-рассылки и всплывающие сообщения. Включает визуальную маркировку свечей, коснувшихся уровней, с настраиваемыми цветами тел и теней для наглядного отслеживания событий на графике.
Параметры глубины, отклонения и количества шагов ZigZag позволяют адаптировать детектирование экстремумов под конкретный инструмент и таймфрей. Все настройки уровней и внешнего вида управляются через входные параметры индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| ExtDepth | ExtDepth — Глубина поиска экстремумов для расчёта ZigZag в количествах баров. |
| ExtDeviation | ExtDeviation — Допустимое отклонение цены при определении значимых минимумов и максимумов ZigZag. |
| ExtBackstep | ExtBackstep — Количество баров назад для проверки и коррекции найденных экстремумов ZigZag. |
| Fibo1Color | Fibo1Color — Цвет линии Фибоначчи Fibo1 (третий набор уровней на графике). |
| Fibo1Width | Fibo1Width — Толщина линии Фибоначчи Fibo1. |
| Fibo1Style | Fibo1Style — Стиль линии Фибоначчи Fibo1 (пунктир, сплошная и т.д.). |
| Fibo1LevelsStyle | Fibo1LevelsStyle — Стиль отображения уровней Фибоначчи в наборе Fibo1. |
| ShowSecondFibo | ShowSecondFibo — Переключатель видимости второго набора уровней Фибоначчи (Fibo2). |
| Fibo2Color | Fibo2Color — Цвет линии Фибоначчи Fibo2 (второй набор уровней на графике). |
| Fibo2Width | Fibo2Width — Толщина линии Фибоначчи Fibo2. |
| Fibo2Style | Fibo2Style — Стиль линии Фибоначчи Fibo2. |
| Fibo2LevelsStyle | Fibo2LevelsStyle — Стиль отображения уровней Фибоначчи в наборе Fibo2. |
| ShowThirdFibo | ShowThirdFibo — Переключатель видимости третьего набора уровней Фибоначчи (Fibo3). |
| Fibo3Color | Fibo3Color — Цвет линии Фибоначчи Fibo3 (первый набор уровней на графике). |
| Fibo3Width | Fibo3Width — Толщина линии Фибоначчи Fibo3. |
| Fibo3Style | Fibo3Style — Стиль линии Фибоначчи Fibo3. |
| Fibo3LevelsStyle | Fibo3LevelsStyle — Стиль отображения уровней Фибоначчи в наборе Fibo3. |
| _ | _ — Текстовый параметр, обозначающий группу настроек поведения уведомлений. |
| alertsOn | alertsOn — Включает или отключает проверку касания ценой уровней Фибоначчи и отправку уведомлений. |
| alertsTolerance | alertsTolerance — Допуск в пунктах для определения касания ценой уровня Фибоначчи. |
| touchChanell | touchChanell — Переключатель режима касания: с учётом канала (удвоенный допуск) или без. |
| alertsOnCurrent | alertsOnCurrent — Проверять касание на текущем баре или на закрытом предыдущем. |
| alertsMessage | alertsMessage — Отправлять ли всплывающие сообщения при касании уровня. |
| alertsSound | alertsSound — Воспроизводить ли звуковой сигнал при касании уровня. |
| alertsNotify | alertsNotify — Отправлять ли push-уведомление при касании уровня. |
| alertsEmail | alertsEmail — Отправлять ли email-уведомление при касании уровня. |
| alertsShowTouched | alertsShowTouched — Отображать ли маркировку свечей, коснувшихся уровней Фибоначчи. |
| soundFile | soundFile — Путь к звуковому файлу, воспроизводимому при касании уровня. |
| barsToShowCandles | barsToShowCandles — Количество баров, в пределах которых отображается маркировка касаний. |
| BarUpColor | BarUpColor — Цвет тела свечи-маркера при касании уровня снизу вверх. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
extern int ExtDepth = 30;
extern int ExtDeviation = 5;
extern int ExtBackstep = 3;
extern string FiboLevels = "0;23.6;38.2;50;61.8;100";
extern color Fibo1Color = clrDodgerBlue;
extern int Fibo1Width = 1;
extern int Fibo1Style = STYLE_DOT;
extern int Fibo1LevelsStyle = STYLE_SOLID;
extern bool ShowSecondFibo = true;
extern color Fibo2Color = clrDarkSlateGray;
extern int Fibo2Width = 1;
extern int Fibo2Style = STYLE_DOT;
extern int Fibo2LevelsStyle = STYLE_SOLID;
extern bool ShowThirdFibo = true;
extern color Fibo3Color = clrGoldenrod;
extern int Fibo3Width = 1;
extern int Fibo3Style = STYLE_DOT;
extern int Fibo3LevelsStyle = STYLE_SOLID;
extern string _ = "alerts behaviour";
extern bool alertsOn = false;
extern double alertsTolerance = 1.0;
extern bool touchChanell = false;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern bool alertsShowTouched = true;
extern string soundFile = "alert2.wav";
extern int barsToShowCandles = 1000;
extern color BarUpColor = Green;
extern color BarDownColor = Red;
extern color WickColor = Gray;
extern int CandleWidth = 3;
double ExtMapBuffer[];
double ExtLowBuffer[];
double ExtHighBuffer[];
int totalCandles;
string windowID;
double levelv[];
string levels[];
double values[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("Fibo1");
ObjectDelete("Fibo2");
ObjectDelete("Fibo3");
deleteCandles();
return(0);
}
int start()
{
// код доступен только после оплаты
}
void CalculateZigZag()
{
int shift, back,lasthighpos,lastlowpos,index;
double val,res;
double curlow,curhigh,lasthigh,lastlow;
for(shift=Bars-ExtDepth; shift>=0; shift--)
{
index=iLowest(NULL,0,MODE_LOW,ExtDepth,shift);
val=Low[index];
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtLowBuffer[shift+back];
if((res!=0)&&(res>val)) ExtLowBuffer[shift+back]=0.0;
}
}
}
ExtLowBuffer[shift]=0.0;
if(val!=0.0) ExtLowBuffer[index]=val;
index=iHighest(NULL,0,MODE_HIGH,ExtDepth,shift);
val=High[index];
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtHighBuffer[shift+back];
if((res!=0)&&(res<val)) ExtHighBuffer[shift+back]=0.0;
}
}
}
ExtHighBuffer[shift]=0.0;
if(val!=0.0) ExtHighBuffer[index]=val;
}
lasthigh=-1; laПоказано первые 50% кода (символов: 11376)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.