Rejoignez-nous
Instructions/probuilder · probacktest · proorder · proscreener

CROSSES UNDER

CROSSES UNDER en ProBuilder renvoie vrai sur la bar où une série passe de dessus à dessous une autre, le déclencheur standard des signaux de croisement baissiers.

Syntaxe

probuilder
a CROSSES UNDER b

Paramètres

NomTypePar défautDescription
asérie numériquerequisLa série testée pour un croisement à la baisse.
bsérie numérique ou constanterequisLa série ou le niveau fixe que a doit croiser à la baisse.

Formule

a CROSSES UNDER b est vrai lorsque les deux conditions sont vérifiées sur la même bar :

code
a[1] >= b[1]  and  a < b

Sur le bar précédent a était égal ou supérieur à b, et sur le bar actuel a est strictement en dessous de b.

Comment ça marche

CROSSES UNDER compare deux valeurs sur des bars consécutifs et renvoie un booléen. L'expression n'est vraie que sur l'unique bar où la relation bascule du dessus vers le dessous. Sur les bars suivants où a reste simplement en dessous de b, elle renvoie faux. Elle détecte donc l'événement de croisement lui-même, contrairement à la comparaison d'état a < b, qui reste vrai aussi longtemps que la condition est remplie.

Chaque opérande peut être une expression numérique de n'importe quel type : sortie d'indicateur, constante de prix telle que close, une variable ou un simple nombre. Le croisement de niveaux fixes est un schéma fréquent, par exemple Stochastic[14,3](close) CROSSES UNDER 80.

Comme le bar actuel participe au test, un croisement à la baisse détecté sur un bar en cours peut disparaître si les prix se reprennent avant la clôture du bar. Tester des valeurs décalées, comme a[1] CROSSES UNDER b[1], restreint le test aux bars clôturées et produit des signaux stables une bar plus tard.

Exemples

Exemple 1, Croisement d'EMA à la baisse (Indicateur)

probuilder
a = ExponentialAverage[20](close)
b = ExponentialAverage[50](close)
signal = 0
// Evaluate the crossing on completed bars only
IF a[1] CROSSES UNDER b[1] THEN
  signal = -1
ELSE
  signal = 0
ENDIF
RETURN signal AS "Bearish Signal"

L'indicateur affiche -1 sur la bar qui suit le passage de l'EMA à 20 périodes sous l'EMA à 50 périodes, et 0 sinon. Les deux opérandes sont décalées d'une bar afin que le test utilise des données clôturées.

Exemple 2, Fermer une position long (ProOrder)

probuilder
fast = Average[20](close)
slow = Average[50](close)
// Enter on the upward cross, exit on the downward cross
IF fast CROSSES OVER slow AND NOT LONGONMARKET THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF fast CROSSES UNDER slow AND LONGONMARKET THEN
  SELL AT MARKET
ENDIF

CROSSES UNDER sert de déclencheur de sortie : la position long ouverte sur le croisement haussier est fermée sur la bar où la moyenne rapide repasse sous la moyenne lente.

Exemple 3, Stochastique sortant de la zone de surachat (ProScreener)

probuilder
myStoch = Stochastic[14, 3](close)
// Match instruments where %K has just dropped below 80
cond = myStoch CROSSES UNDER 80
SCREENER[cond] (myStoch AS "Stochastic")

Le screener renvoie les instruments dont le %K stochastique a croisé sous le niveau 80 sur la bar en cours, une figure de sortie de surachat courante.

Erreurs et pièges courants

  • Événement d'une seule bar, pas un état. L'expression n'est vraie que sur la bar de croisement. Une logique qui a besoin de « est toujours en dessous » doit tester a < b séparément, sinon le signal disparaîtra silencieusement au bar suivant.
  • Instabilité de la bar en cours. Sur une bar en formation, le croisement peut se déclencher puis se désamorcer avant la clôture. Utilisez a[1] CROSSES UNDER b[1] lorsque seuls les croisements confirmés doivent compter.
  • Inégalité stricte requise. Une série qui descend exactement au niveau de b sans passer en dessous ne déclenche pas la condition, car la comparaison sur la bar courante est stricte.
  • Ordre des opérandes inversé. a CROSSES UNDER b et b CROSSES UNDER a décrivent des événements opposés. Inverser les opérandes par erreur inverse le signal sans aucun avertissement du compilateur.
  • CROSSES OVER, l'opérateur miroir pour les croisements à la hausse.
  • IF, bloc conditionnel qui encadre généralement un test de croisement.
  • THEN, requis entre la condition et le corps du bloc.
  • ExponentialAverage, série EMA couramment associée dans les systèmes de croisement.
  • Average, moyenne mobile simple, une autre entrée fréquente pour les croisements.
  • AND, combine le croisement avec des conditions de position ou de filtre.
  • NOT, nie un booléen, utile pour les vérifications de position en complément des croisements.
  • BarsSince, compte les bars écoulés depuis qu'une condition telle qu'un croisement était vraie.