Bli medlem i dag
Indikatorer/probuilder · probacktest · proorder · proscreener

Summation

Summation i ProBuilder returnerer summen av en pris eller serie over de siste N barene, en byggestein for egendefinerte gjennomsnitt og oscillatorer. Syntaks, eksempler.

Syntaks

probuilder
summation[N](price)

Parametere

NavnTypeStandardBeskrivelse
NheltallingenAntall barer som inngår i summen. Må ikke overstige mengden innlastet historikk.
priceserielukkEnhver pristype eller numerisk serie: open, close, high, low, volume, et boolsk uttrykk, eller en egendefinert variabel.

Formel

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

En rullerende vindussum: hver ny bar legger til den nyeste verdien og fjerner verdien som faller ut av vinduet.

Slik fungerer det

På hver bar summerer ProBuilder N siste verdiene i den oppgitte serien og returnerer summen. I motsetning til cumsum, som akkumulerer fra den første innlastede baren og aldri glemmer, summation bruker et glidende vindu med fast lengde, så resultatet gjenspeiler bare nyere historikk.

Funksjonen tar imot enhver numerisk serie, ikke bare priser. To idiomer følger av dette. For det første gir en summering delt på perioden sin et enkelt glidende gjennomsnitt, noe som gjør funksjonen nyttig når selve delsummen trengs. For det andre teller en summering av et boolsk uttrykk antall forekomster, fordi sammenligninger evalueres til 1 når de er sanne og 0 når de er falske: summation[20](close > open) returnerer hvor mange av de siste 20 barene som lukket opp.

Volumsummer er en tredje vanlig bruk, til filtre for relativt volum som sammenligner dagens aktivitet med den nylige totalen eller gjennomsnittet.

Eksempler

Eksempel 1, Avstand mellom summerte open- og close-priser (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)

Summerer de siste 10 open-prisene og de siste 10 close-prisene og returnerer den absolutte differansen, et grovt mål på hvor mye netto intrabar-drift som samlet seg opp over vinduet.

Eksempel 2, Telle oppbarer som inngangsfilter (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

Bruker summering over en boolsk serie for å telle opplukkinger: minst 14 av de siste 20 barene må være bullish for en inngang, og posisjonen lukkes når tellingen avtar.

Eksempel 3, Skanning av relativt volum (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")

Returnerer instrumenter som handles til mer enn det dobbelte av sitt gjennomsnittlige 20-bars volum, med forholdstallet vist i resultatkolonnen.

Tolkning

Summation er en beregningsprimitiv og ikke en signalgenerator, så tolkningen avhenger helt av hva som summeres:

  • Priser. En rullerende sum av priser følger samme form som et glidende gjennomsnitt skalert med N; den er stort sett nyttig som en mellomstørrelse.
  • Boolske verdier. Summen er en opptelling, lesbar som bredde eller utholdenhet: hvor mange av de siste N barer oppfylte en betingelse.
  • Volum. Rullerende volumtotaler ligger til grunn for mål basert på relativt volum og akkumulering.

Vanlige feil og fallgruver

  • Vindu som overskrider innlastet historikk. Hvis N er større enn antallet tilgjengelige barer, beregnes den tidlige delen av diagrammet eller backtesten på ufullstendige data. Hold N godt innenfor det lastede området, eller forkast de første barene.
  • Summation kontra cumsum. summation[N] er et glidende vindu; cumsum akkumulerer alt siden den første baren og avhenger av hvor mye historikk som er lastet. Å bytte den ene for den andre endrer resultatene stille.
  • Å glemme forskyvningen i sammenligninger. summation[20](volume) inkluderer gjeldende bar. For en basislinje som utelater baren som dannes, summer den forskjøvede serien, som i summation[20](volume[1]).
  • Presisjon ved store vinduer. Å summere store priser over hundrevis av barer gir store totaler; foretrekk utledede forholdstall eller gjennomsnitt framfor rå summer når du viser resultater, for å holde skalaene lesbare.
  • cumsum, kumulativ sum fra den første innlastede baren.
  • Average, enkelt glidende gjennomsnitt, lik en summering delt på perioden.
  • WeightedAverage, gjennomsnitt med lineært vektede ledd.
  • Highest, maksimumsverdi over et vindu, et annet rullerende aggregat.
  • Lowest, minimumsverdi over et vindu.
  • ABS, absoluttverdi, brukes med summer av fortegnsbestemte størrelser.
  • Momentum, differanse over et vindu i stedet for en total.
  • OBV, kumulativ volumbalanse, en fortegnsbestemt løpende sum.