CROSSES UNDER
CROSSES UNDER en ProBuilder devuelve verdadero en el bar en el que una serie pasa de estar por encima a estar por debajo de otra, el disparador estándar de las señales de cruce bajista.
Sintaxis
a CROSSES UNDER bParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
| a | serie numérica | obligatorio | La serie que se comprueba en busca de un cruce a la baja. |
| b | serie numérica o constante | obligatorio | La serie o el nivel fijo que a debe cruzar hacia abajo. |
Fórmula
a CROSSES UNDER b es verdadero cuando ambas condiciones se cumplen en el mismo bar:
a[1] >= b[1] and a < bEn el bar anterior a estaba en o por encima de b, y en el bar actual a es estrictamente inferior a b.
Cómo funciona
CROSSES UNDER compara dos valores en bars consecutivos y devuelve un booleano. La expresión es cierta solo en el único bar en el que la relación pasa de estar por encima a estar por debajo. En bars posteriores en los que a solo permanece por debajo de b, devuelve falso. Por tanto detecta el propio evento de cruce, a diferencia de la comparación de estado a < b, que permanece true mientras la condición se mantenga.
Cualquiera de los dos operandos puede ser una expresión numérica de cualquier tipo: la salida de un indicador, una constante de precio como close, una variable o un número simple. Cruzar niveles fijos es un patrón frecuente, por ejemplo Stochastic[14,3](close) CROSSES UNDER 80.
Como el bar actual participa en la prueba, un cruce a la baja detectado en un bar en vivo puede desaparecer si los precios se recuperan antes de que el bar cierre. Probar valores desplazados, como a[1] CROSSES UNDER b[1], restringe la comprobación a bars completados y produce señales estables un bar más tarde.
Ejemplos
Ejemplo 1, Cruce de EMA a la baja (Indicador)
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"El indicador imprime -1 en el bar siguiente a que la EMA de 20 periodos caiga por debajo de la EMA de 50 periodos, y 0 en caso contrario. Ambos operandos se desplazan un bar para que la comprobación utilice datos cerrados.
Ejemplo 2, Cerrar una posición long (ProOrder)
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
ENDIFCROSSES UNDER actúa como disparador de salida: la posición long abierta con el cruce alcista se cierra en el bar en el que la media rápida vuelve a caer por debajo de la lenta.
Ejemplo 3, Estocástico saliendo de la zona de sobrecompra (ProScreener)
myStoch = Stochastic[14, 3](close)
// Match instruments where %K has just dropped below 80
cond = myStoch CROSSES UNDER 80
SCREENER[cond] (myStoch AS "Stochastic")El screener devuelve los instrumentos cuyo %K estocástico cruzó por debajo del nivel 80 en el bar actual, un patrón de salida por sobrecompra habitual.
Errores y trampas habituales
- Evento de un solo bar, no un estado. La expresión es cierta solo en la bar del cruce. La lógica que necesita "sigue por debajo" debe comprobar
a < bpor separado, o la señal desaparecerá silenciosamente en el siguiente bar. - Inestabilidad del bar en curso. En una bar en formación, el cruce puede activarse y luego desactivarse antes del cierre. Usa
a[1] CROSSES UNDER b[1]cuando solo deben contar los cruces confirmados. - Se requiere desigualdad estricta. Una serie que cae exactamente hasta el nivel de
bsin bajar por debajo de ella no activa la condición, porque la comparación de la bar actual es estricta. - Orden de operandos invertido.
a CROSSES UNDER byb CROSSES UNDER adescriben eventos opuestos. Intercambiar los operandos por accidente invierte la señal sin ninguna advertencia del compilador.
Instrucciones relacionadas
CROSSES OVER, el operador espejo para los cruces al alza.IF, bloque condicional que suele envolver una comprobación de cruce.THEN, obligatorio entre la condición y el cuerpo del bloque.ExponentialAverage, serie EMA que habitualmente se combina en sistemas de cruces.Average, media móvil simple, otra entrada frecuente para cruces.AND, combina el cruce con condiciones de posición o de filtro.NOT, niega un booleano, útil para comprobaciones de posición junto con los cruces.BarsSince, cuenta los bars transcurridos desde que una condición, como un cruce, fue verdadera.