Непонятная ошибка при нормализации

 

Добрый вечер.

Проверьте пожалуйста кто-нибудь на корректность данный код, не получается получить нормализованное значение 2 элемента массива, точнее получить удается но оно некорректное

double NData_0[10];


int init()

{

return(0);

}

int deinit()

{

return(0);

}

int start()

{

for(int i=0;i<10;i++)

{

NData_0[i]=Close[9-i];

}


double MinV=9999;

double MaxV=-9999;

for(int s=0;s<10;s++)

{

if (NData_0[s]>MaxV)

MaxV=NData_0[s];

if (NData_0[s]<MinV)

MinV=NData_0[s];

}

double Norm2=(NData_0[2]-MinV)/(MaxV-MinV);

Print("NData_0[2]n=",Norm2);

return(0);

}



 
__kamil:

Добрый вечер.

Проверьте пожалуйста кто-нибудь на корректность данный код, не получается получить нормализованное значение 2 элемента массива, точнее получить удается но оно некорректное

double NData_0[10];


int init()

{

return(0);

}

int deinit()

{

return(0);

}

int start()

{

for(int i=0;i<10;i++)

{

NData_0[i]=Close[9-i];

}


double MinV=9999;

double MaxV=-9999;

for(int s=0;s<10;s++)

{

if (NData_0[s]>MaxV)

MaxV=NData_0[s];

if (NData_0[s]<MinV)

MinV=NData_0[s];

}

double Norm2=(NData_0[2]-MinV)/(MaxV-MinV);

Print("NData_0[2]n=",Norm2);

return(0);

}





Пользуйтесь SRC для представления кода:

double NData_0[10];




int init()

{

return(0);

}

int deinit()

{

return(0);

}

int start()

{

for(int i=0;i<10;i++)

{

NData_0[i]=Close[9-i];

}




double MinV=9999;

double  MaxV=-9999;

for(int s=0;s<10;s++)

{

        if (NData_0[s]>MaxV)

                MaxV=NData_0[s];

        if (NData_0[s]<MinV)

                MinV=NData_0[s];

}

double Norm2=(NData_0[2]-MinV)/(MaxV-MinV);

Print("NData_0[2]n=",Norm2); 

return(0);

} 




Удачи! ;)

 
double NData_0[10];

int init()
{
   return(0);
}

int deinit()
{
   return(0);
}

int start()
{
   for(int i=0;i<10;i++)
    {
       NData_0[i]=Close[9-i];
    }

   double MinV=NData[ArrayMaximum(NData,WHOLE_ARRAY,0)];
   double MaxV=NData[ArrayMinimum(NData,WHOLE_ARRAY,0)];;

   double Norm2=(NData_0[2]-MinV)/(MaxV-MinV);

   Print("NData_0[2]n=",DoubleToStr(Norm2,8)); 

   return(0);
} 

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