fmcbr.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fmcbr.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот файл представляет собой пользовательский индикатор для MetaTrader 5 (MQL5), который отображает на графике ценовые уровни и уровни Фибоначчи. Индикатор анализирует данные встроенного индикатора ZigZag для определения локальных максимумов и минимумов, а также выявляет подтверждающие свечные модели. На основе этих данных строятся уровни Фибоначчи с настраиваемыми пользователем параметрами.
Индикатор поддерживает визуальное отображение стрелок для ключевых точек и уровней Фибоначчи, которые могут быть включены или отключены через входные параметры. Также предусмотрена возможность отправки звуковых уведомлений при появлении новых сигналов, если включена соответствующая опция.
Все настройки вынесены во входные параметры, что позволяет адаптировать индикатор под различные торговые стратегии и предпочтения пользователя. Индикатор не является торговым советником и не выполняет автоматических торговых операций.
Настройки программы
| Настройка | Описание |
|---|---|
| BLUE | Синий цвет — Цвет для отображения уровней Фибоначчи, соответствующих восходящему движению. |
| RED | Красный цвет — Цвет для отображения уровней Фибоначчи, соответствующих нисходящему движению. |
| inDepth | Глубина ZigZag — Параметр глубины для индикатора ZigZag, влияющий на чувствительность поиска экстремумов. |
| Limit | Лимит баров — Количество баров для анализа при поиске экстремумов и построении уровней. |
| Fibo_Level | Подсказка по уровням Фибоначчи — Текстовый параметр, содержащий подсказку по управлению уровнями Фибоначчи. |
| HANYUT | Уровень HANYUT — Включает или отключает отображение уровня Фибоначчи с названием HANYUT. |
| MULA | Уровень MULA — Включает или отключает отображение уровня Фибоначчи с названием MULA. |
| ENTRY | Уровень ENTRY — Включает или отключает отображение уровня Фибоначчи с названием ENTRY. |
| EXIT_1 | Уровень EXIT 1 — Включает или отключает отображение уровня Фибоначчи с названием EXIT 1. |
| AKHIR | Уровень AKHIR — Включает или отключает отображение уровня Фибоначчи с названием AKHIR. |
| EXIT_2 | Уровень EXIT 2 — Включает или отключает отображение уровня Фибоначчи с названием EXIT 2. |
| EXIT_3 | Уровень EXIT 3 — Включает или отключает отображение уровня Фибоначчи с названием EXIT 3. |
| EXIT_4 | Уровень EXIT 4 — Включает или отключает отображение уровня Фибоначчи с названием EXIT 4. |
| TAMAK | Уровень TAMAK — Включает или отключает отображение уровня Фибоначчи с названием TAMAK. |
| al_set | Заголовок настроек уведомлений — Текстовый параметр, содержащий заголовок раздела настроек уведомлений. |
| use_alert | Использовать уведомления — Включает или отключает отправку звуковых уведомлений при появлении новых сигналов. |
| up_alert | Текст уведомления вверх — Текст сообщения для уведомления о восходящем сигнале. |
| down_alert | Текст уведомления вниз — Текст сообщения для уведомления о нисходящем сигнале. |
Поиск по коду файла
#property description "Free Distribution"
#property description "edited by eevviill"
#property description "alert"
#property version "1.0"
#property strict
#property indicator_chart_window
#property indicator_buffers 6
extern color BLUE= clrAqua;
extern color RED = clrRed;
extern int inDepth=50;
extern int Limit=240;
extern string Fibo_Level="Klik false untuk tutup level";
extern bool HANYUT=true;
extern bool MULA = true;
extern bool ENTRY = true;
extern bool EXIT_1 = true;
extern bool AKHIR = true;
extern bool EXIT_2 = true;
extern bool EXIT_3 = true;
extern bool EXIT_4=true;
extern bool TAMAK = true;
extern string emp1 = "///////////////////////////////////////";
extern string al_set = "Alerts settings";
extern bool use_alert = false;
extern string up_alert = "UP";
extern string down_alert = "DOWN";
double cbHi[],cbLow[],hi[],low[],breakHi[],breakLow[];
int fiboCount;
int prev_bars;
int OnInit()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectsDeleteAll(0,OBJ_FIBO);
return(0);
}
int start()
{
// код доступен только после оплаты
}
void getHiLow()
{
int prePos,curPos;
curPos=prePos=0;
for(int i=0;i<=Limit;i++)
{
double zz= iCustom(Symbol(),0,"ZigZag",inDepth,5,3,0,i);
double zzhi=iCustom(Symbol(),0,"ZigZag",inDepth,5,3,1,i);
double zzLow=iCustom(Symbol(),0,"ZigZag",inDepth,5,3,2,i);
if(zzhi>0)
hi[i]=zz;
else
hi[i]=0.0;
if(zzLow>0)
low[i]=zz;
else
low[i]=0.0;
}
}
void cBreak()
{
ObjectsDeleteAll(0,OBJ_FIBO);
bool breakHiFound,breakLowFound;
double cbhi,cblow;
breakHiFound=breakLowFound=false;
cbhi=cblow=0;
int x,i,y;
double highest,lowest;
datetime T1,T2;
for(x=0;x<=Limit;x++)
{
breakLow[x]=0.0;
breakHi[x]=0.0;
if(hi[x]>0 || low[x]>0)
{
for(i=x;i<=x+20;i++)
{// cari cbhi/cbLow
if(cbHi[i]>0)
{
cbhi=cbHi[i];
break;
}
else cbhi=0;
if(cbLow[i]>0)
{
cblow=cbLow[i];
break;
}
else cblow=0;
}
}
for(y=x;y>=0;y--)
{// cari break;
if(cbhi>0 || cblow>0)
{
if(iClose(Symbol(),0,y)>cbhi && cbhi>0 && low[x]>0)
{
breakHi[y]=iClose(Symbol(),0,y);
cbhi=0;
highest=breakHi[y];
lowest=iLow(Symbol(),0,x);
T1=iTime(Symbol(),0,x);
T2=iTime(Symbol(),0,x+2);
DrawFibo(T1,T2,highest,lowest,"up");
break;
}
else breakHi[y]=0.0;
if(iClose(Symbol(),0,y)<cblow && cblow>0 && hi[x]>0)
{
breakLow[y]=iClose(Symbol(),0,y);
cblow=0;
highest=breakLow[y];
lowest=iHigh(Symbol(),0,x);
T1=iTime(Symbol(),0,x);
T2=iTime(Symbol(),0,x+2);
DrawFibo(T1,T2,highest,lowest,"down");
break;
}
else breakLow[y]=0.0;
}
}
}
}
void findCb()
{
ArrayInitialize(cbHi,0.0);
ArrayInitialize(cbLow,0.0);
for(int i=0;i<=Limit;i++)
{
int PointShift=i;
string ConfirmedPoint="Not Found";
string PointShiftDirection="Not Found";
if(hi[i]>0 || low[i]>0)
{
while(ConfirmedPoint!="Found")
{
double ZZ=iCustom(NULL,0,"ZigZag",inDepth,5,3,0,PointShift);
if(iHigh(NULL,0,PointShift)==ZZ || iLow(NULL,0,PointShift)==ZZ)
{
ConfirmedPoint="Found";
if(iHigh(NULL,0,PointShift)==ZZ)
{
PointShiftDirection="High";
break;
}
if(iLow(NULL,0,PointShift)==ZZ)
{
PointShiftDirection="Low";
break;
}
}
PointShift++;
}
int PointShift2=PointShift;
string ConfirmedPoint2="Not Found";
while(ConfirmedPoint2!="Found")
{
double ZZ2=iCustom(NULL,0,"ZigZag",2,1,1,0,PointShift2);
double priceOpen=iOpen(Symbol(),0,PointShift2);
double priceClose=iClose(Symbol(),0,PointShift2);
if(iHigh(NULL,0,PointShift2)==ZZ2 && PointShiftDirection=="Low")
{
ConfirmedPoint2="Found";
if(iClose(Symbol(),0,PointShift2)<iOpen(Symbol(),0,PointShift2))
cbHi[PointShift2]=priceOpen;
else
cbHi[PointShift2]=priceClose;
if(checkDominentHi(PointShift))
Показано первые 50% кода (символов: 7804)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.