IP-GDR Fractal Levels
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «_igdr_fl(1).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «IP-GDR Fractal Levels» от GreenDog (2008–2009) работает на платформе MetaTrader 5 и предназначен для автоматического обнаружения фрактальных уровней на ценовых графиках. Он анализирует указанное количество баров, выявляет фракталы верхушек и впадин, а затем группирует близкие уровни в кластеры и выбирает три наиболее частых ценовых уровня.
Результаты отображаются графически: для каждого из трёх ключевых уровней рисуются каналы, трендовые линии и текстовые метки с указанием цены. Информация о текущих уровнях и количестве найденных фракталов выводится в комментарий на графике.
Индикатор является чисто аналитическим инструментом: он не выполняет торговых операций и не отправляет ордера. Все параметры задаются пользователем через настройки, включая глубину фрактала, его тип, режим отображения и допуск при кластеризации уровней.
Настройки программы
| Настройка | Описание |
|---|---|
| frNum | Количество баров, используемых для определения фрактала. Значение 2 соответствует 5-барному фракталу, 3 — 7-барному. |
| frType | Тип фрактала: 0 — простой (фрактал определяется при равенстве цен), 1 — расширенный (фрактал определяется при строгом превышении цен). |
| frMode | Режим определения фракталов: MODE_LOW (1) — уровень поддержки, MODE_HIGH (2) — уровень сопротивления, 0 — поддержка и сопротивление (S&R). |
| dlt | Допуск (дельта) для кластеризации фрактальных уровней — определяет ценовой диапазон, в пределах которого фракталы считаются принадлежащими одному уровню. |
| sBars | Количество баров, анализируемых индикатором. Минимальное допустимое значение — 200. Если задано 0, используются все доступные бары. |
Поиск по коду файла
#property indicator_chart_window
extern int frNum = 2; // ?????????? ????? ????????, 2=5-?????? ???????, 3=7-?????? ? ??
extern int frType = 1; // ??? ??????????? ???????? 0=???????, 1=?????????
extern int frMode = 0; // ?????? - MODE_LOW(1)=Sup, MODE_HIGH(2)=Res, 0=S&R
extern double dlt = 0.24; // ??????????? ?? ?????? ?????? ?????
extern int sBars = 480; // ?????????? ?????, ?????? ?????????????? ?? ????? 200
bool Go = true;
int lastBars=0,lastTime=0;
double aData[240][2],aRes[3][2];
int aCol[6]={MistyRose, OldLace, Honeydew, Red, Gold, Green};
int init(){
// код доступен только после оплаты
}
int deinit(){
Comment("");
for(int i=0;i<3;i++){
string name="IPGDR_Lv"+i; ObjectDelete(name);
name=name+"Up"; ObjectDelete(name);
name=name+"Dw"; ObjectDelete(name);
name=name+"Tx"; ObjectDelete(name);
}
}
int start(){
// код доступен только после оплаты
}
if (!Go) { Comment("???????????? ????????? ??????????!"); return(-1); }
if (Bars<sBars) { Comment("???????????? ????? ?? ???????!"); return(0); }
if (Bars==lastBars) return(0); // ??????? ???? ? ?????? ????
lastBars=Bars;
int sh=0; ArrayInitialize(aData,0);
double lastExt=0;
for(int i=frNum+1;i<sBars-2*frNum;i++){
if (frMode!=MODE_LOW && upFrac(i)) { // ????????? ??????? [????? ?????? ??????]
if (!(frType!=0 && lastExt>0 && lastExt==High[i])){
aData[sh][0]=High[i]; lastExt=High[i]; sh++;
}
}
if (sh>=240) break;
if (frMode!=MODE_HIGH && dwFrac(i)) { // ????????? ??????? [????? ?????? ??????]
if (!(frType!=0 && lastExt>0 && lastExt==Low[i])){
aData[sh][0]=Low[i]; lastExt=Low[i]; sh++;
}
}
if (sh>=240) break;
}
double sHL=0; for(i=1;i<=sBars;i++) sHL=sHL+(High[i]-Low[i]); sHL=sHL/sBars; dlt=sHL*dlt;
for(i=0;i<sh;i++){
for(int j=i+1;j<sh;j++){
if (aData[j][0]>aData[i][0]-dlt && aData[j][0]<aData[i][0]+dlt) {
aData[i][1]=aData[i][1]+1; aData[j][1]=aData[j][1]+1;
}
}
}
double cur[2],tmp[2]; aRes[0][0]=aData[0][0]; aRes[0][1]=aData[0][1];
for(i=1;i<sh;i++){
cur[0]=aData[i][0]; cur[1]=aData[i][1];
if (cur[1]>aRes[0][1]) { // ???? ??????? ?????? 1?? ?????, ?? 1? ????????? ???????
tmp[0]=aRes[0][0]; tmp[1]=aRes[0][1]; aRes[0][0]=cur[0]; aRes[0][1]=cur[1]; cur[0]=tmp[0]; cur[1]=tmp[1];
}
if (cur[1]>aRes[1][1] && (cur[0]<aRes[0Показано первые 50% кода (символов: 4118)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.