#define VALUES_TOTAL 31 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- declaramos las variables para la transformación double value=0; // número real para la transformación MathCeil int ceil_value=0; // aquí obtenemos el resultado //--- en un ciclo por el número de incrementos decimales de un número real for(int i=0; i<VALUES_TOTAL; i++) { //--- aumentamos el valor del número, //--- obtenemos el valor entero más próximo por arriba //--- y mostramos en el diario de registro los valores de control value+=0.1; ceil_value=(int)MathCeil(NormalizeDouble(value,1)); PrintFormat("value: %.1f, ceil value: %d",value,ceil_value); /* resultado: value: 0.1, ceil value: 1 value: 0.2, ceil value: 1 value: 0.3, ceil value: 1 value: 0.4, ceil value: 1 value: 0.5, ceil value: 1 value: 0.6, ceil value: 1 value: 0.7, ceil value: 1 value: 0.8, ceil value: 1 value: 0.9, ceil value: 1 value: 1.0, ceil value: 1 value: 1.1, ceil value: 2 value: 1.2, ceil value: 2 value: 1.3, ceil value: 2 value: 1.4, ceil value: 2 value: 1.5, ceil value: 2 value: 1.6, ceil value: 2 value: 1.7, ceil value: 2 value: 1.8, ceil value: 2 value: 1.9, ceil value: 2 value: 2.0, ceil value: 2 value: 2.1, ceil value: 3 value: 2.2, ceil value: 3 value: 2.3, ceil value: 3 value: 2.4, ceil value: 3 value: 2.5, ceil value: 3 value: 2.6, ceil value: 3 value: 2.7, ceil value: 3 value: 2.8, ceil value: 3 value: 2.9, ceil value: 3 value: 3.0, ceil value: 3 value: 3.1, ceil value: 4 */ } } |