Summation
Summation in ProBuilder gibt die Summe eines Kurses oder einer Serie über die letzten N Bars zurück, ein Baustein für eigene Durchschnitte und Oszillatoren. Syntax, Beispiele.
Syntax
summation[N](price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
N | Ganzzahl | keine | Anzahl der Bars, die in die Summe einfließen. Darf die Menge der geladenen Historie nicht überschreiten. |
price | Reihe | Schlusskurs | Jeder Kurstyp oder jede numerische Reihe: open, close, high, low, volume, ein boolescher Ausdruck oder eine eigene Variable. |
Formel
summation[N](price) = price + price[1] + price[2] + ... + price[N-1]Eine Summe über ein gleitendes Fenster: Jeder neue Bar fügt den neuesten Wert hinzu und lässt den Wert weg, der aus dem Fenster herausfällt.
So funktioniert es
Auf jedem Bar summiert ProBuilder die N jüngsten Werte der angegebenen Serie und gibt die Summe zurück. Anders als cumsum, der ab dem ersten geladenen Bar akkumuliert und nie vergisst, summation verwendet ein gleitendes Fenster fester Länge, daher spiegelt das Ergebnis nur die jüngste Historie.
Die Funktion akzeptiert jede numerische Serie, nicht nur Kurse. Daraus folgen zwei Muster. Erstens: Teilt man eine Summe durch ihre Periode, ergibt das einen einfachen gleitenden Durchschnitt, was die Funktion nützlich macht, wenn die Zwischensumme selbst gebraucht wird. Zweitens: Die Summe eines booleschen Ausdrucks zählt Vorkommen, denn Vergleiche ergeben 1, wenn sie wahr sind, und 0, wenn sie falsch sind: summation[20](close > open) gibt zurück, wie viele der letzten 20 Bars höher geschlossen haben.
Volumensummen sind eine dritte häufige Anwendung, für Filter für relatives Volumen, die die heutige Aktivität mit der jüngsten Summe oder dem jüngsten Durchschnitt vergleichen.
Beispiele
Beispiel 1, Differenz zwischen summierten Eröffnungs- und Schlusskursen (Indikator)
// 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)Summiert die letzten 10 Eröffnungskurse und die letzten 10 Schlusskurse und gibt die absolute Differenz zurück, ein grobes Maß dafür, wie viel Netto-Intrabar-Drift sich über das Fenster angesammelt hat.
Beispiel 2, Aufwärts-Bars als Einstiegsfilter zählen (ProOrder)
// 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
ENDIFVerwendet die Summation über eine boolesche Serie, um Aufwärtsschlüsse zu zählen: Mindestens 14 der letzten 20 Bars müssen bullisch sein für einen Einstieg, und die Position wird geschlossen, wenn die Zahl nachlässt.
Beispiel 3, Scan für relatives Volumen (ProScreener)
// 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")Gibt Instrumente zurück, die mit mehr als dem Doppelten ihres durchschnittlichen 20-Bar-Volumens gehandelt werden, wobei das Verhältnis in der Ergebnisspalte angezeigt wird.
Interpretation
Summation ist eher ein Rechenprimitiv als ein Signalgeber, daher hängt die Interpretation vollständig davon ab, was summiert wird:
- Kurse. Eine rollierende Summe von Kursen folgt derselben Form wie ein gleitender Durchschnitt, skaliert mit
N; es ist vor allem als Zwischengröße nützlich. - Boolesche Werte. Die Summe ist eine Anzahl, lesbar als Breite oder Beständigkeit: wie viele der letzten
NBars eine Bedingung erfüllten. - Volumen. Gleitende Volumensummen bilden die Grundlage für Kennzahlen zum relativen Volumen und zur Akkumulation.
Häufige Fehler und Stolperfallen
- Fenster überschreitet die geladene Historie. Wenn
Ngrößer ist als die Anzahl der verfügbaren Bars, wird der frühe Teil des Charts oder Backtests auf unvollständigen Daten berechnet. Halten SieNdeutlich innerhalb des geladenen Bereichs, oder verwerfen Sie die ersten Bars. - Summation versus cumsum.
summation[N]ist ein gleitendes Fenster;cumsumakkumuliert alles seit dem ersten Bar und hängt davon ab, wie viel Historie geladen ist. Das eine gegen das andere zu tauschen, verändert die Ergebnisse unbemerkt. - Den Offset in Vergleichen vergessen.
summation[20](volume)schließt den aktuellen Bar ein. Für eine Basislinie, die den sich bildenden Bar ausschließt, summieren Sie die verschobene Reihe, wie insummation[20](volume[1]). - Genauigkeit bei großen Fenstern. Das Summieren großer Kurse über Hunderte von Bars erzeugt große Summen; bevorzugen Sie bei der Anzeige von Ergebnissen abgeleitete Verhältnisse oder Durchschnitte gegenüber rohen Summen, damit die Skalen lesbar bleiben.
Verwandte Befehle
cumsum, kumulative Summe ab dem ersten geladenen Bar.Average, einfacher gleitender Durchschnitt, gleich einer Summation geteilt durch ihre Periode.WeightedAverage, Durchschnitt mit linear gewichteten Termen.Highest, Maximalwert über ein Fenster, ein weiteres gleitendes Aggregat.Lowest, Minimalwert über ein Fenster.ABS, Absolutwert, verwendet bei Summen vorzeichenbehafteter Größen.Momentum, Differenz über ein Fenster statt einer Summe.OBV, kumulative Volumenbilanz, eine vorzeichenbehaftete laufende Summe.