TriangularAverage
TriangularAverage i ProBuilder returnerar ett dubbelt utjämnat enkelt glidande medelvärde av priset över N barer, vilket ger en extra jämn trendlinje. Syntax, exempel.
Syntax
TriangularAverage[N](price)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
N | heltal | ingen | Total lookbackperiod. Större värden ger en jämnare, långsammare linje. |
price | priskälla | ingen | Serie att utjämna, vanligtvis close. Varje priskonstant eller egen variabel accepteras. |
Formel
TMA = SMA[m](SMA[m](price))
where m is approximately (N + 1) / 2Utjämningen appliceras i två pass: ett enkelt glidande medelvärde av rådata, sedan ett enkelt glidande medelvärde av det första medelvärdet. Det kombinerade viktningsschemat är triangulärt, barer i mitten av fönstret bär mest vikt och vikterna avtar linjärt mot båda ändarna, vilket är varifrån namnet kommer.
Så fungerar det
Ett enkelt glidande medelvärde viktar varje bar i sitt fönster lika, så ett enda avvikande värde som kommer in i eller lämnar fönstret flyttar linjen märkbart. Det triangulära medelvärdet dämpar denna effekt. Eftersom det andra passet beräknar medelvärdet av det första späds korta spikar ut två gånger, och den resulterande linjen är en av de jämnaste i den klassiska familjen av glidande medelvärden.
Priset för den dubbla utjämningen är eftersläpning. Ett TMA vänder efter att det motsvarande enkla medelvärdet gör det, och långt efter priset självt. Det lämpar sig därför bättre för att beskriva den etablerade trenden än för att tajma entries vid vändningar. På trendande marknader är linjens lutning och vilken sida av linjen priset handlas på de primära avläsningarna.
Perioden N beter sig som hos andra medelvärden: små värden följer priset tätare, stora värden framhäver den längre cykeln. Eftersom den effektiva utjämningen är dubbel känns en TMA med period 20 jämförbar med ett märkbart längre enkelt medelvärde.
Exempel
Exempel 1, Trappstegsformad trendlinje från ett TMA på 50 barer (Indikator)
// Hold the plotted value until the TMA moves at least 1% away from it
once ssMA = close
MA = TriangularAverage[50](close)
if(MA > ssMA + (MA/100)*1) THEN
ssMA = MA
ELSIF (MA < ssMA - (MA/100)*1) THEN
ssMA = MA
ELSE
ssMA = ssMA
ENDIF
RETURN ssMADet triangulära medelvärdet över 50 perioder omvandlas till en trappstegsformad linje som bara uppdateras när TMA avviker mer än 1 procent från det senast lagrade värdet. Små svängningar i medelvärdet ignoreras och grafen byter nivå endast vid betydande rörelser.
Exempel 2, System för korsning mellan pris och TMA (ProOrder)
// Trend following on closes crossing the triangular average
tma = TriangularAverage[50](close)
IF close CROSSES OVER tma THEN
BUY 1 CONTRACT AT MARKET
ELSIF close CROSSES UNDER tma THEN
SELL AT MARKET
ENDIFEftersom TMA är mycket jämnt sker priskorsningar av linjen mer sällan än med ett enkelt medelvärde av samma period, vilket ger färre men längre signaler.
Exempel 3, Skanning av stigande TMA (ProScreener)
tma = TriangularAverage[20](close)
SCREENER[tma > tma[5]] ((tma - tma[5]) AS "TMA slope")Returnerar instrument vars triangulära medelvärde över 20 perioder är högre än det var fem barer tillbaka, rangordnade efter uppgångens storlek, ett enkelt uppåttrendfilter.
Tolkning
Vanliga konventioner för glidande medelvärden gäller. Pris över ett stigande TMA indikerar en uppåttrend, pris under ett fallande TMA en nedåttrend, och ett platt TMA ett intervall. Eftersom linjen är dubbelt utjämnad är dess lutningsförändringar mer sällsynta och mer avsiktliga än hos andra medelvärden, vilket gör TMA populärt som trendfilter: ta long-signaler från ett snabbare verktyg endast när TMA stiger, shorts endast när det faller. Korsningar mellan pris och TMA kommer sent i förhållande till den faktiska vändningen, så de bekräftar vändningar snarare än förutsäger dem.
Vanliga fel och fallgropar
- Fel typ av parentes. Perioden ska stå inom hakparenteser och priset inom parenteser:
TriangularAverage[50](close). Att skrivaTriangularAverage(50, close)är ett syntaxfel. - Att förvänta sig vändningssignaler i rätt tid. Den dubbla utjämningen gör TMA till ett av de mest eftersläpande vanliga medelvärdena. Entries som tas vid TMA-vändningar sker långt efter prisvändningen, vilket särskilt mean reversion-logik bör ta hänsyn till.
- Att underskatta den effektiva perioden. En TMA med period
Njämnar ut ungefär som ett betydligt längre enkelt medelvärde. Att flytta en strategi frånAverage[N]tillTriangularAverage[N]ändrar karaktär, justera om perioden. - Uppvärmningsbarer. Två medelvärdespass kräver ungefär
Nbarer historik innan utdatan stabiliseras. Värden på diagrammets tidigaste barer är opålitliga.
Relaterade instruktioner
Average, enkelt glidande medelvärde, baslinjen med ett enda pass.ExponentialAverage, exponentiellt viktat medelvärde med mindre eftersläpning.WeightedAverage, linjärt viktat medelvärde som gynnar de senaste barerna.TimeSeriesAverage, regressionsbaserat glidande medelvärde.WilderAverage, Wilders utjämning som används inuti RSI och ATR.HullAverage, glidande medelvärde utformat för att minimera eftersläpning.DEMA, dubbelt exponentiellt glidande medelvärde, mindre eftersläpning än ett dubbelt SMA.TEMA, trippelt exponentiellt glidande medelvärde.ZLEMA, zero-lag exponentiellt glidande medelvärde.