CROSSES OVER
CROSSES OVER en ProBuilder devuelve verdadero en el bar en el que una serie pasa de estar por debajo a estar por encima de otra, el disparador estándar de las señales de cruce alcista.
Sintaxis
a CROSSES OVER bParámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
| a | serie numérica | obligatorio | La serie que se comprueba en busca de un cruce al alza. |
| b | serie numérica o constante | obligatorio | La serie o el nivel fijo que a debe cruzar hacia arriba. |
Fórmula
a CROSSES OVER 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 debajo de b, y en el bar actual a es estrictamente superior a b.
Cómo funciona
CROSSES OVER compara dos valores en bars consecutivos y devuelve un booleano. Se activa solo en el único bar en el que la relación pasa de estar por debajo a estar por encima. En cada bar posterior en el que a simplemente permanece por encima de b, la expresión es false. Esto lo convierte en un detector de eventos más que en una comprobación de estado, que es la diferencia clave respecto a escribir a > b.
Ambos operandos pueden ser cualquier expresión numérica: una llamada a un indicador, una constante de precio como close, una variable de usuario o un número fijo. Cruzar un nivel constante es habitual, por ejemplo RSI[14](close) CROSSES OVER 50.
Como la prueba implica el bar actual, una señal evaluada en un bar en vivo y sin terminar puede aparecer y desaparecer a medida que se mueven los precios. Las estrategias que solo deben actuar sobre señales confirmadas suelen evaluar valores desplazados, como a[1] CROSSES OVER b[1], por lo que el cruce se mide sobre barras completadas.
Ejemplos
Ejemplo 1, Señal de cruce de EMA (Indicador)
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"El indicador traza 1 en el bar siguiente a que una EMA de 20 periodos cruce por encima de una EMA de 50 periodos, y 0 en todos los demás. Desplazar ambos operandos un bar significa que la señal se basa únicamente en datos cerrados.
Ejemplo 2, Entrada long en un cruce de medias móviles (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 estrategia compra un contrato en el bar en el que la media rápida cruza por encima de la media lenta, siempre que no haya ya una posición long abierta, y adjunta un stop de 50 puntos.
Ejemplo 3, RSI saliendo de la zona de sobreventa (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")El screener lista los instrumentos cuyo RSI de 14 periodos cruzó por encima del nivel 30 en el bar actual, mostrando el valor del RSI en la columna de resultados.
Errores y trampas habituales
- Confundir un cruce con un estado.
a CROSSES OVER bes cierto durante exactamente una bar. El código que espera que siga siendo cierto mientrasase mantiene por encimabdebe usara > ben su lugar. - Repintado en el bar en curso. Evaluada en la bar en formación, la condición puede alternar a medida que llegan los ticks. Probar
a[1] CROSSES OVER b[1]confirma el cruce en bars cerrados a costa de un bar de retraso. - Toque sin cruce. Si
asube hasta igualar exactamenteby luego retrocede, no se dispara ningún cruce, ya que el valor del bar actual debe ser estrictamente mayor. Las señales que deban incluir los toques necesitan una comparación explícita. - Las series planas nunca se cruzan. Cuando ambos operandos son idénticos o se mueven al unísono, por ejemplo la misma media aplicada a la misma entrada, la expresión nunca devuelve verdadero. Verifica que las dos series sean realmente diferentes.
Instrucciones relacionadas
CROSSES UNDER, el operador espejo para los cruces a la baja.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 utilizada habitualmente en sistemas de cruces.Average, media móvil simple, otra entrada frecuente para cruces.AND, combina un cruce con filtros adicionales.OR, acepta cualquiera de varias condiciones de cruce.BarsSince, cuenta los bars transcurridos desde que una condición, como un cruce, fue verdadera.