Domanda ai maestri di MQL4. Di nuovo a proposito di Double Compare. - pagina 11

 

Non è stato vietato in silenzio. Ma abbastanza apertamente, dopo due avvertimenti. Questo è un forum decente per persone serie. La tua vasta conoscenza non ha valore se non puoi trasmetterla nella tua lingua nativa (si spera non in albanese).

 

Leggi tutto!

Molte volte!

Rami diversi.

Ma non ho ancora visto un riassunto. Mi piacerebbe avere specifiche e chiarezza su questo argomento.

Signori, per favore, se non è una rottura, fate una conclusione finale (su questo) -.

a tutti, utenti, perdenti, manichini, samovar - quando si confrontano numeri di tipo doppio si usa il seguente:

stdlib, bool CompareDoubles(double number1,double number2);

o

se (NormalizeDouble((a-b)>0,Digits)) {...}

o

int ComparePrice(double a, double b)
{
a -= b;
b = Punto / 2;
se (a > b) ritorna (1);
se (a < -b) ritorna (-1);
ritorno (0);
}

o

doppio a;
doppio b;
int factor = MathRound( MathPow(10, digits) ); // digits è la precisione da confrontare
Se confrontiamo i prezzi, questa è la variabile predefinita Digits
...

se (MathRound( (a - b) * fattore ) != 0)
{
... // a != b
}

se (MathRound( (a - b) * fattore ) == 0)
{
... // a == b
}

se (MathRound( (a - b) * fattore ) > 0)
{
... // a > b
}

se (MathRound( (a - b) * fattore ) < 0)
{
... // a < b
}

o

Quando si confrontano numeri di tipo doppio con una precisione fino a 4-5 cifre, non c'è più bisogno di elaborare.

Saluti, Alexander.

Motivazione: