Astuce "dernier jour du mois" ?
Forums › ProRealTime forum Français › Support ProOrder › Astuce "dernier jour du mois" ?
- This topic has 16 replies, 2 voices, and was last updated 7 years ago by Doctrading.
-
-
03/27/2017 at 3:44 PM #30019
Bonjour à tous,
Je cherche une petite astuce pour indiquer le “dernier jour du mois”.
Par exemple :
IF “dernier jour du mois” THEN…
Une idée ?
Ou pourquoi pas le premier jour du mois aussi…
Merci à tous !
03/27/2017 at 4:32 PM #3002503/27/2017 at 11:25 PM #3006004/13/2017 at 11:00 AM #31920Désolé de vous redéranger.
En fait ce code indique une valeur positive pour indiquer le 1er jour du mois.
Je cherche une astuce pour indiquer la veille.
Par exemple pour backtester une stratégie qui achèterait au dernier jour du mois : comment lui faire comprendre quelque chose du genre :“IF (dernier jour du mois) THEN”
Une idée ?
Merci !04/13/2017 at 11:09 AM #31923PS : en fait, je précise qu’évidemment, je cherche à indiquer le dernier jour de trading du mois !
Si le dernier jour du mois est un dimanche, on indiquera le vendredi, soit 2 jours auparavant
Merci04/13/2017 at 1:01 PM #31936Ce site devrait t’aider à savoir combien de jours comptent chaque mois 🙂
https://jeretiens.net/mois-de-30-jours-mois-de-31-jours/
Ensuite il faut créer des variables en dur pour enregistrer ces informations. Avec un test rapide pour savoir si on est en Avril, alors tu saura qu’il n’y a que 30 jours.
Si le 28 tombe un Vendredi (comme c’est le cas cette année), 28+2=30, oops c’est un Dimanche, THEN prendre les dispositions qui s’imposent.
Sinon, on peut utiliser l’algorithme de Keith (très utilisé en programmation), je viens de coder le snippet pour toi:
12345678910111213//find the day number with a datemyYear=2017myMonth=2myDay=13if myMonth >= 3 thenD = (((23*myMonth)/9) + myDay + 4 + myYear + (myYear/4) - (myYear/100) + (myYear/400) - 2) mod 7elsez = myYear - 1D = (((23*myMonth)/9) + myDay + 4 + myYear + (z/4) - (z/100) + (z/400) ) mod 7endifreturn DD te retournera le jour de la semaine.
04/13/2017 at 1:35 PM #31944Merci Nicolas,
Je me suis longtemps servi de l’astuce avec le dos de la main et ses articulations…
C’est quand même dommage que PRT ne propose pas tout simplement une instruction pour déterminer le dernier jour de l’année…
Je vais étudier le code que tu m’as proposé. Je devrais en tirer une stratégie vraiment profitable (très profitable en manuel en tout cas).
Là où sa se complique, c’est pour les années bissextiles…
J’avais commencé à taper un code recensant tous les derniers jours des mois, éliminer les dimanches, etc. Trop complexe !
Bien à toi,
04/13/2017 at 2:05 PM #31948PS : pour les années bissextiles (AB) :
12345IF (year mod 4) = 0 THENAB = 1ENDIFReturn ABNe fonctionne pas…
Je vais encore me creuser la tête !
A bientôt
04/13/2017 at 2:23 PM #31953Cette fonction Visual Basic devrait t’aider:
123456789101112131415Function IsBisextil(maDate As Date) As Boolean'Fonction de contrôle de la bisextilité d'une année à partir d'une date'Les conditions pour avoir une année bisextile sont les suivantes:' - année divisible par 4 : année bisextile' - exception : année divisible par 100 : année non bisextile' - exception de l'exception : année divisible par 400 : année bisextileIf Year(maDate) Mod 4 = 0 And (Year(maDate) Mod 100 <> 0 Or Year(maDate) Mod 400 = 0) ThenIsBisextil = TrueElseIsBisextil = FalseEnd IfEnd Function04/13/2017 at 2:31 PM #31955Suis-je bête, il fallait rajouter :
IF (year mod 4) = 0 THEN AB = 1
ELSE
AB = 0 ENDIF
Return ABJe vais continuer ma recherche, merci !
04/17/2017 at 6:37 PM #32342PRT me confirme qu’il n’y a pas d’instruction pour cela.
Je me suis arraché les cheveux quelques heures pour mettre au point un code qui fonctionne et qui me donne précisément la date du dernier jour du mois.
Problème : il ne fonctionne pas bien certains mois où il manque des jours de données !Donc à oublier.
J’attendrai patiemment que PRT fournisse cette nouvelle commande : dernier jour du mois.
A bientôt04/18/2017 at 2:00 PM #32470Oui il n’y pas d’instruction, il ne peut pas y en avoir pour chaque calcul mathématique aussi simple, d’ailleurs je ne connais pas d’autres langages te retournant le dernier jour du mois dans une instruction “toute faite”. J’ai pourtant fourni tout ce qu’il fallait pour le trouver ce dernier jour du mois ! 🙂
Donc, si je résume ta demande, tu veux savoir si le jour actuel est le dernier jour du mois ? et si c’est un Dimanche, indiquer le Vendredi ?
04/18/2017 at 6:19 PM #32499Oui, c’est cela.
J’ai essayé avec l’algorithme de Keith, mais pour moi toutes les années séculaires (1900, 2000, 2100) sont des années bissextiles, j’ai donc voulu en modifier la formule.
C’est pas grave, j’essaierai de trouver un autre moyen, ou d’attendre de voir si PRT fait une mise à jour avec cette instruction (ils m’ont dit qu’ils y songeraient).
Merci à toi.04/18/2017 at 8:04 PM #32511Bon j’ai codé une fonction pour retourner le dernier jour de trade valide du mois. Je posterai l’ensemble demain.
Je devrais en tirer une stratégie vraiment profitable (très profitable en manuel en tout cas).
On a hâte ! 🙂
04/18/2017 at 8:06 PM #32515Merci beaucoup.
J’attends ça avec impatience.Je m’arrangerai pour faire un backtest avec un ordre genre “acheter le dernier jour de trading de chaque mois”.
Si c’est profitable, je le posterai dans la “Library”.
Bonne soirée 😉 -
AuthorPosts
Find exclusive trading pro-tools on