Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 241
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
Vi rifiutate di capire.
Forse lo farei se conoscessi il contesto della situazione. Ma così com'è, sembra giusto.
Finché le due quantità sono uguali, una qualsiasi di esse è un minimo valido. Consideriamo MathMin(1, 1), non fa differenza se la funzione restituisce il primo (1) o il secondo (1).
Quindi, restituire 0,0 non è diverso da -0,0.
Modifica: a proposito, le due espressioni evidenziate NON sono identiche.Credo di essere d'accordo con il collega amrali. Vorrei anche aggiungere che esiste una funzione nativa MathMin(). Anch'essa pensa che gli zeri con segni diversi siano uguali. Per quanto ne so, il suo algoritmo è piuttosto semplice. L'ho duplicato nella mia funzione CustomMathMin().
Lo vediamo nel log:
È facile vedere che da due numeri uguali, l'algoritmo prenderà il secondo numero come valore minimo di...
Vi rifiutate di capire.
non è niente di speciale. Solo -0,0==0,0.
niente di speciale. Solo -0,0==0,0
Conosco bene la domanda, quindi ho scritto entrambe le varianti di MathMin per dimostrare che funzioni matematicamente identiche nei linguaggi di programmazione producono risultati diversi.
Ho un'ottima comprensione della questione, quindi ho scritto entrambe le versioni di MathMin per dimostrare che funzioni matematicamente identiche nei linguaggi di programmazione producono risultati diversi.
Cosa c'è di strano?
Il fatto che nei numeri 0,0 e -0,0 non tutti i 64 bit siano uguali è ovvio:
ma comunque 0,0 == -0,0
I segni < e <= sembrano essere diversi.....
concordare
Cosa c'è di insolito?
Il fatto che nei numeri 0,0 e -0,0 non tutti i 64 bit siano uguali è ovvio:
Si aspetta che MathMin() sia deterministico. Quindi che dia sempre lo stesso risultato quando i due argomenti sono uguali. E non un risultato diverso a seconda che l'argomento sia il primo o il secondo.
fxsaber ha ragione, questo è un problema.
Si aspetta che la funzione MathMin() sia deterministica. Quindi che dia sempre lo stesso risultato quando i due argomenti sono uguali. E non un risultato diverso a seconda che l'argomento sia il primo o il secondo....
Ed è così. Quando due numeri sono uguali, viene restituito il secondo. Ho mostrato sopra un esempio...
e non c'è niente di male in questo.
Si aspetta che la funzione MathMin() sia deterministica. Quindi che dia sempre lo stesso risultato quando i due argomenti sono uguali. E non un risultato diverso a seconda che l'argomento sia il primo o il secondo.
fxsaber ha ragione, questo è un problema.
Ha capito bene il mio punto di vista. Si può incorrere nel problema difficile da trovare di ottenere risultati diversi in un codice di grandi dimensioni. Ecco perché ho informato la comunità in questo thread.