Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Valore casuale senza "uccidere" il valore

    Salve a tutti! Per l'esame di maturità ho preparato un simulatore di borsa che permetta quindi di guadagnare con le azioni.
    I campi nel database delle azioni partono da un certo valore iniziale (ad esempio il bitcoin stava a 6600€ circa) e casualmente ogni giorno tramite un file php che apro manualmente e cambia i valori delle azioni aumentando o diminuendone del 10%
    Quindi una azione che vale 100€ aprendo il file assumerà un valore che va da 90 fino a 110!
    Il mio problema è che le azioni tendono ad avere dopo giorni valori sempre piu bassi fino ad essere quasi nulli!
    Sapete darmi qualche consiglio per migliorarlo?

    L'istruzione che genere il valore è questa

    Codice PHP:
    $ValoreF=rand(-10*$ValoreI/100,10*$ValoreI/100); 

    PS. Non riesco a cancellare la discussione per dare un titolo più preciso! Scusate
    Ultima modifica di Auticcat; 21-06-2018 a 17:46

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Ho provato con questo codice, il valore oscilla sempre attorno a quello iniziale

    Codice PHP:
    $ValoreI 100;
    for( 
    $i=0$i<1000$i++ )
    {
        
    $ValoreI $ValoreI rand(-10*$ValoreI/100,10*$ValoreI/100);
        echo 
    $ValoreI "<br>";


    Edit: mi correggo, ho fatto un po' di refresh ed effettivamente spesso tende a valori bassi.
    Ultima modifica di Alhazred; 21-06-2018 a 17:56

  3. #3
    Il problema di quel codice � che comunque facendo cos� il ValoreI (che in questo caso rimane fisso a 100) diventerebbe 98 e il valore comunque darebbe problemi.

    Il funzionamento sarebbe così:
    Codice PHP:
    $ValoreI 100;
    for( 
    $i=0$i<1000$i++ ){
        
    $ValoreF $ValoreI rand(-10*$ValoreI/100,10*$ValoreI/100);
    $ValoreI=$ValoreF;    

    echo 
    $ValoreF "<br>";} 

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Il tuo codice fa la stessa identica cosa del mio, ma con un'istruzione in più: $ValoreI = $ValoreF;

  5. #5
    Sì ma se vedi gli output tendono a scendere e non risalire! è come funziona il mio sito!
    Il valore generato casualmente (ValoreF) va a sostituire il valore che c'è stato per 24 ore (ValoreI)
    Il nuovo ValoreI il giorno dopo sarà sostituito da un'altro ValoreF.
    Il problema è che tendono ad abbassarsi

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Puoi fare una media facendo variare il valore finale di $j.

    Codice PHP:
    <?php
    $ValoreI 
    100;
    for( 
    $i=0$i<1000$i++ ){
     
    $somma 0;
     for (
    $j=1;$j<1000;$j++)
     {
      
    $somma $somma rand(-10*$ValoreI/100,10*$ValoreI/100);
     }
     
    $media   $somma $j;
        
    $ValoreF $ValoreI $media;
     
    $ValoreI=$ValoreF;    
     echo 
    $ValoreF "<br>";
    }
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Puoi fare una media facendo variare il valore finale di $j.

    Codice PHP:
    <?php
    $ValoreI 
    100;
    for( 
    $i=0$i<1000$i++ ){
     
    $somma 0;
     for (
    $j=1;$j<1000;$j++)
     {
      
    $somma $somma rand(-10*$ValoreI/100,10*$ValoreI/100);
     }
     
    $media   $somma $j;
        
    $ValoreF $ValoreI $media;
     
    $ValoreI=$ValoreF;    
     echo 
    $ValoreF "<br>";
    }

    Questo funziona ma il valore oscilla di veramnete poco (dopo 1000 cicli
    All' esame no si vedrebbe una differenza. Poi adesso ho visto un'altro problema, ci sono azioni nel db che valgono 9€. Mi sa che mi conta mettere degli "eventi" che mandano in bancarotta o fanno salire alle stelle il valore di alcune azioni, che dite?

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Il valore 1000 non è inciso nel marmo !
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.