Anomalía en un fragmento

3 respuestas

Aschab

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 8 años #114530

He creado un Control de Equidad extendido, con una serie de registros para hacer pruebas:

 

public PF() {
      setName("PF");
      
      addDoubleParameter("ValorInicial", "Valor inicial de negociación", 2d, 0d, 200d, 0.1d);
      addDoubleParameter("StopValue", "Stop Trading Value", 1.5d, 0d, 200d, 0.1d);
      addIntParameter("Period", "Period", 10, 1, Integer.MAX_VALUE, 1);
 
   }
 public void computeNewTradeSizes(Trade[] trades, double[] balanceControlLine) throws Exception {
      double startv = getDoubleParameterValue("ValorInicial");
      double stopv = getIntParameterValue("ValorDeParada");
      boolean totrade = false;
      logToFile("prueba", String.valueOf(startv));
      logToFile("prueba", String.valueOf(stopv));
        for(int i=0; i<trades.length; i++) {
            if(balanceControlLine[i] >= startv){
               totrade = true;
            }
            if(balanceControlLine[i] <= stopv){
               totrade = false;
            }
            logToFile("test", String.valueOf("para " + i + " control line es: " + balanceControlLine[i] + " el valor de to trade es: " + totrade));
            if(balanceControlLine[i] == VALUE_UNDEFINED || totrade == true) {         
            } else {
               trades[i].size = 0f;
            }
        }
    }
 
Probándolo en mi ordenador en la versión de prueba funciona perfectamente, pero en el ordenador de mis clientes los Parámetros "StopValue" siempre se registran como 0. Tuvimos que convertirlo en una constante dentro del código, pero me gustaría saber qué pasó allí.

 

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 8 años #134524

Hola, ¿utilizan las mismas versiones de QA en ambos casos?

0

Aschab

Suscriptor, bbp_participant, comunidad, 3 respuestas.

Visitar el perfil

hace 8 años #134525

Tengo la prueba gratuita, ¿hay algún problema?

0

Tamas

Cliente, bbp_participant, comunidad, sq-ultimate, 73 respuestas.

Visitar el perfil

hace 8 años #134526

Hola Aschab, 

 

Creo que el problema es que se define un "StopValue"como valor doble

addDoubleParameter("StopValue", "Stop Trading Value", 1.5d, 0d, 200d, 0.1d);

 

pero en el código de abajo se obtiene como Integer que elimina la parte decimal del valor

double stopv = getIntParameterValue("ValorDeParada");

 

Saludos cordiales,

Tomas

0

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)