CROSSES OVER
CROSSES OVER en ProBuilder renvoie vrai sur la bar où une série passe de dessous à dessus une autre, le déclencheur standard des signaux de croisement haussiers.
Syntaxe
a CROSSES OVER bParamètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
| a | série numérique | requis | La série testée pour un croisement à la hausse. |
| b | série numérique ou constante | requis | La série ou le niveau fixe que a doit croiser à la hausse. |
Formule
a CROSSES OVER b est vrai lorsque les deux conditions sont vérifiées sur la même bar :
a[1] <= b[1] and a > bSur le bar précédent a était égal ou inférieur à b, et sur le bar actuel a est strictement au-dessus de b.
Comment ça marche
CROSSES OVER compare deux valeurs sur des bars consécutifs et renvoie un booléen. Il ne se déclenche que sur l'unique bar où la relation bascule du dessous vers le dessus. Sur chaque bar suivant où a reste simplement au-dessus de b, l'expression est fausse. Cela en fait un détecteur d'événement plutôt qu'un test d'état, ce qui constitue la différence essentielle par rapport à l'écriture de a > b.
Les deux opérandes peuvent être n'importe quelle expression numérique : un appel d'indicateur, une constante de prix telle que close, une variable utilisateur ou un nombre fixe. Le croisement d'un niveau constant est courant, par exemple RSI[14](close) CROSSES OVER 50.
Comme le test porte sur le bar courant, un signal évalué sur un bar en cours non terminé peut apparaître et disparaître à mesure que les prix bougent. Les stratégies qui ne doivent agir que sur des signaux confirmés testent généralement des valeurs décalées, comme a[1] CROSSES OVER b[1], donc le croisement est mesuré sur des bars clôturés.
Exemples
Exemple 1, Signal de croisement d'EMA (Indicateur)
a = ExponentialAverage[20](close)
b = ExponentialAverage[50](close)
signal = 0
// Test the crossing on completed bars to avoid repainting
IF a[1] CROSSES OVER b[1] THEN
signal = 1
ELSE
signal = 0
ENDIF
RETURN signal AS "Bullish Signal"L'indicateur trace 1 sur la bar qui suit le croisement à la hausse d'une EMA à 20 périodes au-dessus d'une EMA à 50 périodes, et 0 partout ailleurs. Décaler les deux opérandes d'une bar signifie que le signal repose uniquement sur des données clôturées.
Exemple 2, Entrée long sur un croisement de moyennes mobiles (ProOrder)
fast = Average[20](close)
slow = Average[50](close)
// Open a long position on the upward cross
IF fast CROSSES OVER slow AND NOT LONGONMARKET THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP PLOSS 50La stratégie achète un contrat sur la bar où la moyenne rapide croise au-dessus de la moyenne lente, à condition qu'aucune position long ne soit déjà ouverte, et attache un stop de 50 points.
Exemple 3, RSI sortant de la zone de survente (ProScreener)
myRSI = RSI[14](close)
// Match instruments where RSI has just crossed above 30
cond = myRSI CROSSES OVER 30
SCREENER[cond] (myRSI AS "RSI value")Le screener liste les instruments dont le RSI à 14 périodes a croisé au-dessus du niveau 30 sur la bar en cours, en affichant la valeur du RSI dans la colonne des résultats.
Erreurs et pièges courants
- Confondre un croisement avec un état.
a CROSSES OVER best vrai pendant exactement une bar. Un code qui s'attend à ce qu'il reste vrai tant queareste au-dessus debdoit utilisera > bà la place. - Repaint sur la bar en cours. Évaluée sur la bar en formation, la condition peut basculer à mesure que les ticks arrivent. Tester
a[1] CROSSES OVER b[1]confirme le croisement sur des bars clôturés au prix d'un bar de retard. - Toucher sans croiser. Si
amonte jusqu'à égaler exactementbpuis retombe, aucun croisement ne se déclenche, car la valeur du bar actuel doit être strictement supérieure. Les signaux qui doivent inclure les touches exigent une comparaison explicite. - Les séries plates ne se croisent jamais. Lorsque les deux opérandes sont identiques ou évoluent de façon synchrone, par exemple la même moyenne appliquée à la même entrée, l'expression ne renvoie jamais vrai. Vérifiez que les deux séries sont réellement différentes.
Instructions liées
CROSSES UNDER, l'opérateur miroir pour les croisements à la baisse.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 utilisée dans les systèmes de croisement.Average, moyenne mobile simple, une autre entrée fréquente pour les croisements.AND, combine un croisement avec des filtres supplémentaires.OR, accepte l'une quelconque de plusieurs conditions de croisement.BarsSince, compte les bars écoulés depuis qu'une condition telle qu'un croisement était vraie.