Anomalia su uno snippet

3 risposte

Aschab

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

8 anni fa #114530

Ho creato un controllo Equity esteso, con una serie di registri a scopo di test:

 

public PF() {
      setName("PF");
      
      addDoubleParameter("StartValue", "Start Trading Value", 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("StartValue");
      double stopv = getIntParameterValue("StopValue");
      booleano totrade = false;
      logToFile("test", String.valueOf(startv));
      logToFile("test", String.valueOf(stopv));
        for(int i=0; i<trades.length; i++) {
            se(balanceControlLine[i] >= startv){
               totrade = vero;
            }
            se(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;
            }
        }
    }
 
Testandolo sul mio computer con la versione di prova funziona perfettamente, ma sul computer dei miei clienti i parametri "StopValue" vengono sempre registrati come 0. Abbiamo dovuto trasformarli in una costante all'interno del codice, ma vorrei sapere cosa è successo.

 

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

8 anni fa #134524

Salve, utilizzate le stesse versioni di QA in entrambi i casi?

0

Aschab

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

8 anni fa #134525

Ho ricevuto la prova gratuita, è un problema?

0

Tamas

Cliente, bbp_partecipante, comunità, sq-ultimate, 73 risposte.

Visita il profilo

8 anni fa #134526

Ciao Aschab, 

 

Credo che il problema sia che si definisce un "Valore di stop" come valore doppio

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

 

ma nel codice seguente lo si ottiene come Integer che rimuove la parte decimale del valore

double stopv = getIntParameterValue("StopValue");

 

Cordiali saluti,

Tomas

0

Stai visualizzando 3 risposte - da 1 a 3 (di 3 totali)