Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

Summation

Summation in ProBuilder geeft de som van een prijs of reeks over de laatste N bars, een bouwsteen voor eigen gemiddelden en oscillatoren. Syntaxis, voorbeelden.

Syntaxis

probuilder
summation[N](price)

Parameters

NaamTypeStandaardBeschrijving
Ngeheel getalgeenAantal bars dat in de som wordt opgenomen. Mag de hoeveelheid geladen historie niet overschrijden.
pricereekscloseElk prijstype of numerieke reeks: open, close, high, low, volume, een booleaanse expressie of een eigen variabele.

Formule

code
summation[N](price) = price + price[1] + price[2] + ... + price[N-1]

Een som over een voortschrijdend venster: elke nieuwe bar voegt de nieuwste waarde toe en laat de waarde vallen die buiten het venster valt.

Hoe het werkt

Op elke bar telt ProBuilder de N meest recente waarden van de opgegeven reeks en geeft het totaal terug. Anders dan cumsum, die accumuleert vanaf de eerste geladen bar en nooit vergeet, summation gebruikt een schuivend venster met vaste lengte, dus het resultaat weerspiegelt alleen de recente historie.

De functie accepteert elke numerieke reeks, niet alleen koersen. Daar volgen twee idiomen uit. Ten eerste levert een sommatie delen door haar periode een simple moving average op, wat de functie nuttig maakt wanneer het tussentotaal zelf nodig is. Ten tweede telt het sommeren van een booleaanse expressie het aantal keren dat iets voorkomt, omdat vergelijkingen 1 opleveren bij waar en 0 bij onwaar: summation[20](close > open) geeft hoeveel van de laatste 20 bars hoger sloten.

Volumesommen zijn een derde veelvoorkomend gebruik, voor filters op relatief volume die de activiteit van vandaag vergelijken met het recente totaal of gemiddelde.

Voorbeelden

Voorbeeld 1, Verschil tussen gesommeerde opens en closes (Indicator)

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)

Sommeert de laatste 10 opens en de laatste 10 closes en geeft het absolute verschil, een grove maatstaf voor hoeveel netto intrabar-drift zich over het venster heeft opgebouwd.

Voorbeeld 2, Stijgende bars tellen als instapfilter (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

Gebruikt sommatie over een booleaanse reeks om stijgende closes te tellen: minstens 14 van de laatste 20 bars moeten bullish zijn voor een instap, en de positie sluit wanneer het aantal afneemt.

Voorbeeld 3, Relatieve volumescan (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")

Geeft instrumenten die handelen op meer dan tweemaal hun gemiddelde volume over 20 bars, met de ratio weergegeven in de resultatenkolom.

Interpretatie

Summation is een rekenkundige primitieve en geen signaalgenerator, dus de interpretatie hangt volledig af van wat er wordt gesommeerd:

  • Prijzen. Een voortschrijdende som van prijzen volgt dezelfde vorm als een voortschrijdend gemiddelde geschaald met N; het is vooral nuttig als tussengrootheid.
  • Booleans. De som is een aantal, te lezen als breedte of persistentie: hoeveel van de laatste N bars aan een voorwaarde voldeden.
  • Volume. Voortschrijdende volumetotalen vormen de basis voor maatstaven voor relatief volume en accumulatie.

Veelvoorkomende fouten en valkuilen

  • Venster groter dan de geladen historie. Als N groter is dan het aantal beschikbare bars, wordt het eerste deel van de grafiek of backtest op incomplete data berekend. Houd N ruim binnen de geladen range, of verwerp de eerste bars.
  • Sommatie versus cumsum. summation[N] is een schuivend venster; cumsum accumuleert alles sinds de eerste bar en hangt af van hoeveel historie is geladen. De een voor de ander verwisselen verandert de resultaten stilzwijgend.
  • De offset vergeten bij vergelijkingen. summation[20](volume) bevat de huidige bar. Voor een basislijn die de vormende bar uitsluit, sommeer de verschoven reeks, zoals in summation[20](volume[1]).
  • Precisie bij grote vensters. Grote prijzen over honderden bars sommeren levert grote totalen op; geef bij het weergeven van resultaten de voorkeur aan afgeleide ratio's of gemiddelden boven ruwe sommen om de schalen leesbaar te houden.
  • cumsum, cumulatieve som vanaf de eerste geladen bar.
  • Average, eenvoudig voortschrijdend gemiddelde, gelijk aan een sommatie gedeeld door zijn periode.
  • WeightedAverage, gemiddelde met lineair gewogen termen.
  • Highest, maximale waarde over een venster, nog een voortschrijdende aggregatie.
  • Lowest, minimale waarde over een venster.
  • ABS, absolute waarde, gebruikt bij sommen van grootheden met teken.
  • Momentum, verschil over een venster in plaats van een totaal.
  • OBV, cumulatieve volumebalans, een lopende som met teken.