OpenYear
OpenYear retourne l'année au cours de laquelle la séance de trading du bar courant s'est ouverte, sous forme d'entier à quatre chiffres. Utile pour les filtres annuels dans les scripts ProBuilder.
Syntaxe
OpenYearLe mot-clé ne prend aucun paramètre. Un indice d'historique entre crochets lit les bars antérieures, donc OpenYear[1] donne l'année d'ouverture du bar précédent.
Comment ça marche
Chaque bar enregistre la date et l'heure auxquelles il a commencé à se former. OpenYear extrait la composante année de ce moment d'ouverture et la renvoie sous la forme d'un entier à quatre chiffres. La valeur n'est pas encodée dans un nombre de date plus large, elle peut donc être comparée directement à des littéraux comme 2020 sans aucun décodage.
Le mot-clé appartient à la famille des composants de date basés sur l'ouverture, aux côtés de OpenMonth, OpenDay, et OpenTime, qui décrivent tous le moment où le bar s'est ouvert. L'équivalent basé sur la clôture est Year, qui lit l'année de la date du bar, et CurrentYear, qui lit l'année de l'horloge système plutôt que celle d'un bar.
Les usages typiques incluent la restriction d'un backtest à l'historique récent, la répartition des statistiques par année calendaire et la détection du premier bar d'une nouvelle année en comparant la valeur avec celle du bar précédent.
Exemples
Exemple 1, tracé de l'année d'ouverture de chaque bar (Indicateur)
// Store the year in which the current bar's session opened
yearOpened = OpenYear
RETURN yearOpenedL'indicateur retourne l'année d'ouverture de chaque bar, ce qui rend les changements d'année visibles sous forme de paliers dans la ligne tracée.
Exemple 2, limitation d'une stratégie aux années récentes (ProBacktest)
// Only evaluate entries on bars that opened in 2020 or later
IF OpenYear >= 2020 THEN
IF close CROSSES OVER Average[100](close) THEN
BUY 1 SHARES AT MARKET
ENDIF
ENDIFLe filtre d'année exclut l'historique plus ancien du backtest même lorsqu'une plage de données plus longue est chargée, ce qui garde les résultats centrés sur la période choisie.
Exemple 3, détection du premier bar d'une nouvelle année (ProScreener)
// Match instruments printing their first bar of a new calendar year
newYear = OpenYear > OpenYear[1]
SCREENER[newYear] ("New year")Comparer l'année d'ouverture du bar courant avec celle du bar précédent isole l'unique bar où l'année change.
Erreurs et pièges courants
- Comparer avec des dates complètes. OpenYear renvoie
2023, pas20230101. Le comparer à des littéraux YYYYMMDD donne silencieusement faux. Les comparaisons de date complète relèvent deOpenDateouToday. - Année d'ouverture contre année de clôture. Sur les bars qui chevauchent minuit du 31 décembre, l'année d'ouverture et l'année de clôture diffèrent.
Yearsuit la date du bar tandis qu'OpenYear suit l'ouverture, les deux ne sont donc pas interchangeables au voisinage des changements d'année. - Horloge contre bar.
CurrentYearlit l'horloge de l'ordinateur et donne la même valeur sur chaque bar pendant une exécution. OpenYear varie d'un bar à l'autre. Utiliser CurrentYear dans un filtre historique fait passer ou échouer tout l'historique d'un coup.
Instructions liées
CurrentYear, année de la date courante de l'horloge.Year, année du bar N périodes avant le bar courant.OpenMonth, mois où le bar s'est ouvert.OpenDay, jour du mois où le bar s'est ouvert.OpenDate, date complète d'ouverture du bar au format YYYYMMDD.OpenTime, heure d'ouverture du bar sous forme d'entier HHMMSS.Today, date du bar courant au format YYYYMMDD.