Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Conclusione sorprendente! Cosa ti fa pensare che con qualsiasi cifra, se non hai nemmeno "capito" cos'è una cifra?
Conclusione sorprendente! Cosa ti fa pensare che con qualsiasi cifra, se non hai nemmeno "capito" cos'è una cifra?
Devo dire subito che preferisco non partecipare a queste spiegazioni, perché se non si ha niente da dire nel merito, perché parlare?
Vorrei ringraziare tutti i professionisti per le loro intuizioni!
Irtron, ho scelto la tua variante, mi è piaciuta molto. L'ho corretto un po' per i casi generali e l'ho controllato:
int ComparePrice(double a, double b, double digit)
{
a -= b;
b = cifra;
se (a > b)
ritorno (1);
se (a < -b)
ritorno (-1);
ritorno (0);
}
Grazie.
double digit14=0.00000000000001;
doppia cifra12=0.000000000001;
doppia cifra8=0,00000001;
doppia cifra4=0,0001;
doppia cifra2=0,01;
che determinerà la precisione richiesta.
Per questa funzionalità, funziona molto rapidamente.
Irtron, grazie ancora.
Conclusione sorprendente! Cosa ti fa pensare che con qualsiasi cifra, se non hai nemmeno "capito" cos'è la cifra?
Devo dire subito che preferisco non partecipare a queste spiegazioni, perché se non si ha niente da dire nel merito, perché parlare?
Perché prendersela, ho appena letto quello che hai scritto. La tua comprensione è ovviamente ostacolata dalla "tua palese... (tu nominare la parola)".
VBAG, perché reinventare la ruota quando c'è una funzione NormalizeDouble() che confronta due numeri più velocemente di ComparePrice()?
VBAG, perché reinventare la ruota quando c'è una funzione NormalizeDouble() che confronta due numeri più velocemente di ComparePrice()?
Se puoi suggerire una moto simile o soluzioni alternative migliori, sarei felice di usarle.
Con rispetto,
Vladimir
VBAG, perché reinventare la ruota quando c'è una funzione NormalizeDouble() che confronta due numeri più velocemente di ComparePrice()?
Se puoi suggerire una ruota simile o alternative migliori, sarei felice di usarle.
Con rispetto,
Vladimir
2007.09.12 07:15:09 $CheckCompareDouble USDJPY,M5: CD: 20485, xNormalize: 51265
Conclusione:
La funzione CD confronta due numeri doppi, dà la risposta <, > o = con 14 cifre decimali e funziona 2 volte più velocemente che eseguire semplicemente NormalizeDouble() (anche senza logica per confrontarli).
Molte persone scrivono che per confrontare devono usare la funzione integrata NormalizeDouble(). (questo è quello che raccomandano anche gli sviluppatori).
Pertanto, vorrei prima definire: "cos'è NormalizeDouble()?", cioè come funziona, qual è il suo algoritmo.
Arrotondamento di un numero in virgola mobile ad una precisione specificata.
...
Non so come sia organizzato l'arrotondamento in MQL4 (chiedete agli sviluppatori), ma conosco un metodo standard che arrotonda i numeri in virgola mobile alla precisione specificata:
Qui, una funzione:
Da questa funzione si può vedere che si passa prima da un numero reale a un intero, e poi di nuovo a un numero reale.
Per il confronto, è sufficiente andare a un solo intero.
Pertanto, credo che il modo più veloce e affidabile per confrontare i numeri reali sia quello di convertirli in numeri interi.
Ecco come sarà il confronto:
Tutto questo può essere formattato in una funzione e utilizzato. È una sofferenza scrivere, sembra essere chiaro come fare una funzione!
Penso che questo modo sia più veloce che chiamare NormalizeDouble().
Per essere sicuri, potete anche fare in modo che la funzione MathRound() restituisca un intero, dato che per default restituisce il doppio.
Il modo più semplice per farlo è questo
Allora solo i numeri interi saranno confrontati, e si confrontano bene!
Penso che questo modo sia il più corretto, no?
Quindi penso che il modo più veloce e affidabile sia quello di convertire i numeri reali in interi
Il confronto sarebbe così:
Penso che questo sia il modo giusto per farlo, no?
Tutta la bellezza del codice di Irtron è nella sua compattezza (assolutamente nulla di extra - anche le variabili sono salvate!).
E tu suggerisci di aggiungere altre due operazioni per ogni operazione almeno.
Questo è un vantaggio in termini di velocità!
Non credo. Giudicate voi stessi