Как будет праvильно сделать?

 

Привет всем! Есть небольшой кусочек кода который я приведу снизу.Там написано что при входе для бай сделки по фракталу от верхнего фрактала откладываем столько пунктов вверх.А мне надо сделать наооборот- для бай сделки от НИЖНЕГО фрактала откладываем столько пунктов вверх.как это сделать ?

{

//----+

double up_frac = 0;

for(int f=start_bar_f;f<bar_f;f++)

{

up_frac=iFractals(Symbol(),0,MODE_UPPER,f);

if(up_frac>0)break;

}

double level_up =up_frac + n_pips*Point;//Alert(" ",level_up);


double down_frac = 0;

for(f=start_bar_f;f<bar_f;f++)

{

down_frac=iFractals(Symbol(),0,MODE_LOWER,f);

if(down_frac>0)break;

}

double level_down =down_frac - n_pips*Point;//Alert(" ",level_down);


bool f_buy = false, f_sell = false;

if(Fractals){

if(up_frac>0 && Low[0]<level_up && Ask>level_up)f_buy = true;

if(down_frac>0 && High[0]>level_down && Bid<level_down)f_sell = true;}

else {f_buy = true;f_sell = true;}

Я вот подумал и решил что может будет так правильно решить задачку:

{

//----+

double up_frac = 0;

for(int f=start_bar_f;f<bar_f;f++)

{

up_frac=iFractals(Symbol(),0,MODE_UPPER,f);

if(up_frac>0)break;

}

double down_frac = 0;

for(f=start_bar_f;f<bar_f;f++)

{

down_frac=iFractals(Symbol(),0,MODE_LOWER,f);

if(down_frac>0)break;

}

double level_up = down_frac + n_pips*Point;//Alert(" ",level_up);

double level_down = up_frac - n_pips*Point;//Alert(" ",level_down);


bool f_buy = false, f_sell = false;

if(Fractals){

if(up_frac>0 && Low[0]<level_up && Ask>level_up)f_buy = true;

if(down_frac>0 && High[0]>level_down && Bid<level_down)f_sell = true;}

else {f_buy = true;f_sell = true;}

можете помочь с кодом?!

Причина обращения: