Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не можешь разобраться в коде? Статьи помогут!
Dark Han
29
Dark Han 2011.08.16 04:13 

Помогите люди добрые!

Как в кодовом выражение определить последнее значение ZigZag-а. К примеру последнее значение Лоу свинг или Хай свинг. Если при Хай свинге значение равно Сигнал = 1, при Лоу свинге значение Сигнал = 2. Система основана так: Если есть Лоу свинг то только в Лонг(бай), если Хай свинг то только в Шорт(селл).

Заранее благодарю всех кто подскажет!

Dark Han
29
Dark Han 2011.08.16 08:51  

Спасибо! Вроде заработала.


if (GetExtremumZZPrice() == GetExtremumZZPriceLower()) return (0); 

if (GetExtremumZZPrice() == GetExtremumZZPriceUpper()) return (0); 

double GetExtremumZZPrice(string sy="", int tf=NULL, int ne=0)
{
if (sy=="" || sy=="0") sy=Symbol();
double zz;
int i, k=iBars(sy, tf), ke=0;

for (i=0; i<k; i++) {
zz=iCustom(sy, tf, "ZigZag", iZigZag_dp, iZigZag_dv, iZigZag_bs, 0, i);
if (zz!=0) {
ke++;
if (ke>ne) return(zz);
}
}
Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден");
return(-1);
}
double GetExtremumZZPriceLower(string sy="", int tf=NULL, int ne=0) 
{
int i;
double zz;

while (zz == 0 && i < Bars)
{
zz=iCustom(NULL,0,"ZigZag",iZigZag_dp,iZigZag_dv,iZigZag_bs,1,i);
i++;
}
if (i != Bars) return (zz);
}

double GetExtremumZZPriceUpper(string sy="", int tf=NULL, int ne=0) 
{
int i;
double zz;

while (zz == 0 && i < Bars)
{
zz=iCustom(NULL,0,"ZigZag",iZigZag_dp,iZigZag_dv,iZigZag_bs,2,i);
i++;
}
if (i != Bars) return (zz);
} 
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий