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

CurrentMinute

CurrentMinute renvoie la minute de l'horloge au moment de l'exécution, de 0 à 59, identique sur chaque bar du graphique. Utilisez Minute pour lire la minute de clôture de chaque bar.

Syntaxe

probuilder
CurrentMinute

Comment ça marche

CurrentMinute lit l'horloge au moment où le code s'exécute et renvoie la minute dans l'heure courante, de 0 à 59. La référence est le fuseau horaire du marché de l'instrument, qui peut différer de celui de la machine locale. La constante ne prend aucun paramètre ni décalage entre crochets.

La valeur appartient à la famille Current des constantes de date et d'heure, qui décrivent le moment de l'exécution plutôt qu'un bar du graphique. Chaque bar d'un calcul voit donc le même nombre : un indicateur rafraîchi à 14:20 renvoie 20 sur chaque bar historique. L'équivalent par bar est Minute, qui renvoie la minute de la clôture de chaque bar traité et change le long de l'axe du temps. Les filtres de séance appliqués aux données historiques relèvent de Minute ou TIME ; CurrentMinute décrit l'heure courante.

Dans un système ProOrder en réel, CurrentMinute a du sens, puisque le code s'exécute en temps réel à mesure que les bars arrivent. Dans un backtest, il reflète la minute à laquelle le test est exécuté, ce qui le rend inadapté à des conditions d'entrée ou de sortie historiques.

Exemples

Exemple 1, Marqueur de début d'heure (Indicateur)

probuilder
// Set the flag when the script executes in the first minute of an hour
IF (CurrentMinute = 0) THEN
    onTheHour = 1
ELSE
    onTheHour = 0
ENDIF
RETURN onTheHour

L'indicateur trace 1 sur tout le graphique lorsqu'il est recalculé entre la minute 0 et la minute 0 de l'heure courante, et 0 à tout autre moment de l'heure.

Exemple 2, Scan à une minute donnée (ProScreener)

probuilder
// Return matches only during the first half of the current hour
inFirstHalf = CurrentMinute < 30
SCREENER[inFirstHalf AND close > Average[20](close)] (close AS "Close")

Le screener renvoie une liste vide dès que l'horloge dépasse la minute 30, un moyen de garder un scan programmé silencieux pendant la seconde moitié de chaque heure.

Exemple 3, Entrée alignée sur la minute (ProOrder)

probuilder
// Only allow entries near the top of the hour
DEFPARAM CumulateOrders = false
readyToTrade = CurrentMinute <= 5
IF readyToTrade AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

En réel, le système ne prend de signaux que dans les cinq premières minutes de l'heure. Les backtests ne peuvent pas tester cette branche de manière significative, car CurrentMinute contient la minute de l'exécution du test sur chaque bar.

Erreurs et pièges courants

  • Même valeur sur chaque bar. CurrentMinute décrit l'horloge, pas le graphique ; une condition telle que CurrentMinute = 0 est vrai ou faux pour tout le calcul d'un coup. Une logique temporelle bar par bar nécessite Minute ou TIME.
  • Angle mort du backtest. Dans un backtest, CurrentMinute renvoie la minute à laquelle le test s'exécute ; les filtres construits dessus laissent donc tout passer ou bloquent tout, et produisent des résultats qui ne correspondent pas au comportement en réel.
  • Fuseau horaire du marché, pas l'heure locale. La minute est référencée au marché de l'instrument. La lecture de l'horloge ne tient pas compte du décalage local de celui qui consulte le graphique.
  • Pas de décalage entre crochets. CurrentMinute[1] ne compile pas. Seules des constantes par bar telles que Minute[N] acceptent un index.
  • Minute, minute de la clôture de chaque bar, l'équivalent par bar de cette constante.
  • OpenMinute, minute à l'ouverture de chaque bar.
  • CurrentHour, heure de l'horloge au moment de l'exécution.
  • CurrentSecond, seconde de l'horloge au moment de l'exécution.
  • CurrentTime, heure complète de l'horloge à l'exécution sous forme d'entier HHMMSS.
  • CurrentYear, année de l'horloge au moment de l'exécution.
  • TIME, heure de clôture de chaque bar sous forme d'entier HHMMSS.
  • Timestamp, heure UNIX de la clôture de chaque bar.