Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

Summation

Summation i ProBuilder returnerar summan av ett pris eller en serie över de senaste N barerna, en byggsten för egna medelvärden och oscillatorer. Syntax, exempel.

Syntax

probuilder
summation[N](price)

Parametrar

NamnTypStandardBeskrivning
NheltalingenAntal barer som ingår i summan. Får inte överstiga mängden inläst historik.
priceseriecloseVilken pristyp eller numerisk serie som helst: open, close, high, low, volume, ett booleskt uttryck eller en egen variabel.

Formel

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

En summa över ett rullande fönster: varje ny bar lägger till det nyaste värdet och släpper det värde som faller ut ur fönstret.

Så fungerar det

På varje bar summerar ProBuilder N senaste värdena i den angivna serien och returnerar summan. Till skillnad från cumsum, som ackumulerar från den första inlästa baren och aldrig glömmer, summation använder ett glidande fönster med fast längd, så resultatet speglar bara den senaste historiken.

Funktionen tar emot vilken numerisk serie som helst, inte bara priser. Två idiom följer av detta. För det första: att dividera en summa med dess period återskapar ett enkelt glidande medelvärde, vilket gör funktionen användbar när själva delsumman behövs. För det andra: att summera ett booleskt uttryck räknar förekomster, eftersom jämförelser utvärderas till 1 när de är sanna och 0 när de är falska: summation[20](close > open) returnerar hur många av de senaste 20 barerna som stängde upp.

Volymsummor är en tredje vanlig användning, för filter med relativ volym som jämför dagens aktivitet mot den senaste totalen eller genomsnittet.

Exempel

Exempel 1, Gap mellan summerade öppningar och stängningar (Indikator)

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)

Summerar de senaste 10 öppningarna och de senaste 10 stängningarna och returnerar den absoluta skillnaden, ett grovt mått på hur mycket netto-drift inom barerna som ackumulerats över fönstret.

Exempel 2, Räkna upp-barer som entryfilter (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

Använder summation över en boolesk serie för att räkna upp-stängningar: minst 14 av de senaste 20 barerna måste vara positiva för en entry, och positionen stängs när antalet avtar.

Exempel 3, Skanning av relativ volym (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")

Returnerar instrument som handlas till mer än dubbla sin 20-bars genomsnittsvolym, med kvoten visad i resultatkolumnen.

Tolkning

Summation är en beräkningsprimitiv snarare än en signalgenerator, så tolkningen beror helt på vad som summeras:

  • Priser. En rullande summa av priser följer samma form som ett glidande medelvärde skalat med N; det är mest användbart som en mellanstorhet.
  • Booleska värden. Summan är ett antal, läsbart som bredd eller uthållighet: hur många av de senaste N barer uppfyllde ett villkor.
  • Volym. Rullande volymtotaler ligger till grund för mått baserade på relativ volym och ackumulation.

Vanliga fel och fallgropar

  • Fönster som överskrider inläst historik. Om N är större än antalet tillgängliga barer beräknas den tidiga delen av diagrammet eller backtestet på ofullständiga data. Håll N väl inom det laddade intervallet, eller förkasta inledande barer.
  • Summation jämfört med cumsum. summation[N] är ett glidande fönster; cumsum ackumulerar allt sedan den första baren och beror på hur mycket historik som är inläst. Att byta den ena mot den andra ändrar resultaten tyst.
  • Att glömma offseten i jämförelser. summation[20](volume) inkluderar den aktuella baren. För en baslinje som utesluter den bar som bildas, summera den förskjutna serien, som i summation[20](volume[1]).
  • Precision vid stora fönster. Att summera stora priser över hundratals barer ger stora totaler; föredra härledda kvoter eller medelvärden framför råa summor när du visar resultat, för att hålla skalorna läsbara.
  • cumsum, kumulativ summa från den första inlästa baren.
  • Average, enkelt glidande medelvärde, lika med en summation dividerad med sin period.
  • WeightedAverage, medelvärde med linjärt viktade termer.
  • Highest, maxvärde över ett fönster, ett annat rullande aggregat.
  • Lowest, minvärde över ett fönster.
  • ABS, absolutvärde, används med summor av storheter med tecken.
  • Momentum, skillnad över ett fönster istället för en total.
  • OBV, kumulativ volymbalans, en löpande summa med tecken.