Caractéristiques du langage mql5, subtilités et techniques - page 240

 

La méthode la plus productive et la plus courte pour déterminer le jour de la semaine en fonction de l'heure :

uchar WhatWeekDay(datetime t) {
   return uchar(t/(24*60*60)+3 )%7+1;
}

renvoie une valeur entre 1 et 7

1 - Lundi

...

7 - dimanche

 
Nikolai Semko #:

7 - Dimanche

Il estplus utile lorsque le dimanche est nul.

 
fxsaber #:

Il estplus utile lorsque le dimanche est nul.

peut-être alors :

uchar WhatWeekDay(datetime t) {
   return uchar(t/(24*60*60)+4 )%7;
}
 
Une expression mathématiquement identique (mise en évidence) peut produire des résultats différents dans la pratique.
template <typename T>
T MathMin1( const T Num1, const T Num2 )
{
  return(Num1 < Num2 ? Num1 : Num2);    
}

template <typename T>
T MathMin2( const T Num1, const T Num2 )
{
  return(Num1 <= Num2 ? Num1 : Num2);    
}

void OnStart()
{
  Print(MathMin1(0.0, -0.0)); // -0.0
  Print(MathMin2(0.0, -0.0)); // 0.0
}
 
fxsaber # : Mathématiquement, la même expression (mise en évidence) peut donner des résultats différents dans la pratique.

Tant que les deux montants sont égaux, n'importe lequel d'entre eux est un minimum valide. Prenons l'exemple de MathMin(1, 1), il n'y a pas de différence si la fonction renvoie le premier (1) ou le second (1).

Ainsi, renvoyer 0,0 n'est pas différent de -0,0.

Édition : à propos, les deux expressions mises en évidence ne sont PAS identiques.
 
fxsaber #:
Mathématiquement, la même expression (mise en évidence) peut donner des résultats différents dans la pratique.

Il s'agit d'expressions différentes, donc le résultat est différent. Qu'est-ce qui ne va pas ici ?

Dans le premier cas : 0 < 0 ? Non. Le deuxième argument est retourné.

Dans le second cas : 0 <= 0 ? Oui, le premier argument est renvoyé.

 
Ihor Herasko #:

Il s'agit d'expressions différentes

fxsaber #:
Mathématiquement la même expression
 
fxsaber #:

Les signes < et <= semblent être différents.....

 
Ihor Herasko #:

Les signes < et <= semblent être différents.....

Vous refusez de comprendre.

 
fxsaber #:

Vous refusez de comprendre.

Je ne comprends pas non plus pourquoi les expressions mises en évidence sont mathématiquement les mêmes.