Rejoignez-nous
Date et heure/probuilder · probacktest · proorder · proscreener

OpenSecond

OpenSecond retourne la seconde à laquelle le bar courant s'est ouvert, de 0 à 59. Utilisez Second pour la seconde de la clôture du bar et CurrentSecond pour l'heure actuelle.

Syntaxe

probuilder
OpenSecond

Comment ça marche

OpenSecond retourne la seconde dans la minute à laquelle le bar en cours de traitement s'est ouvert, de 0 à 59. Il lit l'horodatage de l'ouverture de chaque bar, il change donc le long de l'axe du temps à mesure que le calcul avance de bar en bar.

OpenSecond est le membre du trio des secondes basé sur l'ouverture. Ses homologues sont Second, qui lit la seconde de la clôture de chaque bar, et CurrentSecond, qui lit la seconde de l'horloge au moment où le code s'exécute et qui est identique sur chaque bar. La valeur n'a vraiment de sens que sur les graphiques en secondes ou en ticks, où les bars peuvent ouvrir sur une seconde non nulle ; sur les unités de temps en minutes et au-delà, les bars ouvrent en général à la seconde 0.

La constante ne prend aucun paramètre ni décalage entre crochets. C'est un outil de précision pour le travail intraday où la seconde exacte d'ouverture d'une bougie compte.

Exemples

Exemple 1, lecture de la seconde d'ouverture (Indicateur)

probuilder
// Report the second at which the current bar opened
mySecond = OpenSecond
RETURN mySecond

L'indicateur trace la seconde d'ouverture de chaque bar. Sur un graphique en minutes, il reste plat à 0 ; sur un graphique en secondes, il parcourt par paliers les secondes d'ouverture des bougies successives.

Exemple 2, recherche des ouvertures à la minute pile (ProScreener)

probuilder
// Match instruments whose latest bar opened exactly on a minute boundary
onMinute = OpenSecond = 0
SCREENER[onMinute AND close > Average[20](close)] (OpenSecond AS "OpenSec")

Le screener retourne les instruments dont le bar le plus récent s'est ouvert à la seconde 0, avec la seconde d'ouverture affichée à côté, utile pour confirmer un alignement propre sur la minute.

Exemple 3, entrée alignée sur la seconde (ProOrder)

probuilder
// Only allow entries on bars that opened in the first half of a minute
DEFPARAM CumulateOrders = false
earlyOpen = OpenSecond < 30
IF earlyOpen AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

Sur un graphique en secondes, la stratégie ne prend des signaux que sur les bars dont l'ouverture tombe dans la première moitié de la minute, un filtre temporel fin pour les idées à haute fréquence.

Erreurs et pièges courants

  • Open, pas close. OpenSecond lit la seconde de l'ouverture du bar. Pour la clôture, utilisez Second. Les deux diffèrent de la durée du bar.
  • Pas l'horloge réelle. OpenSecond est une valeur par barre qui change le long du graphique. Pour la seconde de l'instant où le code s'exécute, utilisez CurrentSecond.
  • Souvent zéro sur les unités de temps supérieures. Sur les bars d'une minute et plus, l'ouverture tombe généralement sur la seconde 0, donc OpenSecond = 0 distingue rarement. Elle n'a d'intérêt que sur des graphiques en secondes ou en tick.
  • Pas de décalage entre crochets. OpenSecond[1] ne compile pas. Pour atteindre la seconde d'un bar antérieur, utilisez Second[N].
  • Second, seconde de la clôture de chaque bar.
  • CurrentSecond, seconde de l'horloge au moment de l'exécution.
  • OpenMinute, minute à l'ouverture de chaque bar.
  • OpenHour, heure à l'ouverture de chaque bar.
  • OpenTime, heure d'ouverture de chaque bar sous forme d'entier HHMMSS.
  • Minute, minute de la clôture de chaque bar.
  • TIME, heure de clôture de chaque bar sous forme d'entier HHMMSS.
  • Timestamp, heure UNIX de la clôture de chaque bar.