Gauss Flytting Gjennomsnittet Afl
Et bibliotek med funksjoner for å filtrere og hente informasjon om priskurver, fra tradisjonell teknisk analyse til mer avansert transformasjon og statistikkfunksjon, flytteverdier, oscillatorer, bånd, momentum, styrkeindekser, lineær regresjon, Hilbert-transformer, Ehlers-indikatorer og spektralanalyse. Indikatorene er oppført i alfabetisk rekkefølge. Tradisjonelle indikatorer bruker TA-Lib-indikatorbiblioteket av Mario Fortier som har etablert seg som standard. Informasjon om bruk, algoritmer og kildekoden til TA-Lib-indikatorene finnes online på kilde er også inkludert i Zorro Kilde-mappen Kildekoden til de fleste andre indikatorer og analysefunksjoner finnes i Zorro inkluderer indikatorer c Spektrale filtre og amplitudefrekvensanalysefunksjoner er oppført i spektralbiblioteket. Klassiske lysemønstre finnes i mønsterbiblioteket. AC vars Data var. Accelerator Oscillator forskjellen på AO-indikatoren se belo w og dens 5-bar enkle glidende gjennomsnitt SMA Trodde å indikere akselerasjon og retardasjon av en markedsdriver, uansett hva det betyr. For Data brukes normalt en MedPrice eller prisserie Kildekode i indikatorer c. Akkumulasjonsfordeling Oscillator Close-Low - High-Close High-Low Ranges fra -1 når nært er lavt av linjen, til 1 når det er høyt Forutsatt å måle tilbud og etterspørsel ved å avgjøre om handelsmenn generelt samler kjøp eller distribusjon av salg. Denne indikatoren ble publisert i mange individuelle varianter til formelen, men ingen av dem virker bedre enn den andre Bruker gjeldende aktivprisserie Kildekode i indikatorer c. ADX int TimePeriod var. Average Retningsbevegelsesindeks Flytende gjennomsnitt av DX-indikatoren se nedenfor Brukes nåværende aktivitetsprisserie Er ikke støtte TimeFrame De returnerte verdiene varierer fra 0 til 100.ADXR int TimePeriod var. Average Directional Movement Index Rating Gjennomsnittet av gjeldende ADX og ADX fra Tim ePeriod bars ago Bruker nåværende aktivitetsprisserie Støtter ikke TimeFrame. Alligator vars Data var. Alligatorindikator Består av tre linjer blå SMA 13 forsinket med 5 barer rød SMA 8 forsinket med 2 barer grønn SMA 5 Indikerer en nedtrendning med linjer i rekkefølge blå-rød-grønn topp til bunn, og en opptrinn med grønn-rød-blå Jo nærmere Alligatorens linjer beveger seg, jo svakere blir trenden og omvendt. Det inneholder ikke ytterligere 3-stangslag av den opprinnelige Alligator-algoritmen, bruk Data 3 for det For Data Normalt brukes den høye lav-gjennomsnittlige MedPrice-serien Resultat i rRed rGreen rBlue Kildekode i indikatorer c. ALMA vars Data, int TimePeriod, int Sigma, var Offset var. ALMA vars Data, int TimePeriod var. Arnaud Legoux Moving Gjennomsnittlig Basert på en Gauss-distribusjon med en forspenning mot begynnelsen av dataserien, dvs. nyere priser Parametre Sigma distribusjonsbredde, standard 6 Forskjell bias faktor, standard 0 85 Kildekode i indikatorer c. AO vars Data var. Awesome oscillator bare forskjellen på en 5-bar og en 34-bar SMA For Data, vanligvis en MedPrice eller prisserie, brukes Kildekode i indikatorer c. APO vars Data, int FastPeriod, int SlowPeriod, int MAType var. Absolute Price Oscillator en mer generell versjon av AO Returnerer forskjellen mellom to bevegelige gjennomsnitt Parametre FastPeriod Antall perioder for den raske MA, SlowPeriod Antall perioder for den langsomme MA, MAType Type Moving Average. Aroon int TimePeriod var. Aroonindikator Består av to linjer Opp og Ned som måler hvor lenge det har vært siden det høyeste høyest laveste lavet har oppstått innen tidsperioden Bruker den nåværende aktivitetsprisserien Støtter ikke TimeFrame Resultat i rAroonDown rAroonUp. AroonOsc int TimePeriod var. Aroon Oscillator Beregnet ved å trekke Aroon Down fra Aroon Opp Avkastningsverdien vil svinge mellom 100 og -100 Brukes nåværende aktivitetsprisserie Støtter ikke TimeFrame. ATR int TimePeriod var. Average True Range Et mål på prisvolatilitet nyttig for å beregne stopptap eller overskuddsmålavstander Formel ATR ATR1 TimePeriod-1 max Høy, Lukk-min Lav, Lukk TimePeriod hvor ATR1 er ATR fra siste linje Bruker nåværende aktivpriser. Funksjonen oppretter internt serie når TimeFrame er 1 og må så kalles i fast rekkefølge i skriptet Se også Volatilitet CVolatilty TrueRange ATRS. ATR vars Open, vars High, vars Low, vars Close, int TimePeriod var. Average True Range fra vilkårlig prisserier, med vilkårlig offset og tidsramme. int TimePeriod var. Simple Gjennomsnittlig True Range SMA av TrueRange over TimePeriod ved hjelp av nåværende aktivitetsprisserie Et mål på prisvolatilitet, enklere å beregne enn ATR, men tilpasser seg langsomt til volatilitetsendringer og dermed mindre egnet for stopptap-resultatmål Brukes av MT4-plattformen i stedet for den virkelige ATR støtter ikke TimeFrame Kildekode i indikatorer c. AvgPrice var. Average Price Bare Åpne Høy Lav Lukk 4 med dagens aktivprisserie. Bånd v ars Data, int TimePeriod, var NbDevUp, var NbDevDn, int MAType. Bollinger Bands består av tre linjer, midterbåndet er et enkelt glidende gjennomsnitt generelt 20 perioder av den typiske prisen TP. De øvre og nedre båndene er n standardavvik generelt 2 over og Under mellombandet Båndene vokser og smalter når volatiliteten til prisen er høyere eller lavere, henholdsvis Bollinger Bands angir når prisen har blitt relativt høy eller lav, som signaliseres gjennom berøring eller mindre penetrasjon av øvre eller nedre linje Resultat i rRealUpperBand rRealMiddleBand rRealLowerBand Parametere NbDevUp Avviksmultiplikator for øvre bånd, NbDevDn Avviksmultiplikator for lavere bånd, MAType Type Moving Average Eksempel i Indikatorstest c. BBOsc vars Data, int TimePeriod, var NbDev, int MAType var. Bollinger Bands Oscillator prosentandelen av nåværende verdi av serien i Bollinger Bands. Beta vars Data, vars Data2, int TimePeriod var. Beta verdi Et mål på en enkelt ekt s priser i forhold til den samlede markedsindeksen Anskaffelseskursen er oppgitt i Data og markedsprisene er oppgitt i Data2 Algoritmen beregner endringen mellom prisene i begge serier og plotter disse endringene som punkter i det euklidiske flyet. X-verdien til et hvilket som helst punkt er data2-endringen i markedet og y-verdien er endring av data-aktiva Betalingsverdien er hellingen til en lineær regresjonslinje gjennom disse punktene. En beta av 1 er enkel linjen yx, slik at aktiva varierer med markedet A beta av mindre enn en betyr at aktiva varierer mindre enn markedet, og en beta på mer enn én betyr at aktivet varierer mer enn markedet. Balanse av kraft ganske enkelt Lukk - Åpne høyt - Lavt Bruk nåværende aktivitetsprisserie. CCI int TimePeriod varmodity Kanalindeksvariasjon av prisen fra det statistiske gjennomsnittet, typisk oscillerer mellom -100 Brukes nåværende aktivitetsprisserie Støtter ikke TimeFrame. CI int TimePeriod var. Choppiness Index måler en enkeltbar volatilitet i forhold til volatilitet i det siste TimePeriod i et 1 100-utvalg Bruker gjeldende aktivprisserie Støtter ikke TimeFrame. ChandelierLong int TimePeriod, var Multiplikator var. ChandelierShort int TimePeriod, var Multiplikator var. Chandelier avslutter den høyeste prisen på TimePeriod minus ATR multiplisert med Multiplikator Normalt brukt som et etterspørselsstopp for å holde handler i en trend og hindre en tidlig utgang så lenge trenden fortsetter Kildekode i indikatorer c Støtter ikke TimeFrame-eksempel i TMF-kapittelet. CGOsc fresh Data, int TimePeriod var. Center of Gravity oscillator, av John Ehlers beregner avviket av prisene fra deres senter innenfor TimePeriod Kan brukes til å identifisere prisvinkelpunkter med nesten nulllag Kildekode i indikatorer c. Chikou int Shift var. Chikou linje som tilhører Ichimoku-indikatoren, ganske enkelt Close-shifted fremover ved Shift valgfri standard 26 Bruker gjeldende aktivprisserie Kildekode i indikatorer c. CMO vars Data, int TimePeriod var. Chande M omentum Oscillator Ligner på RSI, men deler den totale dataflyten av nettbevegelsen opp - ned opp. Korral vars Data var. Coralindikator, bare en T3 med TimePeriod 60 og VolumeFactor 0 4.Korrelasjon vars Data1, vars Data2, int TimePeriod var. Pearson s korrelasjonskoeffisient mellom to dataserier over den angitte TimePeriod i området mellom -1 1 A koeffisient på 1 0, en perfekt positiv korrelasjon, betyr at endringer i Data2 forårsaker identiske endringer i Data1 og endring i indikatoren vil resultere i en identisk endring i aktivprisen En koeffisient på -1 0, en perfekt negativ korrelasjon, betyr at endringer i Data2 forårsaker identiske endringer i Data1, men i motsatt retning En koeffisient på null betyr at det ikke er noen sammenheng mellom de to seriene og at en endring i data2 har ingen effekt på data1 Denne funksjonen kan også brukes til å få autokorrelasjonen til en serie ved å beregne korrelasjonskoeffisienten mellom den opprinnelige serien og den samme serien ies lagged av en eller to streker serie 1 eller serie 2.Covariance vars Data1, vars Data2, int TimePeriod var. Covariance mellom to dataserier Kan brukes til å generere en kovariansmatrise fi for markowitz effektiv grenseberegning. DChannel int TimePeriod. Donchian Kanal minimum og maksimum verdi av prisen Høy og prisLow fungerer over tidsperioden Basis for det berømte Turtle Trading System Bruker gjeldende aktivprisserie Støtter ikke TimeFrame Resultat i rRealUpperBand rRealLowerBand. DCOsc vars Data, int TimePeriod var. Donchian Channel Oscillator the prosent av dagens data verdi i Donchian Channel Bruker gjeldende aktiva og nåværende TimeFrame. Decycle vars Data, int CutOffPeriod var. Ehlers Decycler, en lavforsinkelses trendindikator bare Data - HighPass2 Data, CutOffPeriod Fjerner alle sykluser under CutOffPeriod fra dataene serie og holder trenden Funksjonen skaper internt internt og må derfor kalles i fast rekkefølge i skriptet Kilde torsk e i indikatorer c. DEMA vars Data, int TimePeriod var. Double eksponensiell Moving Average. DPO vars Data, int TimePeriod var. Detrended Price Oscillator antatt å oppdage tidlige endringer i prisretning DPO Data 0 - SMA Data n 2 1, n hvor n er TimePeriod Source-koden i indikatorer c. DX int TimePeriod var. Directional Movement Index av Welles Wilder som forresten oppdaget at samspillet mellom sol, måne og jord er grunnlaget for all markedsbevegelse. Hvis solen, månen , og jorden holder plutselig av med å flytte markedet, har han også oppfunnet noen tradisjonelle indikatorer. DX antas å indikere trendstyrke. Verdiene varierer fra 0 til 100, men sjelden får over 60 DX bruker nåværende aktivitetsprisserie og støtter ikke TimeFrame Formel DX 100 abs PlusDI-MinusDI PlusDI MinusDI For PlusDI og MinusDI se beskrivelsen under. EMA vars Data, int TimePeriod var. EMA vars Data, var alfa var. Exponential Moving Average Fremhever nyere dataverdier Det bruker formelen E MA alpha-data 1-alfa EMA1 hvor alfa er en rekursjonsfaktor mellom 0 1 som beregnes fra 2 0 TimePeriod 1 og EMA1 er den tidligere EMA-verdien. Den mindre alfa, jo høyere er utjevningseffekten av EMA-formelen. Begge EMA-funksjoner bruker litt forskjellige algoritmer Den første som bruker en TimePeriod, lager ikke en serie, er langsommere, og krever en datalengde for TimePeriod UnstablePeriod 1 Den andre bruker alfa, oppretter en intern serie, trenger bare en datalengde på 2 og er mye raskere. Fisher vars Data var. Fisher Transform forvandler en normalisert dataserie til et normalt distribuert område. Returneringsverdien har ingen teoretisk grense, men de fleste verdier er mellom -1 1 Alle dataverdier må ligge i -1 1-området, fi ved normalisering med AGC Normaliser eller cdf-funksjon Minimumsdatalengden er 1 Kilde tilgjengelig i indikatorer c. FisherInv vars Data var. Inverse Fisher Transform komprimerer dataserien til å være mellom -1 og 1 Minimums lengden på dataserien er 1 Source availa ble i indikatorer c. FisherN vars Data, int TimePeriod var. Fisher Transform med normalisering normaliserer Data-serien med den angitte TimePeriod og transformerer den deretter til et normalt distribuert område. Ligner på et Normaliser filter, se nedenfor, men mer selektivt på grunn av normalfordeling av utgangen Returverdien har ingen teoretisk grense, men de fleste verdier er i området -1 5 1 5 Minimumslengden på dataserien er lik TimePeriod Funksjonen skaper internt internt og må derfor kalles i fast rekkefølge i skript Kilde tilgjengelig i indikatorer c. FractalDimension vars Data, int TimePeriod var. Fractal dimensjon av dataserien av John Ehlers normalt 1 2 Mindre verdier betyr mer jaggier Kan brukes til å oppdage dagens markedsregime eller å tilpasse bevegelige gjennomsnitt til svingningene av en prisserie Kilde tilgjengelig i indikatorer c. FractalHigh Fresh Data, int TimePeriod var. Fractal High, en indikator av Bill Williams, antatt å signalere når markedet reverserer har ingenting å gjøre med fraktaler Returnerer den høyeste Data-verdien når den er i midten av TimePeriod ellers 0.FractalLow vars Data, int TimePeriod var. Fractal Low Returnerer laveste dataværdi når den er i midten av TimePeriod ellers 0. Gauss fresh Data, int TimePeriod var. Gauss Filter, returnerer et veid gjennomsnitt av dataene i den angitte tidsperioden, med vektkurven lik Gauss Normal Distribution. Nyttig for å fjerne støy ved å utjevne raske data. Minimums lengden på dataserien er tilsvarer TimePeriod-lagret er halvparten av TimePeriod. HAClose var. Haiken Ashi-prisene, basert på nåværende aktivpriser. Kildekode i indikatorer c Alternativt kan priskurven konverteres til Haiken Ashi-barer ved hjelp av barfunksjonen. HH int TimePeriod, int Offset var. Highest verdi av priceHigh-funksjonen over TimePeriod slutter med Offset standard 0 F jeg HH 3 returnerer den høyeste prisen på de siste 3 barene Bruker den nåværende aktivitetspreeksserien Støtter ikke TimeFra meg for flere tidsrammer, bruk MaxVal High Offset, Periode med en tidssynkronisert høy serie i stedet Se også dayHigh. HMA vars Data, int TimePeriod var. Hull Moving Average av Alan Hull forsøker å adressere lag, samt å glatte ut noen choppiness Formel HMA n WMA 2 WMA n 2 WMA n, sqrt n Funksjonen oppretter internt en serie og må derfor kalles i fast rekkefølge i skriptet Kildekode i indikatorer c. HTDcPeriod vars Data var. Hilbert Transform - dominerende syklusperiode, utviklet av John Ehlers Hilbert transformasjonsalgoritmer er forklart i Ehler s bok Rocket Science for Traders se bokliste Denne funksjonen er ekvivalent, men mindre nøyaktig enn DominantPeriod-funksjonen. HTDcPhase vars Data var. Hilbert Transform - dominerende syklusfase. HTPhasor vars Data var. Hilbert Transform - Phasor Components Resultat i rInPhase rQuadrature. HTSine vars Data var. Hilbert Transform - SineWave Resultat i rSine rLeadSine. HTTrendline vars Data var. Hilbert Transform - Instantaneous Trendline. HTTr endMode vars Data int. Hilbert Transform trendindikator - returnerer 1 for Trend Mode, 0 for Cycle Mode. Hurst vars Data, int TimePeriod var. Hurst eksponent for dataserien mellom 0 1 Hurst-eksponenten måler minnet til en serie Det kvantifiserer autokorrelasjon, dvs. tendensen til å gå tilbake til gjennomsnittlig Hurst 0 5 eller fortsette trending i retning Hurst 0 5 På denne måten kan Hurst-eksponenten oppdage om markedet er i trendingstilstand. TimePeriod-vinduet minimum 20 må ha tilstrekkelig lengde for å fange den langsiktige trenden Funksjonen internt skaper en serie og må derfor kalles i fast rekkefølge i skriptet Kilde tilgjengelig i indikatorer c. Ichimoku int PeriodTenkan, int PeriodKijun, int PeriodSenkou, int Offset. Ichimoku Kinko Hyo-indikator Oppfunnet av journalisten Goichi Hosoda i 1930 En blanding av medieprisene på 3 tidsperioder antatt å gi dypt innblikk i markedstrender på grunn av sitt enorme antall fargerike linjer. Offset standard 0 bestemmer stangen for c alculating indikatoren Returnerer 4 variabler. En annen linje som tilhører Ichimoku, Chikou-linjen, er fremtidig peeking og beregnes separat. Brukes nåværende aktivitetsprisserie Funksjonen oppretter internt serie når TimeFrame er 1 og må da kalles i fast rekkefølge i skript Kildekode i indikatorer c. Intern Bar Styrke ganske enkelt Lukk - Lav Høy - Lav Bruk nåværende aktivitetsprisserie. KAMA vars Data, int TimePeriod var. Kaufman Adaptive Moving Average Et eksponentielt glidende gjennomsnitt justert av prisvolatilitet, så tidsperioden blir kortere når volatiliteten er høy. Keltner vars Data, int TimePeriod, var Factor var. Keltner Channel, av Charles Keltner Et enkelt bevegelig gjennomsnitt - SMA Data, TimePeriod - med sidebånd i avstanden Faktor ATRS TimePeriod Resultater i rRealUpperBand rRealMiddleBand rRealLowerBand Kildekode i indikatorer c. Laguerre vars Data, var alpha var.4-element Laguerre filter Brukes til utjevning av data som ligner en EMA, men med mindre lag og en wi de-tuningsområdet gitt av utjevningsfaktoren alfa 0 1 Lavfrekvenskomponentene forsinkes mye mer enn høyfrekvente komponentene, noe som muliggjør meget glatte filtre med bare en liten mengde data Minimumslengden på dataserien er 1, den minste tilbakekallingen periode er 4 Funksjonen internt skaper serie og må derfor kalles i fast rekkefølge i skriptet Kilde tilgjengelig i indikatorer c. LinearReg vars Data, int TimePeriod var. Linær regresjon, også kjent som minst squares metode eller best egnet Linjære regresjonsforsøk for å passe en rett trendlinje mellom flere datapunkter på en slik måte at avstanden mellom hvert datapunkt og trendlinjen blir minimert. For hvert punkt bestemmes den rette linjen over den angitte tidligere barperioden i forhold til ybmx. LinearReg-funksjonen returnerer bm TimePeriod -1 For høyere ordreregresjon, bruk polyfitpolynomfunksjonene For logistisk regresjon med flere variabler, bruk råd PERCEPTRON-funksjonen. Linje arRegAngle vars Data, int TimePeriod var. Linear Regression Angle Returns m omregnet til grader På grunn av de forskjellige x og y-enhetene i et prisdiagram, er vinkelen normalt lite brukt, bortsett fra kanskje for Gann-følgere. LinjeRegIntercept vars Data, int TimePeriod var. Linear Regression Intercept Returns b. LinearRegSlope vars Data, int TimePeriod var. Linear Regression Slope Returns m som prisforskjell per bar. LL int TimePeriod, int Offset var. Låste verdi av priceLow-funksjonen over TimePeriod slutter med Offset standard 0 F i LL 3,10 returnerer laveste pris mellom de siste 10 og de siste 13 linjene Bruker gjeldende aktivprisserie Støtter ikke TimeFrame for flere tidsrammer, bruk MinVal Low Offset, Periode med en tidssynkronisert Lav serie i stedet Se også dayLow. MACD vars Data, int FastPeriod, int SlowPeriod, int SignalPeriod. Moving Gjennomsnittlig konvergensdivergens MACD er en mellomtids trendindikator, opprettet ved å subtrahere en 26-periode eksponentiell Moving Ave raser EMA se ovenfor fra en 12-årig EMA En 9-årig EMA blir deretter påført MACD-resultatet for å skape en signallinje. En MACD-histogramlinje er endelig opprettet fra forskjellen mellom MACD og signallinjen. Det antas at null krysset av histogrammet underfra er et kjøpesignal, null kryssing fra over et selgesignal Formelen er. rMACD EMA Data, FastPeriod - EMA Data, SlowPeriod rMACDSignal EMA rMACD, SignalPeriod rMACDHist rMACD - rMACDSignal. Results i rMACD rMACDSignal rMACDHist Returnerer rMACD Parametre FastPeriod tidsperiode for den raske MA, SlowPeriod tidsperioden for den langsomme MA, SignalPeriod tidsperioden for utjevning av signallinjen. MACDExt vars Data, int FastPeriod, int FastMAType, int SlowPeriod, int SlowMAType, int SignalPeriod, int SignalMAType. MACD med kontrollerbar MA type Resultat i rMACD rMACDSignal rMACDHist Parametere FastPeriod tidsperiode for den raske MA, FastMAType Type Moving Gjennomsnitt for rask MA, SlowPeriod tidsperiode for den langsomme MA, SlowMAType Type Moving Gjennomsnitt for langsom MA, SignalPeriod tidsperiode for utjevning av signallinjen, SignalMAType Type Moving Gjennomsnitt for signallinjen. MACDFix vars Data, int SignalPeriod. Moving Gjennomsnittlig konvergensdivergensfiksering 12 26 Resultat i rMACD rMACDSignal rMACDHist Parameter SignalPeriod tidsperiode for utjevning av signallinjen. MAMA vars Data, var FastLimit, var SlowLimit. MESA Adaptive Moving Average, utviklet av John Ehlers se linker Resultat i rMAMA rFAMA Parametre FastLimit Øvre grense bruk i adaptiv algoritmen, SlowLimit Nedre grense bruk i adaptiv algoritmen. MaxVal vars Data, int TimePeriod var. Highest verdi over en spesifisert periode. MaxIndex vars Data, int TimePeriod int. Index av høyeste verdi over en spesifisert periode 0 høyeste verdi er på nåværende linje, 1 på en linje siden og så videre. Median vars Data, int TimePeriod var. Median Filter sorterer elementene i dataserien og returnerer mellomverdien innenfor den angitte tidsperioden. Nyttig for å fjerne støypistene ved eliminat gi ekstreme verdier Minste lengde på dataserien er lik TimePeriod lagret er halvparten av TimePeriod Se også Percentile. MedPrice var. Center-pris bare midtpunktet High Low 2 av dagens lys For den gjennomsnittlige prisen - gjennomsnittet av all pris ticks of the candle - bruk price. MidPoint fresh Data, int TimePeriod var. MidPoint over periode Bare høyeste verdi laveste verdi 2.MidPrice int TimePeriod var. Midpoint pris over periode Bare høyest høyest lavest lav 2 av dagens aktivprisserie Støtter ikke TimeFrame. MinusDI int TimePeriod var. MinusDI vars Open, vars High, vars Low, vars Close, int TimePeriod var. Minus Directional Indicator, en del av DX-indikatoren Hvis funksjonen ikke kalles med forskjellige prisserier, er brukt. MinusDM int TimePeriod var. MinusDM vars Open, vars High, vars Low, vars Close, int TimePeriod var. Minus Retningsbevegelse, to versjoner Hvis funksjonen ikke kalles med forskjellige prisserier, er strømmen a sset prisserie er brukt. MinVal vars Data, int TimePeriod var. Låst verdi over en spesifisert periode. MinIndex vars Data, int TimePeriod int. Index med laveste verdi over en spesifisert periode 0 laveste verdi er på nåværende linje, 1 på en linje siden og så videre. MinMax vars Data, int TimePeriod var. Låste og høyeste verdier og deres indekser over en angitt periode Resultat i rMin rMax rMinIdx rMaxIdx. MinMaxIndex vars Data, int TimePeriod int. Indexes av laveste og høyeste verdier over en angitt periode Resultat Resultat i rMinIdx rMaxIdx 0 nåværende linje, en for en gang siden, og så videre. MMI vars Data, int TimePeriod var. Market Meanness Index ved Financial Hacker Måler markedets svakhet, det vil si dens tilbakevendende tendens i et 0 100-utvalg Tilfeldige tall ha en MMI på 75 reelle priser er mer eller mindre autokorrelert, så sannsynligheten for en reell prisserie å gå tilbake til gjennomsnittet er mindre enn 75, men normalt mer enn 50. Jo høyere det er, er det som er markedet Market Meanness Index kan bestemme når trend for llowing systemer vil bli mer lønnsomme MMI faller eller mindre lønnsomme MMI stiger og dermed forhindre tap i ulønnsomme perioder Kildekode i indikatorer c. Mom vars Data, int TimePeriod var. Momentum Simply Data 0 - Data TimePeriod Se også diff. Moment vars Data, int TimePeriod, int N var. Det statistiske øyeblikket N 1 4 i dataserie-delen gitt av TimePeriod Det første øyeblikket er middelet, det andre er variansen, tredje er skjevhet og fjerde kurtosis Kilde tilgjengelig i indikatorer c. MovingAverage vars Data, int TimePeriod, int MAType var. Moving gjennomsnittlig Parameter MAType Type Moving Gjennomsnitt, se kommentarer. MovingAverageVariablePeriod vars Data, vars Perioder, int MinPeriod, int MaxPeriod, int MAType var. Moving gjennomsnitt med variabel periode gitt av periodene serien Parametre MinPeriod Verdi mindre enn minimum vil bli endret til Minimum periode, MaxPeriod Verdi høyere enn maksimum vil bli endret til Maksimal periode, MAType Type Flytende Gjennomsnitt, se merknader. NATR int TimePeriod var. Normalisert Gjennomsnittlig True Range, av John Forman I likhet med ATR, bortsett fra at det blir normalisert som følger NATR 100 ATR TimePeriod Close Bruker gjeldende aktivprisserie Støtter ikke TimeFrame. Normalize vars Data, int TimePeriod var. Transformerer Datarier til -1 1-området innenfor den angitte TimePeriod I likhet med AGC-funksjonen, men skiller ikke mellom angrep og henfall Minimums lengden på dataserien er lik TimePeriod Source tilgjengelig i indikatorer c Se også skala. NumInRange vars Lav, Var Høy, Var Min, Var Maks, Int Lengde var. Antall dataområder, gitt av deres lave og høye verdier, som ligger helt innenfor intervallet fra Min til Maks innenfor den angitte lengden. Kan brukes til å beregne fordelingen av priser eller stearinlys Lav og Høy kan settes til samme verdi for å telle alle verdier i intervallet, eller byttes for å telle alle lys som berører intervallet Strekningskilde tilgjengelig i indikatorer c. NumRiseFall vars Data, int T imePeriod var. Lengde av den nåværende sekvensen av stigende eller fallende verdier i Data-arrayet, tilbake til den angitte TimePeriod For en stigende sekvens, returneres lengden, for en fallende sekvens den negative lengden Range and -1-TimePeriod Kilde tilgjengelig i indikatorer c Se RandomWalk-skriptet og kapitlet Strategi for et eksempel Kilde tilgjengelig i indikatorer c. NumWhiteBlack var Kropp, int Offset, int TimePeriod var. Number av hvite minus svarte lys i den angitte TimePeriod Offset er avstanden til gjeldende bar 0 nåværende bar, Kropp er den minste lengden på et stearinlys som skal telles Kilde tilgjengelig i indikatorer c. Percentile vars Data, int Lengde, var Prosent var. Returerer den oppgitte prosentilen av dataserien med gitt lengde fi prosent 95 returnerer dataverdien som ligger over 95 av alle andre verdier Prosent 50 returnerer medianen i dataserien For å beregne prosentandelen av en gitt prosentil verdi, bruk NumInRange-funksjonen og telle elementene under percentilen. PlusDI int TimePeriod varPlusDI vars Open, vars High, vars Low, vars Close, int TimePeriod var. Plus Directional Indicator, en del av DX-indikatoren, to versjoner I den første versjonen brukes nåværende aktivitetsprisserie. PlusDM int TimePeriod var. PlusDM vars Open, vars High, vars Low, vars Close, int TimePeriod var. Plus Retningsbevegelse, to versjoner I den første versjonen brukes nåværende aktivprisserie. PPO vars Data, int FastPeriod, int SlowPeriod, int MAType var. Percentage Pris Oscillator Parametre FastPeriod Antall perioder for den raske MA, SlowPeriod Antall perioder for den langsomme MA, MAType Type Moving Average. ProfitFactor vars Data, Int Lengde var. Returerer fortjenestefaktoren i dataserien. Profittfaktoren er forholdet mellom summen av positiv avkastning dvs. Data i-1 Data jeg til summen av negative avkastninger dvs. Data i-1 Data i Den returnerte verdien er klippet til 0 1 10-området. Den gjensidige må brukes når data-arrayet ikke er i i serie rekkefølge, men i kronologisk gisk rekkefølge, da gevinster og tap blir byttet Kilde tilgjengelig i indikatorer c. ROC vars Data, int TimePeriod var. Rate of change, 100 skala pris prevPrice prevPrice 100.ROCP vars Data, int TimePeriod var. Rate of change Prosent pris - prevPrice prevPrice Se også diff. ROCR vars Data, int TimePeriod var. Rate of change ratio pris prevPrice. ROCL vars Data, int TimePeriod var. Logaritmisk returlogg pris prevPrice. ROCR100 vars Data, int TimePeriod var. Rate of change ratio, 100 skala pris prevPrice 100.Roof vars Data, int CutoffLow, int CutoffHigh var. Ehler s takfilter, forbereder Data-serien for videre beregning ved å fjerne trend og støy. Bruker et 2-polet høypassfilter etterfulgt av Glattfilter Anbefalte verdier for lav og høye avskjæringsperioder er 10 og 50 Minste lengde på dataserien er 2 Funksjonen internt skaper serie og må derfor kalles i fast rekkefølge i skriptet Kilde tilgjengelig i indikatorer c. RSI vars Data, int TimePeriod var. Rela tivstyrkeindeksen ved Welles Wilder-forholdet for den siste oppadgående datahøyrelsen til det totale datarbevegelsesområdet 0 100 RSI antas å indikere overkjøpte oversoldforhold når verdien er over 70 under 30 Formel RSI 100 Up Up Dn hvor opp EMA max 0 , Data 0-Data 1, TimePeriod og Dn EMA max 0, Data 1 - Data 0, TimePeriod. RVI int TimePeriod var. Relativ Vigor Index, av John Ehlers Forhold til prisendring til totalprisintervallet CO HL i gjennomsnitt over tidsperioden og glattet med et FIR-filter Oscillaterer mellom -1 og 1 Funksjonen oppretter internt en serie og må derfor kalles i fast rekkefølge i skriptet Kildekode i indikatorer c. SAR var Steg, var Min, var Max var. Parabolisk SAR, av Welles Wilder SAR kjører over eller under priskurven, avhengig av den nåværende trenden, antas hver priskurvekryssing indikere en trendendring Parametre Steg akselerasjonsfaktor økning, normalt 0 02, Min akselerasjonsfaktor minimumsverdi, normalt 0 02, Max akselerasjons - på faktor maksimal verdi, normalt 0 2 SAR er en rekursiv funksjon som avhenger av retningen til det opprinnelige prislyset for konsistente verdier, LookBack-perioden bør være lang nok til å inneholde minst én priskurvekryssing. Brukes nåværende aktivpriser. Funksjonen internt skaper en serie og dermed må kalles i fast rekkefølge i skriptet Kildekode i indikatorer c Eksempel i Indikatorstasjon c. ShannonGain vars Data, int TimePeriod var. Eksempel på logaritmisk gevinst på data-serien i området på ca. -0 0005 Gevinsten rate er avledet fra Shannon sannsynligheten P 1 Mean Gain RootMeanSquare Gain 2 som er sannsynligheten for en oppgang eller høst av en høy entropi data serie i neste bar periode En positiv gevinstrate indikerer at serien er mer sannsynlig å stige, en negativ gevinstfrekvens indikerer at det er mer sannsynlig å falle nullovergangen kan brukes til et handelssignalalgoritme av John Conover Kilde tilgjengelig i indikatorer c. ShannonEntropy vars Data, int Lengt h, int PatternSize var. Entropi av mønstre i dataserien, i bit kan brukes til å bestemme tilfeldigheten av dataene PatternSize 2 8 bestemmer partisjoneringen av dataene i mønstre på opptil 8 bit Hver datavaluta er enten høyere enn den forrige verdi, eller det er ikke dette er en binær informasjon og utgjør en bit av mønsteret. Jo mer tilfeldig mønstrene blir fordelt, jo høyere er Shannon-entropien. Helt tilfeldige data har en Shannon-entropi som er identisk med mønsterstørrelsesalgoritmen som er forklart i Financial Hacker blogg kilde tilgjengelig i indikatorer c. SIROC vars Data, int TimePeriod, int EMAPeriod var. Smoothed Endringshastighet S-RoC av Fred G Schutzman Avviker fra ROC se ovenfor ved at den er basert på det eksponentielle glidende gjennomsnittet EMA av dataene series Believed to indicate the strength of a trend by determining if the trend is accelerating or decelerating Formula Current EMA - Previous EMA Previous EMA x 100 Source code in indicators c. SMA vars Data, int TimeP eriod var. Simple Moving Average the mean of the data, i e the sum divided by the time period Use Moment when long time periods are required. Smooth vars Data, int CutoffPeriod var. Ehler s super-smoothing filter, a 2-pole Butterworth filter combined with a SMA that suppresses the Nyquist frequency Can be used as a low-lag universal filter for removing noise from price data The minimum length of the Data series is 2 The function internally creates series and thus must be called in a fixed order in the script Source available in indicators c. SMom vars Data, int TimePeriod, int CutoffPeriod var. Smoothed Momentum by John Ehlers indicates the long term trend direction TimePeriod is the momentum period, CutoffPeriod is a Butterworth filter constant for lowpass filtering the momentum Source code in indicators c. Spearman vars Data, int TimePeriod var. Spearman s rank correlation coefficient correlation between the original Data series and the same series sorted in ascending order within TimePerio d 1 256 Returns the similarity to a steadily rising series and can be used to determine trend intensity and turning points Range -1 1 lag TimePeriod 2 For usage and details, see Stocks Commodities magazine 2 2011 Source available in indicators c. StdDev vars Data, int TimePeriod var. Standard Deviation of the Data series in the time period, from the ta-lib Use the square root of the second Moment when high accuracy or long time periods are required. Stoch int FastKPeriod, int SlowKPeriod, int SlowKMAType, int SlowDPeriod, int SlowDMAType. Stochastic Oscillator unrelated to stochastics, but its inventor, George Lane, looked for a fancy name Measures where the Close price is in relation to the recent trading range Formula FastK 100 Close-LL HH-LL SlowK MA FastK SlowD MA SlowK Uses the current asset price series and does not support TimeFrame Result in rSlowK rSlowD Some traders believe that the SlowK crossing above SlowD is a buy signal others believe they should buy when SlowD is below 20 and sell when it is above 80 Parameters FastKPeriod - Time period for the HH and LL to generate the FastK value, usually 14 SlowKPeriod - Time period for smoothing FastK to generate rSlowK usually 3 SlowKMAType - Type of Moving Average for Slow-K, usually MATypeEMA SlowDPeriod - Time period for smoothing rSlowK to generate rSlowD usually 3 SlowDMAType - Type of Moving Average for Slow-D, usually MATypeEMA. StochEhlers vars Data, int TimePeriod, int CutOffLow, int CutOffHigh var. Predictive stochastic oscillator by John Ehlers Measures where the Data value is in relation to its range within TimePeriod The data runs through a 2-pole highpass filter with period CutOffHigh and through a Butterworth lowpass filter with period CutOffLow Indicator algorithm explained in Ehler s Predictive Indicators paper usage example in the Ehlers script Source code in indicators c The function internally creates series and thus must be called in a fixed order in the script. StochF int FastKPeriod, int FastD Period, int FastDMAType var. Stochastic Fast Measures where the Close price is in relation to the recent trading range Formula Fast-K 100 Close-LL HH-LL Fast-D MA Fast-K Uses the current asset price series Does not support TimeFrame Result in rFastK rFastD Returns FastK Parameters FastKPeriod Time period for the HH and LL of Fast-K, usually 14 , FastDPeriod Moving Average Period for Fast-D usually 3 , FastDMAType Type of Moving Average for Fast-D, usually MATypeEMA. StochRSI vars Data, int TimePeriod, int FastKPeriod, int FastDPeriod, int FastDMAType var. Stochastic Relative Strength Index RSI Result in rFastK rFastD Returns FastK Parameters FastKPeriod Time period for building the Fast-K line , FastDPeriod Smoothing for making the Fast-D line Usually set to 3 , FastDMAType Type of Moving Average for Fast-D. Sum vars Data, int TimePeriod var. Sum of all Data elements in the time period. T3 vars Data, int TimePeriod, var VFactor var. An extremely smoothed Moving Average by Tim Tillson Uses a weighted sum of multiple EMAs Parameters VFactor Volume Factor, normally 0 7.TEMA vars Data, int TimePeriod var. Triple Exponential Moving Average by Patrick Mulloy, calculated from 3xEMA - 3xEMA of EMA EMA of EMA of EMA. Trima vars Data, int TimePeriod var. Triangular Moving Average also known under the name TMA a form of Weighted Moving Average where the weights are assigned in a triangular pattern F i the weights for a 7 period Triangular Moving Average would be 1, 2, 3, 4, 3, 2, 1 This gives more weight to the middle of the time series It causes better smoothing, but greater lag. Trix vars Data, int TimePeriod var.1-day Rate-Of-Change see ROC of a Triple EMA see TEMA. TrueRange var. True Range TR max High 0,Close 1 - min Low 0,Close 1 of the current asset price series See also ATR ATR S. TSF vars Data, int TimePeriod var. Time Series Forecast Returns b m TimePeriod i e the Linear Regression forecast for the next bar. TSI vars Data, int TimePeriod var. Trend Strength Index, an indicator by Frank Hassler who believed that it identifies trend strength A high TSI value above.1 65 indicates that short-term trend continuation is more likely than short-term trend reversal The function internally creates series and thus must be called in a fixed order in the script. TypPrice var. Typical Price Simply High Low Close 3 Uses the current asset price series. UltOsc int TimePeriod1, int TimePeriod2, int TimePeriod3 var. Ultimate Oscillator Parameters TimePeriod1 Number of bars for 1st period , TimePeriod2 Number of bars for 2nd period , TimePeriod3 Number of bars for 3rd period Uses the current asset price series Does not support TimeFrame. UO vars Data, int CutOff var. Universal oscillator by John Ehlers, from S C Magazine 1 2015 Removes white noise from the data, smoothes it and runs it through the AGC filter Detects trend reversals very early Output in the -1 1 range Source code in indicators c The function internally creates series and thus must be called in a fixed order in the scrip t. Variance vars Data, int TimePeriod var. Variance of the Data series in the time period, from the ta-lib Use Moment when high accuracy or long time periods are required. Volatility vars Data, int TimePeriod var. Annualized volatility of the Data series standard deviation of the log returns, multiplied with the square root of time frames in a year This is the standard measure of volatility used for financial models, such as the Black-Scholes model The function internally creates series and thus must be called in a fixed order in the script Source code in indicators c. VolatilityC int TimePeriod, int EMAPeriod var. Chaikin Volatility indicator by Marc Chaikin measures volatility in percent as momentum of the smoothed difference between High and Low An increase in the Chaikin Volatility indicates that a bottom is approaching, a decrease indicates that a top is approaching TimePeriod is the period of the momentum normally 10 , EMAPeriod determines the smoothing also, normally 10 Uses the curr ent asset price series The function internally creates series and thus must be called in a fixed order in the script Source code in indicators c. VolatilityMM vars Data, int TimePeriod, int EMAPeriod var. Min Max volatility of the Data series the difference of MaxVal and MinVal in the time period, smoothed by an EMA set EMAPeriod 0 for not smoothing The function internally creates a series when EMAPeriod 0 and then must be called in a fixed order in the script Source available in indicators c For the volatility of price candles, use ATR or ATRS. VolatilityOV int Days var. Annualized volatility of the current asset, calculated over the given number of Days usually 20 Empirical formula used by some options software packages OptionsVue for estimating the values of options, alternatively to Volatility Source code in options c which must be included for using this indicator. WCLPrice var. Weighted Close Price Uses the current asset price series. WillR int TimePeriod var. Williams Percent Range Form ula -100 HH-Close HH-LL Uses the current asset price series Does not support TimeFrame. WMA vars Data, int TimePeriod var. Linear Weighted Moving Average the weight of every bar decreases linearly with its age. ZigZag vars Data, var Depth, int Length, int Color var. ZigZag indicator converts the Data series into alternating straight trend lines with at least the given Depth and Length Non-predictive can only identify trends in hindsight Returned rSlope the slope of the last identified trend line upwards trends have a positive slope, downwards trends a negative slope rPeak the bar offset of the last identified peak rSign 1 if the last peak was a top, -1 if the last peak was a bottom rLength the number of bars of the last trend line ending with rPeak If a nonzero Color is given, the trend lines are plotted in the chart Source code in indicators c example in Indicatortest c The function internally creates series and thus must be called in a fixed order in the script. ZMA vars Data, int Time Period var. Zero-lag Moving Average by John Ehlers smoothes the Data series with an Exponential Moving Average EMA and applies an error correction term for compensating the lag The function internally creates a series and thus must be called in a fixed order in the script Source in indicators c. Standard parameters. The number of bars for the time period of the function, if any or 0 for using a default period. A data series often directly derived from the price functions price , priceClose etc Alternatively a user created series or any other double float array with the given minimum length can be used If not mentioned otherwise, the minimum length of the Data series is TimePeriod Some functions require a second data array Data2.Price data series can be explicitly given for some indicators, for using price series generated from a different asset or with a different TimeFrame Otherwise the prices of the current asset with a time frame equivalent to the bar period are used. Price variation or percentage, dependent on the function, for the current bar. Usage example. MACD Price,12,26,9 calculates the standard MACD for the given Price series The results are stored in the global variables rMACD rMACDSignal and rMACDHistory. The TA-Lib function prototypes are defined in include ta h Information about the usage and the indicator algorithms can be found online at The C source code of all included TA-Lib indicators is contained in and can be studied for examining the algorithms Some TA-Lib indicators that originally didn t work properly - such as Correlation or SAR - have been replaced by working versions The lite-C source code of most additional indicators that are not part the the TA-Lib is contained in include indicators c. All TA functions are applied on series and do normally not accept other data arrays In the INITRUN all TA functions return 0 and LookBack is automatically increased to the largest required lookback time by a TA function. Recursive TA functions - f i EMA or ATR - need a higher lookback period than their TimePeriod parameter see UnstablePeriod LookBack can be exceeded when TA functions are later called with a series offset or a different TimePeriod this will generate an Error 046 message Make sure that LookBack is always higher than the maximum TimePeriod plus the UnstablePeriod plus the highest possible offset of all used series. Some functions return more than one value, f i MACD The returned results are stored in global variables beginning with r they can be accessed after the function is called. Some functions only require a single Data value Rather than creating a Data series of length 1 simply a pointer to the Data value can be used Example var Raw MyIndicator var Transformed AGC Raw,0.TimeFrame affects subsequent data series and thus also affects all indicators that use the data series as input The TimePeriod is then not in Bar units, but in time frame units TimeFrame has no effect on indicators that do not use data series. Indicators tha t rely on the standard deviation f i Bollinger Bands become inaccurate when the standard deviation is below 0 0001, as it is then assumed to be zero by the TA-Lib This can happen on very short bar periods when the price does almost not move. For writing your own indicators, have a look at the examples inside indicators c But please do not modify indicators c - write the indicators in your own script, or in a dedicated script that you can then include in your strategies If you need a complex indicator that you can not be easily add, please ask for it on the Zorro user forum. It says a lot about your ethics that you did not feel the need to acknowledge the original coder of this AFL However, this particular implementation of ALMA in amibroker is not quite accurate The correct accurate implementation of ALMA in conformance with Ninja Trader and Meta Trader releases by the original developers of ALMA i e Arnaud Legoux has been submitted by me so that amibroker users can also benefit. just one word, this is fantastic. ALMA can be coded using the FIR function By accident I bumped into this writing. which does not seem to pop up when you look in the manual FIR allows you to do a convolution of an input array with a some smaller function like a Gaussian window type function resulting code. windowSize Param Window Size ,9,5,201,2 sigma Param Sigma ,6,1,20 Offset Param Offset ,0 85,0 05,1 0,0 05.function ALMAAFL input, range, Offset, sigma local m, im, s,Coeff m floor Offset range-1 s range sigma. SetChartOptions 0, chartShowDates Plot C, Close, colorLightGrey, styleCandle Plot rr,,colorBlue,1.in fact it can be programmed using. ws Param Window Size ,9,5,201,2 sigma Param Sigma , 6, 1, 20,1 Offset Param Offset ,0 85,0,1 0,0 05 bi BarIndex. m floor Offset ws-1 s ws sigma window IIf bi ws, Cum 1 -1 - m,0 window IIf bi ws, exp - window 2 2 s 2 ,0 rr FIR C, window, ws. SetChartOptions 0, chartShowDates Plot C, Close, colorLightGrey, styleCandle Plot rr, ALMA, colorBlue,1.Req afl cpoding for a special moving average ALMA. Req afl cpoding for a special moving average ALMA. Here is a special moving average It is based on probability distribution-gaussian. please read the pdf and try to code it if possible. The code has something special why so Why is ALMA SO SPECIAL LISTEN TO ITS DEVELOPERArnaud L In attempt to create a new kind of Moving Average with some friends colleagues because i was a little bit tired of the classical set of MA everybody s use for the last 10 years , we ve created this new one ALMA. It removes small price fluctuations and enhances the trend by applying a moving average twice, one from left to right and one from right to left At the end of this process the phase shift price lag commonly associated with moving averages is significantly reduced Zero-phase digital filtering reduces noise in the signal Conventional filtering reduces noise in the signal, but addS delay. The ALMA can give some excellent results if you take the time to tweak the parameters don t need to explain this part, it will be easy for you to find the right setting in less than hour. Arnaud L it is this application of moving average from left to right and from right to left is what makes it special - so far no such code exists in amibroker For those interested in mt4 code of alma, you can refer to attachment. It can be prepared from adheer pai based afl probability and gaussian distribution already existing Here is the Amibroker code for probability and gaussian distribution We need only the GUASSIAN PART. In this some removal and additions are needed to be done. removal Remove probabilityDENSITY ADDITION add sigma value of 6, add offset of 0 85 I request the experts to handle this task tHE ABOVE CODE BASIS WAS BY ADHEER to his solid content. Name Probability Density Gaussian Distribution Description Visual representation of distribution of the data-series e g Price, Price Change, LogNormal Price Change etc Identify whether the series exhibits normal Gaussian distribution Author Adheer Pai adheer at gmail dot com History 1 0 Original Release - July 08, 2009. The input series for plotting the Probability Density and Gaussian Distribution Use the array SERIES or replace accordingly. Constants PI 3 14159 SHOWBELLCURVE Show HIDEBELLCURVE Hide. AFL Inputs nSample Param DataSet Size , 500, 100, 1000 nSegments Param Density Segments , 15, 10, 20 bGauss ParamList Gaussian Curve , SHOWBELLCURVE HIDEBELLCURVE, 0 nPrecision Param Precision Digits , 5, 0, 6 nPrecision 8 nPrecision 10. Constants - system and derived nBarIndex SelectedValue BarIndex nFirstValidBar -1 for i 0 i BarCount i if IsEmpty SERIES i nFirstValidBar i break nSample Max Min nBarIndex - nFirstValidBar nSample ,1. DataSize 0 Number of samples it should be same as nPeriod arrMean MA SERIES, nSample arrMax HHV SERIES, nSample arrMin LLV SERIES, nSample arrSDev StDev SERIES, nSample. currMax arrMax nBarIndex Maximum of the range currMin arrMin nBarIndex Minimum of the range Mu arrMean nBarIndex Mean Mu Sigma arrSDev nBarIndex Standard Deviation of the Range Sigma. rangeOfBar currMax-currMin nSegments The range of each distribution bar barFrequency 0 Occurances within each bar MaxFrequency 0 Highest number of occurrances. DisplayBorder Displays the charting borders function DisplayBorder GfxSelectPen colorBrown, 1, styleDashed GfxMoveTo pxMargin, pxMargin GfxLineTo pxMargin, pxHeight - pxMargin GfxLineTo pxWidth - pxMargin, pxHeight - pxMargin GfxLineTo pxWidth - pxMargin, pxMargin GfxLineTo pxMargin, pxMargin. computeSigmaBandDistribution Computes the distribution withing the specified sigma band bounded by minvalue and maxvalue function computeSigmaBandDistribution MinValue, MaxValue nCount 0 for i nBarIndex i nBarIndex - nSample i 0 i-- if SERIES i MinValue SERIES i MaxValue nCount return 100 nCount nSample. getGaussianValue Function to compute the Gaussian distribution value Y for a given value of X non-scaled function getGaussianValue inputValue Steps to compute normal Gaussian distribution 1 Compute x - mu squared, multiply it by -1 step1 -1 inputValue - Mu 2 2 Compute twice of sigma squared step2 2 Sigma Sigma 3 Divide 1 by 2, and get the exp step3 exp step1 step2 4 Now, divide step 3 by sigma step4 step3 Sigma 5 Now, divide step 4 by square-root of 2 x PI step5 step4 sqrt 2 PI. Compute the arithmetic mean, minimum and maximum of the price series Compute the frequency of occurrances for nIndex nBarIndex nIndex nBarIndex - nSample nIndex 0 nIndex -- nCurrIndex int SERIES nIndex - currMin rangeOfBar nCurrIndex Max Min nSegments-1, nCurrIndex ,0 barFrequency nCurrIndex MaxFrequency Max MaxFrequency, barFrequency nCurrIndex. Now display the frequency of occurrances - aka distribution GfxSetBkMode 1 GfxSelectFont Verdana , 8, 800 GfxSetTextAlign 6 GfxSetTextColor colorRed pxScaleX pxWidth - 2 pxMargin nSegments pxScaleY 0 9 pxHeight - 2 pxMargin MaxFrequency for i 0 i nSegments i pxStartX pxMargin i pxScaleX pxEndX pxStartX pxScaleX pxStartY pxMargin barFrequency i pxScaleY GfxGradientRect pxStartX, pxHeight - pxStartY pxEndX, pxHeight - pxMargin, ColorRGB 70,255,255 , ColorRGB 70,20,255 GfxTextOut NumToStr 100 barFrequency i nSample 4 2 , pxStartX pxScaleX 2 , pxHeight - pxStartY - 15. Now plot the mean and the standard-deviation bars range pxScaleXPixelsPerPriceUnit pxWidth - 2 pxMargin currMax - currMin. meanLineX pxMargin Mu - currMin pxScaleXPixelsPerPriceUnit GfxSelectPen colorBlue, 2, 3 GfxMoveTo meanLineX, pxMargin GfxLineTo meanLineX, pxHeight - pxMargin GfxTextOut Mean , meanLineX, pxHeight - pxMargin GfxTextOut NumToStr Mu, nPrecision , meanLineX, pxHeight - pxMargin 3 for i 1 i 6 i N ow plot the Mean - 1-StDev sDevBand pxMargin Mu i Sigma - currMin pxScaleXPixelsPerPriceUnit if sDevBand pxWidth - pxMargin GfxSelectPen ColorRGB 128,128,128 , 1, 4 GfxMoveTo sDevBand pxMargin GfxLineTo sDevBand pxHeight - pxMargin GfxTextOut NumToStr i,1 0 SD , sDevBand, pxHeight - pxMargin GfxTextOut NumToStr Mu i sigma, nPrecision , sDevBand, pxHeight - pxMargin 3 sDevBand pxMargin Mu - i Sigma - currMin pxScaleXPixelsPerPriceUnit if sDevBand pxMargin GfxSelectPen ColorRGB 128,128,128 , 1, 4 GfxMoveTo sDevBand pxMargin GfxLineTo sDevBand pxHeight - pxMargin GfxTextOut - NumToStr i,1 0 SD , sDevBand, pxHeight - pxMargin GfxTextOut NumToStr Mu - i sigma, nPrecision , sDevBand, pxHeight - pxMargin 3. Legend and data information GfxSetBkMode 1 GfxSetTextAlign 0 24 GfxSelectFont Verdana , 8, 400 GfxSetTextColor colorBlue GfxTextOut Latest NumToStr SERIES nBarIndex , nPrecision , pxMargin 10, pxMargin 15 GfxTextOut Mean NumToStr Mu, nPrecision , pxMargin 10, pxMargin 30 GfxTe xtOut Sigma NumToStr Sigma, nPrecision , pxMargin 10, pxMargin 45. Now display the distribution of the first 10 standard deviations or less nLastPixelY pxMargin 60 for numOfStDevs 1 numOfStDevs 10 numOfStDevs nCount computeSigmaBandDistribution Mu - numOfStDevs Sigma, Mu numOfStDevs Sigma GfxTextOut NumToStr numOfStDevs, 1 0 - Sigma NumToStr nCount,5 2 , pxMargin 10, nLastPixelY nLastPixelY nLastPixelY 15 if nCount 100 numOfStDevs 100.currLineX pxMargin SERIES nBarIndex - currMin pxScaleXPixelsPerPriceUnit GfxSelectPen colorGreen, 2, 3 GfxMoveTo currLineX pxMargin GfxLineTo currLineX pxHeight - pxMargin GfxSetTextAlign 6 GfxSetTextColor colorGreen GfxTextOut Latest , CurrLineX, pxMargin 2. Display the Gaussian Distribution if requested by the user if bGauss SHOWBELLCURVE Now display the normal distribution curve based on sigma and mu graphStepX CurrMax - Mu Max 100, pxWidth-2 pxMargin if graphStepX 0 GaussianMaxima 0 for x CurrMin x CurrMax x x graphStepX GaussianMaxima Max GaussianMaxima, getGaussianValue x. pxGaussianScaleY 0 9 pxHeight - 2 pxMargin GaussianMaxima GfxSelectPen colorOrange, 2, 0 for x CurrMin x CurrMax x x graphStepX gaussianValue getGaussianValue x pxPointX x - CurrMin pxScaleXPixelsPerPriceUnit pxMargin pxPointY pxHeight - gaussianValue - 0 pxGaussianScaleY - pxMargin if x CurrMin GfxMoveTo pxPointX, pxPointY GfxLineTo pxPointX, pxPointY. property copyright Copyright 2010, TrendLaboratory property link ---- indicator settings property indicatorchartwindow property indicatorbuffers 3 property indicatorcolor1 Yellow property indicatorcolor2 LightBlue property indicatorcolor3 Tomato property indicatorwidth1 2 property indicatorwidth2 2 property indicatorwidth3 2 ---- indicator parameters extern int Price 0 Price Mode 0 6 extern int WindowSize 9 Window Size extern double Sigma 6 0 Sigma parameter extern double Offset 0 85 Offset of Gaussian distribution 0 1 extern double PctFilter 0 Dynamic filter in decimal extern int Shift 0 extern int ColorMode 0 0-on,1-off extern int ColorBarBack 1 extern int AlertMode 0 Sound Alert switch 0-off,1-on extern int WarningMode 0 Sound Warning switch 0-off,1-on ---- indicator buffers double ALMA double Uptrend double Dntrend double trend double Del. int drawbegin bool UpTrendAlert false, DownTrendAlert false double wALMA ------------------------------------------------------------------ Custom indicator initialization function ------------------------------------------------------------------ int init ---- indicator buffers mapping IndicatorBuffers 5 SetIndexBuffer 0,ALMA SetIndexBuffer 1,Uptrend SetIndexBuffer 2,Dntrend SetIndexBuffer 3,trend SetIndexBuffer 4,Del ---- drawing settings SetIndexStyle 0,DRAWLINE SetIndexStyle 1,DRAWLINE SetIndexStyle 2,DRAWLINE drawbegin WindowSize SetIndexDrawBegin 0,drawbegin SetIndexDrawBegin 1,drawbegin SetIndexDrawBegin 2,drawbegin SetIndexShift 0,Shift SetIndexShift 1,Shift SetIndexShift 2,Shift IndicatorDigits MarketInfo Symbol, MODEDIGITS 1 ---- name for DataWindow and indicator subwindow label IndicatorShortName ALMA WindowSize SetIndexLabel 0, ALMA SetIndexLabel 1, ALMA Uptrend SetIndexLabel 2, ALMA Dntrend. double m MathFloor Offset WindowSize - 1 double s WindowSize Sigma. ArrayResize wALMA, WindowSize double wsum 0 for int i 0i WindowSizei wALMA i MathExp - i-m i-m 2 s s wsum wALMA i. for i 0i WindowSizei wALMA i wALMA i wsum. if shift Bars - WindowSize continue. double sum 0 double wsum 0.for i 0i WindowSizei if i WindowSize sum wALMA i iMA NULL,0,1,0,0,Price, shift WindowSize - 1 - i. if wsum 0 ALMA shift sum. if PctFilter 0 Del shift MathAbs ALMA shift - ALMA shift 1.double sumdel 0 for int j 0j WindowSize-1j sumdel sumdel Del shift j double AvgDel sumdel WindowSize. double sumpow 0 for j 0j WindowSize-1j sumpow MathPow Del j shift - AvgDel,2 double StdDev MathSqrt sumpow WindowSize. double Filter PctFilter StdDev. if MathAbs ALMA shift - ALMA shift 1 Filter ALMA shift ALMA shift 1 else Filter 0.if ColorMode 0 trend shift trend shift 1 if ALMA shift - ALMA shift 1 Filter trend shift 1 if ALMA shift 1 - ALMA shift Filter trend shift -1.if trend shift 0 Uptrend shift ALMA shift if trend shift ColorBarBack 0 Uptrend shift ColorBarBack ALMA shift ColorBarBack Dntrend shift EMPTYVALUE if WarningMode 0 trend shift 1 0 i 0 PlaySound else if trend shift 0 Dntrend shift ALMA shift if trend shift ColorBarBack 0 Dntrend shift ColorBarBack ALMA shift ColorBarBack Uptrend shift EMPTYVALUE if WarningMode 0 trend shift 1 0 i 0 PlaySound ---------- string Message. if trend 2 0 trend 1 0 Volume 0 1 UpTrendAlert Message Symbol M Period HMA Signal for BUY if AlertMode 0 Alert Message UpTrendAlert true DownTrendAlert false. if trend 2 0 trend 1 0 Volume 0 1 DownTrendAlert Message Symbol M Period HMA Signal for SELL if AlertMode 0 Alert Message DownTrendAlert true UpTrendAlert false. The mt4 code is poosted to provide some kind of hint for coding in afl. looking forawrd to alma code in afl here on traderji as it doesnt exist anywhere else as of now regards ford.
Comments
Post a Comment