Ottenere il numero di posizioni decimali di qualsiasi numero (non solo le virgolette) bypassando Digits() in MQL4 e MQL5 - pagina 12
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
Questa è probabilmente la soluzione migliore
non è corretto confrontare i doppi sull'uguaglianza, inoltre, il compito è quello di essere esatti al segno
Guardate il file stdlib.mq4 in MT4, c'era un esempio di doppio confronto corretto
ConfrontaDoppia()
SZZ: ecco un articolo sull'argomentohttps://www.mql5.com/ru/articles/1561
Mi chiedo come farai a contare i logaritmi, le potenze con numeri non interi, usare la trigonometria, .... utilizzare librerie di terze parti, indicatori... Hanno tutti degli errori!
Se avete bisogno di una precisione super-mega, potete usare librerie esterne speciali come gnu mp
Altrimenti, se avete bisogno di una precisione garantita (quando ad ogni operazione viene calcolato l'errore), dovreste usare ogni sorta di "interval libs".
se anche questo non è sufficiente - si possono usare polinomi al posto delle cifre
ma non ho mai visto casi simili, quando tali circuiti sono effettivamente utilizzati in MT:-)
c'è un doppio per l'occhio :-)
non è corretto confrontare i doppi sull'uguaglianza, inoltre, il compito è quello di essere esatti ad un segno
Guardate il file stdlib.mq4 in MT4, c'era un esempio di doppio confronto corretto
ConfrontaDoppia()
Bene, il tempo di esecuzione con CompareDoubles sale di un fattore 2. Allora è meglio così:
Bene, bene, e il tempo di esecuzione con CompareDoubles sale di un fattore due. È meglio farlo così:
Stiamo parlando di calcolo corretto, non posso controllare il tuo codice ora, ma non è difficile, devi confrontare il tuo esempio con un esempio che usa DoubleToStr() nel ciclo, se non c'è differenza, allora tutto è corretto
ZS: ho provato con fmod() penso di aver postato un esempio, non funziona correttamente, come a 0.07 dovrebbe controllare - subito è spuntato un bug
Stiamo parlando di un calcolo corretto, non posso controllare il tuo codice ora, ma non è difficile, devi confrontare il tuo esempio con quello che usa DoubleToStr() nel ciclo, se non c'è differenza, allora tutto è corretto
Ho già controllato e calcolato la velocità ed è il modo migliore. A meno che non abbiate bisogno di cercare più di 7 caratteri, naturalmente.
S.s. 0,7 e 0,07 e 500000000,0001, ecc. tutti calcolati correttamente.
s.s. Ma per 500000000.9991, gestisce peggio. Ma non ha quasi importanza nella pratica del forex.
Ma nella pratica del forex questo è poco importante.
dipende dal problema. se è per gli ordini commerciali, allora questo problema non ha senso - i prezzi sono normalizzati alle cifre, mentre i lotti sono relativi al lotto minimo
Se il problema riguarda la modellazione matematica, può essere utile.
dipende dal problema, se è per ordini di trading, allora questo compito non ha alcun senso - i prezzi sono normalizzati a cifre, e i lotti sono relativi al lotto minimo
Se il compito è con la modellazione matematica, può essere utile.
Naturalmente, non per scrivere reti neurali =))) e dire, è conveniente memorizzare prezzi/lotti/soldi come un intero a 4 byte con valore decimale, riducendo la dimensione dei dati di 2 volte.
non è corretto confrontare i doppi sull'uguaglianza, inoltre, il compito è quello di essere esatti ad un segno
Guardate il file stdlib.mq4 in MT4, c'era un esempio di doppio confronto corretto
ConfrontaDoppia()
SZZ: qui c'era un articolo sull'argomentohttps://www.mql5.com/ru/articles/1561
Quindi il compito è quello di determinare di quante cifre x è normalizzato. Quindi va bene. A meno che tu non fossi troppo pigro per scrivere una scala del genere.
A meno che tu non fossi troppo pigro per scrivere una scala del genere.
Si può fare senza scala, ma ci vuole il 10% di tempo in più.
Si può fare senza scala, ma ci vuole il 10% di tempo in più.
Questo: f/=0.0000001; è discutibile.