Запутался в циклах

 
Пытаюсь определить положение цены, относительно заданных уровней в процентах Фибо. С положительной стороной разобрался, а в отрицательную сторону ну не идет никак.Посмотрите пожалуйста свежим взглядом, может у меня " глаза замылились", может что, ну не идет в голову свежая мысль. Заранее спасибо!
//---Определения------------------------------------------------------+
RefreshRates();
double medianprise = NormalizeDouble(((MarketInfo(Symbol(),MODE_BID))+(spread/2)*Point),Digits); 
double interval = NormalizeDouble(((spread + stop)*Point),Digits);
if (prise1>prise2){ min = prise2; max = prise1;}else{min = prise1;max = prise2;}
double Fibowide = (max- min)/Point;
double FoolFibowide = Fibowide*1.618;
double FiboMedianPrise = (min+((max-min)/2));
//---определение нахождения цены внутри Фибо--------------------------+
if ((medianprise < (min-interval))||(medianprise > (max+interval)))
{inside = false;string ins = "Пробой Фибо!!!";}else{inside = true;ins = "Цена внутри Фибо";}//Этот вариант мы пока не рассматриваем

//---поиск положения цены относительно фибо 
if (medianprise >= min)
{
for (int n=0;n<FoolFibowide;n++)
{
double m = (min+(n*Point));
if (medianprise == m)
{
FiboRate=(n/(Fibowide/100));// пол.цены от 0 до 161%Фибо
if (FiboRate != 0){Fibo =FiboRate;}
break;
}
} 
}
if (medianprise < min) //!!!!!!!!!!!!!!Тут пока непонятки разобраться потом почему не получаються отрицательные значения??????
{ 
int _Fibowide=(Fibowide*0.618*(-1));
for (int mx=0;mx>_Fibowide;mx--)
{
double mxx = (min-(mx*Point));
if (medianprise == mxx)
{
FiboRate=(mx/(_Fibowide/100));
if (FiboRate <= 0){Fibo = FiboRate;}
}
}
}
 
int _Fibowide=(Fibowide*0.618*(-1));
Нормализуй _Fibowide до целого.
 

Спасибо выручил! Вот что значит свежий взгляд! какой же он int когда он double в предидущем цикле идет. теперь все стало на свои места!

if (medianprise < min) //отрицательные значения фибо
{ 
double _Fibowide=(Fibowide*0.618);
for (int mx=0;mx<_Fibowide;mx++)
{
double mxx = (min-(mx*Point));
if (medianprise == mxx)
{
FiboRate=(mx/(_Fibowide/100))*(-1);
if (FiboRate <= 0){Fibo = FiboRate;}
}
}
}