L'arrotondamento può essere errato se il numero da arrotondare è a coda, nel qual caso la normalizzazione deve essere fatta alla precisione richiesta prima di arrotondare
Taras Slobodyanik: L'arrotondamento può essere sbagliato se il numero da arrotondare è a coda, in questo caso si dovrebbe normalizzare alla giusta precisione prima di arrotondare.
Sono sicuro che la normalizzazione è necessaria, chi può dire che non l'abbia fatto :-)
E, naturalmente, i dati erano codificati, quindi Mathfloor stava "andando nella direzione sbagliata".
Ho provato centinaia di varianti del codice, ho gettato una delle varianti qui, ma come si è scoperto, il problema non era nell'arrotondamento - ma nell'output dei dati nella stampa e nel commento.
fxsaber: Normalize è un'operazione costosa e per questo compito NormalizeDouble e MathFloor non sono affatto necessari.
sono necessari, e penso che una raccomandazione per MathFloor e MathCeil dovrebbe essere aggiunta al manuale - "raccomanda di normalizzare i valori prima di eseguire l'arrotondamento".
ps. Anch'io mi sono imbattuto una volta in questa funzione.
sono necessari, e penso che una raccomandazione per MathFloor e MathCeil dovrebbe essere aggiunta al manuale - "raccomanda di normalizzare i valori prima di eseguire l'arrotondamento".
ps. Una volta mi sono imbattuto anch'io in questa funzione.
Mi ci sono imbattuto molto tempo fa.
Ma anche la normalizzazione non dà il risultato che ci si aspetta.
fxsaber: Allora perché funziona senza normalizzazione e MathFloor?
Soddisfa il requisito che se lo spread è dispari allora il prezzo dovrebbe essere più vicino all'offerta? Dopo tutto, ho usato MathFloor proprio per questo.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
L'arrotondamento può essere sbagliato se il numero da arrotondare è a coda, in questo caso si dovrebbe normalizzare alla giusta precisione prima di arrotondare.
Sono sicuro che la normalizzazione è necessaria, chi può dire che non l'abbia fatto :-)
E, naturalmente, i dati erano codificati, quindi Mathfloor stava "andando nella direzione sbagliata".
Sono sicuro che la normalizzazione è necessaria, chi può dire che non l'abbia fatto :-)
E, naturalmente, i dati erano codificati, quindi Mathfloor stava "andando nella direzione sbagliata".
il tuo codice non ha normalizzazione prima dell'arrotondamento)
C'è dappertutto, ma alla fine si arrotonda un numero non normalizzato.
non hai nessuna normalizzazione prima dell'arrotondamento)
C'è dappertutto, ma alla fine stai arrotondando un numero non normalizzato.
Ho provato centinaia di varianti del codice, ho gettato una delle varianti qui, ma come si è scoperto, il problema non era nell'arrotondamento - ma nell'output dei dati nella stampa e nel commento.
È comprensibile che la normalizzazione sia necessaria.
Normalize è un'operazione costosa e per questo compito NormalizeDouble e MathFloor non sono affatto necessari.
sono necessari, e penso che una raccomandazione per MathFloor e MathCeil dovrebbe essere aggiunta al manuale - "raccomanda di normalizzare i valori prima di eseguire l'arrotondamento".
ps. Anch'io mi sono imbattuto una volta in questa funzione.
sono necessari, e penso che una raccomandazione per MathFloor e MathCeil dovrebbe essere aggiunta al manuale - "raccomanda di normalizzare i valori prima di eseguire l'arrotondamento".
ps. Una volta mi sono imbattuto anch'io in questa funzione.
Mi ci sono imbattuto molto tempo fa.
Ma anche la normalizzazione non dà il risultato che ci si aspetta.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Double vs FLOAT - errore MathFloor poco chiaro
fxsaber, 2017.02.26 08:53
int DoubleToInt( const double Num )
{
return((int)(Num + ALPHA));
}
void OnStart()
{
double NewPrice = DoubleToInt((Ask + Bid) / (2 * Point)) * Point;
Print(NewPrice);
}
Allora perché funziona senza normalizzazione e MathFloor?
Dopo tutto, ho usato MathFloor proprio per questo.
Soddisfa il requisito che se lo spread è dispari, il prezzo dovrebbe essere più vicino all'offerta?