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

 
Si vous avez besoin d'une compilation rapide sans perte de performance, vous pouvez utiliser des bibliothèques compilées - #import .ex5
 
Nikolai Semko #:

peut-être alors :

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

Non, ça ne marche pas. ((()

 
Mikola_2 #:

Non, ça ne marche pas. ((()

Il fonctionne de manière très précise. J'utilise ceci. Vous pouvez convertir la valeur en ENUM_DAY_OF_WEEK

 
Alexey Viktorov #:

Il fonctionne de manière très précise. J'utilise ceci. Vous pouvez convertir la valeur en ENUM_DAY_OF_WEEK

Le terme "très précis" n'existe pas. Soit c'est toujours précis, soit ce n'est pas toujours précis. C'est comme un deuxième hareng frais. Sur quelle période l'avez-vous testé ? Je n'ai pas pu le faire.
 
Mikola_2 #:

Non, ça ne marche pas. ((()

Les parenthèses sont manquantes, le reste de la division par 7 est pris dans le nombre converti en type uchar.

 
Mikola_2 #:
Le terme "très précis" n'existe pas. Soit c'est toujours précis, soit ça ne l'est pas. C'est comme un deuxième hareng frais. Sur quelle période l'avez-vous testé? Je n'ai pas pu le faire.

Que voulez-vous dire par "quelle période"? La fonction renvoie simplement le jour de la semaine. Quel est le rapport avec la période ? Mettez n'importe quelle heure et vous obtiendrez le jour de la semaine.

Mettez votre date de naissance et vous obtiendrez le jour de la semaine de votre naissance.

Ou voici le jour de la semaine à l'heure de la bougie


 
Aliaksandr Hryshyn #:

Les parenthèses sont manquantes, le reste lors de la division par 7 est tiré d'un nombre converti en type uchar.

Tout est là. J'ai juste remplacé 24*60*60 à ma convenance.

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

Résultats ci-dessus...

Notez que cela fait longtemps que j'utilise cette formule puisque


 
Alexey Viktorov #:

Tout ce qui se trouve à l'intérieur est suffisant. J'ai simplement remplacé les 24*60*60 à mon goût.

résultats ci-dessus...

Remarquez depuis combien de temps j'utilise cette formule.


Il n'y a pas d'erreur à l'écran ! Regardez bien. J'ai signalé l'erreur.

 
Aliaksandr Hryshyn #:

Les parenthèses sont manquantes, le reste lors de la division par 7 est tiré d'un nombre converti en type uchar.

Oh, c'est vrai ! Maintenant, cela semble être vrai.
 
Aliaksandr Hryshyn #:

Il n'y a pas d'erreur à l'écran ! Regardez bien. J'ai signalé l'erreur.

J'ai aussi montré le code complet de la fonction. Encore une fois :

uchar WhatWeekDay(datetime t)
 {
  return uchar(t/(PeriodSeconds(PERIOD_D1))+4)%7;
 }

Je suis d'accord avec vous. Peut-être que Nikolaï a écrit de mémoire et qu'il a commis une erreur. Mais il n'est pas tout à fait juste de dire que cela ne fonctionne pas.

Raison: