OpenDay
OpenDay renvoie le jour du mois (1 à 31) où le bar courant a ouvert, en ProBuilder. Utile pour une logique liée à des jours calendaires précis chaque mois.
Syntaxe
OpenDayComment ça marche
OpenDay lit l'horodatage d'ouverture du bar courant et renvoie sa composante jour du mois sous forme d'un entier compris entre 1 et 31. Le mot-clé ne prend aucun paramètre et ne nécessite aucune donnée de marché, il travaille uniquement sur la date attachée au bar.
Le mot-clé appartient à la famille Open, qui décrit le moment où une bar a ouvert. Le mot-clé frère simple Day décrit en revanche la date de clôture du bar. Sur les bars intraday et journaliers, les deux coïncident généralement, mais sur les bars hebdomadaires ou mensuels, ou sur tout bar qui franchit minuit, les jours d'ouverture et de clôture peuvent différer.
Comme la valeur est un jour du mois, elle ne dit rien du jour de la semaine. Une condition sur OpenDay = 1 se déclenche le premier jour calendaire présent dans les données, qui peut tomber un jour différent de la semaine chaque mois, et peut être entièrement ignoré lorsque le premier tombe un week-end et qu'aucun bar n'ouvre ce jour-là.
Les applications courantes comprennent les entrées en début de mois, les points d'ancrage de rééquilibrage mensuel et les études de comportement autour de jours calendaires récurrents comme les dates liées aux options.
Exemples
Exemple 1, Détecter un bar ouvrant le premier du mois (Indicateur)
// Check whether the current bar opened on day 1 of the month
iDay = OpenDay
if iDay = 1 then
// code for bars opening on the first calendar day
firstDay = 1
else
firstDay = 0
endif
RETURN firstDayL'indicateur trace 1 pour les bars qui ont ouvert le premier jour d'un mois et 0 sinon, rendant les changements de mois visibles sur le graphique.
Exemple 2, Entrée en début de mois (ProBacktest)
// Buy on the first bar opening in the first three days of each month
startOfMonth = OpenDay <= 3 AND OpenDay[1] > 3
IF startOfMonth AND NOT LONGONMARKET THEN
BUY 1 SHARES AT MARKET
ENDIFComparer la valeur courante et la valeur précédente détecte le passage à un nouveau mois même lorsque le jour 1 tombe un week-end et que le premier bar négocié ouvre le jour 2 ou 3.
Exemple 3, Screener uniquement en début de mois (ProScreener)
// Match strong instruments during the first week of the month
earlyMonth = OpenDay <= 7
strong = close > Average[50](close)
SCREENER[earlyMonth AND strong] (OpenDay AS "Open day")Le screener limite les résultats aux bars ouvrant dans les sept premiers jours calendaires, le jour d'ouverture étant affiché comme colonne de résultat.
Erreurs et pièges courants
- Jour d'ouverture contre jour de clôture. OpenDay désigne la date d'ouverture de la bar. Son pendant
Daysuit la date de clôture et peut différer sur les bars qui chevauchent minuit ou un changement de mois. - Le jour 1 peut ne pas exister dans les données. Lorsque le premier du mois tombe un jour non ouvré, aucune barre n'ouvre le jour 1. Testez une petite plage comme
OpenDay <= 3combiné à un test de transition plutôt qu'à une égalité exacte. - Jour du calendrier, pas jour de la semaine. Les valeurs 1 à 31 indiquent le jour du mois. Pour une logique de jour de semaine comme un filtre lundi, utilisez
OpenDayOfWeek. - Se déclenche sur chaque bar correspondant. Sur les graphiques intraday,
OpenDay = 1est vrai pour toutes les barres qui ouvrent ce jour-là. Combinez avec un test de transition ou une condition horaire pour n'agir qu'une seule fois.
Instructions liées
Day, jour du mois de la date de clôture d'un bar, la forme jumelle d'OpenDay.OpenDate, date d'ouverture complète du bar courant au format YYYYMMDD.OpenDayOfWeek, jour de la semaine où le bar courant a ouvert.OpenMonth, numéro du mois où le bar courant s'est ouvert.OpenYear, année où le bar courant s'est ouvert.CurrentDayOfWeek, jour de la semaine de l'horloge de la machine.Today, date du bar courant au format YYYYMMDD.