Únete hoy
Indicadores/probuilder · probacktest · proorder · proscreener

Summation

Summation en ProBuilder devuelve la suma de un precio o una serie en los últimos N bars, un bloque de construcción para medias y osciladores personalizados. Sintaxis, ejemplos.

Sintaxis

probuilder
summation[N](price)

Parámetros

NombreTipoPor defectoDescripción
NenteroningunoNúmero de bars incluidos en la suma. No debe superar la cantidad de historial cargado.
priceseriecloseCualquier tipo de precio o serie numérica: open, close, high, low, volume, una expresión booleana o una variable personalizada.

Fórmula

código
summation[N](price) = price + price[1] + price[2] + ... + price[N-1]

Una suma de ventana móvil: cada nuevo bar añade el valor más reciente y descarta el valor que sale de la ventana.

Cómo funciona

En cada bar, ProBuilder suma los N valores más recientes de la serie dada y devuelve el total. A diferencia de cumsum, que acumula desde la primera bar cargada y nunca olvida, summation usa una ventana deslizante de longitud fija, por lo que el resultado refleja solo el histórico reciente.

La función acepta cualquier serie numérica, no solo precios. De ahí se derivan dos usos habituales. Primero, dividir una suma por su periodo reproduce una media móvil simple, lo que hace útil la función cuando se necesita el total intermedio en sí. Segundo, sumar una expresión booleana cuenta apariciones, porque las comparaciones valen 1 cuando son ciertas y 0 cuando son falsas: summation[20](close > open) devuelve cuántas de las últimas 20 barras cerraron al alza.

Las sumas de volumen son un tercer uso habitual, para filtros de volumen relativo que comparan la actividad de hoy con el total o la media recientes.

Ejemplos

Ejemplo 1, Diferencia entre aperturas y cierres sumados (Indicador)

probuilder
// Total opening and closing prices over the last 10 bars
i1 = summation[10](open)
i2 = summation[10](close)
// Absolute difference between the two totals
RETURN ABS(i1-i2)

Suma las últimas 10 aperturas y los últimos 10 cierres y devuelve la diferencia absoluta, una medida aproximada de cuánta deriva neta intrabar se acumuló a lo largo de la ventana.

Ejemplo 2, Contar bars alcistas como filtro de entrada (ProOrder)

probuilder
// Count bullish bars among the last 20
upBars = summation[20](close > open)

IF NOT OnMarket THEN
  // Require broad participation before joining the move
  IF upBars >= 14 AND close > Average[50](close) THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSIF upBars < 10 THEN
  SELL AT MARKET
ENDIF

Usa una sumatoria sobre una serie booleana para contar cierres al alza: al menos 14 de los últimos 20 bars deben ser alcistas para una entrada, y la posición se cierra cuando el recuento se reduce.

Ejemplo 3, Búsqueda por volumen relativo (ProScreener)

probuilder
// Today's volume versus the average of the prior 20 bars
avgVol = summation[20](volume[1]) / 20
relVol = volume / avgVol
SCREENER[relVol > 2](relVol AS "Rel volume")

Devuelve los instrumentos que cotizan con más del doble de su volumen medio de 20 bars, con el ratio mostrado en la columna de resultados.

Interpretación

Summation es una primitiva de cálculo más que un generador de señales, así que su interpretación depende por completo de lo que se esté sumando:

  • Precios. Una suma móvil de precios sigue la misma forma que una media móvil escalada por N; es útil sobre todo como cantidad intermedia.
  • Booleanos. La suma es un recuento, interpretable como amplitud o persistencia: cuántos de los últimos N bars cumplieron una condición.
  • Volumen. Los totales de volumen móviles sustentan las medidas de volumen relativo y de tipo acumulación.

Errores y trampas habituales

  • Ventana que excede el historial cargado. Si N es mayor que el número de bars disponibles, la parte inicial del gráfico o del backtest se calcula con datos incompletos. Mantén N bien dentro del rango cargado, o descarta las bars iniciales.
  • Summation frente a cumsum. summation[N] es una ventana deslizante; cumsum acumula todo desde el primer bar y depende de cuánto histórico esté cargado. Cambiar uno por otro altera los resultados de forma silenciosa.
  • Olvidar el desplazamiento en las comparaciones. summation[20](volume) incluye el bar actual. Para una línea base que excluya el bar en formación, suma la serie desplazada, como en summation[20](volume[1]).
  • Precisión en ventanas grandes. Sumar precios grandes a lo largo de cientos de bars produce totales muy altos; prefiere ratios o medias derivadas antes que sumas en bruto al mostrar resultados, para mantener las escalas legibles.
  • cumsum, suma acumulada desde el primer bar cargado.
  • Average, media móvil simple, igual a una sumatoria dividida por su periodo.
  • WeightedAverage, media con términos ponderados linealmente.
  • Highest, valor máximo en una ventana, otro agregado móvil.
  • Lowest, valor mínimo en una ventana.
  • ABS, valor absoluto, utilizado con sumas de cantidades con signo.
  • Momentum, diferencia a lo largo de una ventana en lugar de un total.
  • OBV, balance de volumen acumulado, una suma corrida con signo.