Sunday 29 October 2017

Eksponensiell Bevegelig Gjennomsnitt Filter Algoritme


Jeg har i hovedsak en rekke verdier som dette. Ovenstående matrise er oversimplified, jeg samler 1 verdi per millisekund i min ekte kode og jeg må behandle utdataene på en algoritme jeg skrev for å finne nærmeste topp før et tidspunkt logikken feiler fordi i mitt eksempel ovenfor er 0 36 den virkelige toppen, men min algoritme vil se bakover og se det siste tallet 0 25 som toppen, da det er en reduksjon til 0 24 før det. Målet er å ta disse verdiene og bruk en algoritme til dem som vil glatte dem ut litt, slik at jeg har mer lineære verdier, det vil si at resultatene mine skal være svingete, ikke ekgedy. Jeg har blitt fortalt å bruke et eksponentielt glidende gjennomsnittsfilter til mine verdier. Hvordan kan jeg gjør dette Det er veldig vanskelig for meg å lese matematiske ligninger. Jeg behandler mye bedre med kode. Hvordan behandler jeg verdier i mitt array, og bruker en eksponentiell glidende gjennomsnittlig beregning for å utjevne dem ut. Skrevet 8. februar 12 kl 20 27. For å beregne et eksponentielt glidende gjennomsnitt må du holde noen tilstand rundt og du trenger en innstillingsparameter Dette krever en liten klasse forutsatt at du bruker Java 5 eller nyere. Installer med nedbrytingsparameteren du vil ha, må innstille skal være mellom 0 og 1 og bruk deretter gjennomsnitt for å filtrere. Når du leser en side på noen matematiske gjentagelse, alt du virkelig trenger å vite når du setter det i kode er at matematikere liker å skrive indekser i arrays og sekvenser med abonnementer. De har også noen andre notasjoner, men det hjelper ikke. EMA er ganske enkelt som du bare trenger å huske en gammel verdi ingen kompliserte statlige arrays required. answered 8 februar 12 på 20 42. TKKocheran Ganske mye Er det ikke fint når ting kan være enkelt Hvis du starter med en ny sekvens, får du en ny gjennomsnittlig bemerker at de første betingelsene i gjennomsnittlig sekvens vil hoppe rundt litt på grunn av grenseeffekter, men du får de med andre bevegelige gjennomsnitt også. En god fordel er imidlertid at du kan pakke den bevegelige gjennomsnittlige logikken inn i gjennombrukeren og eksperimentere uten å forstyrre t han hviler på programmet for mye Donal Fellows 9. februar 12 på 0 06. Jeg har det vanskelig å forstå dine spørsmål, men jeg vil prøve å svare uansett.1 Hvis algoritmen din fant 0 25 i stedet for 0 36, så er det feil Det er feil fordi det forutsetter en monotonisk økning eller reduksjon som alltid går opp eller alltid går ned, med mindre du gjennomsnittlig ALLE dine data, dine datapunkter --- som du presenterer dem --- er ikke-lineære Hvis du virkelig vil finne maksimum verdi mellom to poeng i tid, så skjær din rekkefølge fra tmin til tmax og finn maksimum for det subarray.2 Nå er begrepet bevegelige gjennomsnitt veldig enkle å forestille at jeg har følgende liste 1 4, 1 5, 1 4, 1 5, 1 5 Jeg kan glatte det ut ved å ta gjennomsnittet av to tall 1 45, 1 45, 1 45, 1 5 Legg merke til at det første tallet er gjennomsnittet av 1 5 og 1 4 sekund og første nummer den andre nye listen er gjennomsnittet av 1 4 og 1 5 tredje og andre gamle liste den tredje nye listen gjennomsnittet 1 5 og 1 4 fjerde og tredje, og så videre kunne jeg har gjort det perioden tre eller fire, eller n Legg merke til hvordan dataene er mye glattere En god måte å se glidende gjennomsnitt på jobben er å gå til Google Finance, velg et lager prøve Tesla Motors ganske flyktige TSLA og klikk på technicals nederst på diagrammet Velg Moving Average med en gitt periode, og eksponentiell glidende gjennomsnitt for å sammenligne forskjellene deres. Eksponentielt glidende gjennomsnitt er bare en annen utbygging av dette, men veier de eldre dataene mindre enn de nye dataene, dette er en måte å forvirre utjevningen mot baksiden Vennligst les Wikipedia-oppføringen. Så dette er mer en kommentar enn et svar, men den lille kommentarboksen var bare for liten Lykke til. Hvis du har problemer med matematikken, kan du gå med et enkelt glidende gjennomsnitt i stedet for eksponentiell. Så utdataene du får vil være de siste x-vilkårene delt med x Ikke-testet pseudokode. Merk at du må håndtere start - og sluttdelene av dataene, siden du tydeligvis ikke kan t gjennomsnitts de siste 5 vilkårene når du er på ditt andre datapunkt. , den re er mer effektive måter å beregne denne glidende gjennomsnittlige summen - eldste nyeste, men dette er for å få konseptet om hva som skjer overfor. Ansatt 8. februar kl. 20 41. Jeg mangerer noe for øyeblikket hvor jeg tar en haug av verdier over tid fra et maskinvarekompass Dette kompasset er veldig nøyaktig og oppdateres svært ofte, med det resultat at hvis det jiggles litt, ender jeg med den merkelige verdien som er vildt inkonsekvent med naboene sine. Jeg vil glatte ut disse verdiene. gjort noe å lese rundt, ser det ut til at det jeg vil ha, er et høypassfilter, et lavpassfilter eller et bevegelig gjennomsnittsflytende gjennomsnitt som jeg kan komme ned med, bare ha en historie om de siste 5 verdiene eller hva som helst, og bruk gjennomsnittet av disse verdiene nedstrøms i koden min, hvor jeg en gang bare brukte den nyeste verdien. Det burde, synes jeg, glatt ut de jiggles pent, men det slår meg til at det sannsynligvis er ganske ineffektivt, og dette er sannsynligvis en av disse Kjente problemer til riktig programmerere som det er en veldig fin Clever Math-løsning. Jeg er imidlertid en av de forferdelige selvlærte programmørene uten en form for formell utdanning i alt som er uklart relatert til CompSci eller Math Reading rundt, noe som tyder på at dette kan være et høyt eller lavt pass filter, men jeg kan ikke finne noe som forklarer i forståelse for en hack som meg, hva effekten av disse algoritmene ville være på en rekke verdier, enn si hvordan matematikken fungerer. Svaret som er gitt her, for eksempel, svarer teknisk på spørsmålet mitt , men bare når det gjelder forståelig for de som trolig allerede vet hvordan de skal løse problemet. Det ville være en veldig fin og smart person som faktisk kunne forklare hvilken type problem dette er, og hvordan løsningene fungerer, forståelig for en Arts graduate. asked 21 september 10 på 13 01. Hvis ditt glidende gjennomsnitt må være lang for å oppnå den nødvendige utjevningen, og du ikke trenger en bestemt form for kjernen, så blir du bedre hvis du bruker eksponentielt forfallende glidende gjennomsnitt. hvor du velger lite for å være en passende konstant, for eksempel hvis du velger liten 1 - 1 N, vil den ha samme mengde gjennomsnitt som et vindu med størrelse N, men distribueres annerledes over eldre punkter. Uansett siden neste verdien av det bevegelige gjennomsnittet avhenger bare av den forrige og dataene dine, du trenger ikke å holde en kø eller noe, og du kan tenke på dette som å gjøre noe som, Vel, jeg har et nytt poeng, men jeg skjønner egentlig ikke stol på det, så jeg skal holde 80 av mitt gamle estimat av måling, og bare stol på dette nye datapunktet 20 Det er stort sett det samme som å si: Vel, jeg stoler bare på dette nye punktet 20, og jeg skal bruke 4 andre poeng at jeg stoler på det samme beløpet, bortsett fra at i stedet for å eksplisitt ta de 4 andre punktene, antar du at gjennomsnittsverdien du gjorde sist var fornuftig, slik at du kan bruke ditt tidligere arbeid. Ansatt 21. september 10 på 14 27.Hey, Jeg vet at dette er 5 år sent, men takk for et fantastisk svar, jeg jobber med et spill hvor lyden endrer seg basert på hastigheten din, men på grunn av å kjøre spillet på en sakte datamaskin, vil hastigheten svinge vilt, noe som var fint for styring, men veldig irriterende når det gjelder lyd. Dette var en veldig enkel og billig løsning på noe jeg trodde ville være et veldig komplekst problem Adam Mar 16 15 20 20. Hvis du prøver å fjerne en og annen merkelig verdi, er et lavpassfilter det beste av de tre alternativene du har identifisert Lavpassfiltrene tillater lavhastighetsendringer som de som er forårsaket av å rotere et kompass for hånd, mens du avviser høyhastighetsendringer som de som er forårsaket av støt på veien, for eksempel. Et glidende gjennomsnitt vil trolig ikke være tilstrekkelig, siden effektene av et enkelt blip i din data vil påvirke flere påfølgende verdier, avhengig av størrelsen på det bevegelige gjennomsnittsvinduet. Hvis de ulike verdiene blir lett oppdaget, kan du til og med være bedre med en glitch-fjerningsalgoritme som helt ignorerer dem. Her er en gutdiagram som illustrerer. Den første grafen er inngangssignalet, med en ubehagelig glitch Den andre grafen viser effekten av et 10-sample glidende gjennomsnitt. Den endelige grafen er en kombinasjon av 10-sample gjennomsnittet og den enkle glitchdeteksjonalgoritmen vist ovenfor. Når glitchen oppdages, vil 10- prøve gjennomsnitt er brukt i stedet for den faktiske verdien. Gjennomsnittlig gjennomsnitt kan jeg komme ned med, men det ser ut til at det er sannsynligvis ganske ineffektivt. Det er virkelig ingen grunn at et glidende gjennomsnitt skal være ineffektivt. Du beholder antall datapunkter du vil ha i noen buffer som en sirkulær kø På hvert nytt datapunkt poperer du den eldste verdien og trekker den fra summen, og trykker på den nyeste og legger den til summen. Så hvert nytt datapunkt innebærer egentlig bare et pop-trykk, et tillegg og en subtraksjon Ditt bevegelige gjennomsnitt er alltid denne skiftende summen delt på antall verdier i bufferen. Det blir litt vanskeligere hvis du mottar data samtidig fra flere tråder, men siden dataene kommer fra en maskinvareenhet som synes høyt tvilsom for meg. Åh og også forferdelige selvlærte programmører forene. Det bevegelige gjennomsnittet virket ineffektivt for meg fordi du må lagre en buffer med verdier - bedre å bare gjøre noen Clever Maths med din inngangsverdi og nåværende arbeidsverdi jeg tror at s hvordan eksponentiell glidende gjennomsnittlig arbeid En optimalisering jeg har sett for denne typen bevegelige gjennomsnitt, innebærer å bruke en fastlengdekø en peker til hvor du er i køen, og bare pakke pekeren rundt med eller en hvis Voila Ingen dyrt trykk pop Kraft til Amatørene, bror Henry Cooke, Sep 22 10 på 0 54. Henry For et glidende gjennombruddsmiddel trenger du bare bufferen slik at du vet hvilken verdi som dukker opp når den neste verdien blir presset. Når det er sagt, er den faste lengden køen en pekeren du beskriver er akkurat det jeg mente med sirkulær kø Det er derfor jeg sa det er ikke ineffektivt Hva syntes du jeg mente Og hvis svaret ditt er en matrise som skifter sine verdier tilbake på hver indeksert fjerning som std-vektor i C-brønnen , th men jeg er så vondt jeg vil ikke engang snakke med deg lenger Dan Tao 22. september 10 på 1 58. Henry Jeg vet ikke om AS3, men en Java-programmerer har samlinger som CircularQueue til sin disposisjon Jeg er ikke en Java-utvikler, så jeg er sikker på at det finnes bedre eksempler der ute, det er bare det jeg fant fra et raskt Google-søk, som nøyaktig utfører funksjonaliteten vi snakker om. Jeg er ganske sikker på at flertallet av mellomstore og lavt nivå språk med standardbiblioteker har noe lignende, for eksempel det er Queue T Uansett, jeg var filosofi selv, så alt er tilgitt Dan Tao 22. september 10 på 12 44. Et eksponentielt forfallende glidende gjennomsnitt kan beregnes for hånd med bare trenden hvis du bruker de riktige verdiene Se for en ide om hvordan du gjør dette raskt med en penn og papir hvis du er ute etter eksponentielt glatt glidende gjennomsnitt med 10 utjevning. Men siden du har en datamaskin, vil du sannsynligvis gjøre binær skifting i motsetning til desimalskifting. På denne måten, alt du trenger er en va Riable for din nåværende verdi og en for gjennomsnittet. Det neste gjennomsnittet kan da beregnes fra that. answered 21 september 10 på 14 39. det var en teknikk kalt en rekkevidde som fungerer bra med lav forekomst av uprøvede prøver under antatt bruk av en av filterteknikkene nevnt ovenfor flytter gjennomsnittlig, eksponentiell, når du har tilstrekkelig historie en tidskonstant kan du teste den nye innkommende datasammen med rimelighet før det legges til beregningen. noen kunnskaper om den maksimale fornuftige forandring av signalet er påkrevd at den raske prøven sammenlignes med den siste glattede verdien, og hvis absoluttverdien av den forskjellen er større enn det tillatte området, blir denne prøven kastet ut eller erstattet med noen heuristiske, for eksempel en prediksjon basert på skrå differensial eller Trendsprediksjonsverdien fra dobbel eksponensiell utjevning. ansvaret 30. april 16 kl 6 56. Eksponensiell flytende gjennomsnittlig - EMA. BREAKER NED eksponentiell flytende gjennomsnitt - EMA. De 12 og 26-dagers EMAene er th e mest populære kortsiktige gjennomsnitt, og de brukes til å skape indikatorer som den bevegelige gjennomsnittlige konvergensdivergensen MACD og prosentvis prisoscillator PPO Generelt brukes 50 og 200-dagers EMA som signaler for langsiktige trender. Traderer som benytter teknisk analyse, finner glidende gjennomsnitt veldig nyttige og innsiktsfulle når de brukes riktig, men skaper kaos når de brukes feil eller blir feilfortolket. Alle de bevegelige gjennomsnittene som ofte brukes i teknisk analyse, er av sin natur sakte indikatorer. Følgelig er konklusjonene trukket fra å anvende en bevegelse gjennomsnitt til et bestemt markedskart bør være å bekrefte et markedskryss eller for å indikere sin styrke. Svært ofte, da en gjennomsiktig gjennomsnittlig indikatorlinje har endret seg for å reflektere et betydelig trekk i markedet, har det optimale punktet for markedsinngang allerede bestått En EMA tjener til å lette dette dilemmaet til en viss grad Fordi EMA-beregningen legger mer vekt på de nyeste dataene, klemmer det prishandlingen litt strammere og reagerer derfor raskere Dette er ønskelig når en EMA brukes til å utlede et handelsinngangssignal. Interpretering av EMA. I likhet med alle bevegelige gjennomsnittlige indikatorer, er de mye bedre egnet for trending markeder Når markedet er i en sterk og vedvarende opptrend EMA-indikatorlinjen vil også vise en uptrend og vice versa for en nedtreden. En årvåken handelsmann vil ikke bare være oppmerksom på retningen til EMA-linjen, men også forholdet mellom endringshastigheten fra en linje til den neste. For eksempel, da prisvirkningen av en sterk opptrinn begynner å flate og reversere, vil EMAs endringshastighet fra en linje til den neste begynne å redusere til den tid som indikatorlinjen flater og endringshastigheten er null. På grunn av forsinkelsen effekt, ved dette punktet eller til og med noen få barer før, bør prishandlingen allerede ha reversert. Det følger derfor at observere en konsekvent reduksjon i endringshastigheten til EMA, kunne seg selv brukes som en indikator som kunne ytterligere motvirke dilemmaet forårsaket av den forsinkende effekten av å flytte gjennomsnittlig bruk av EMA. EMA er ofte brukt i forbindelse med andre indikatorer for å bekrefte vesentlige markedsbevegelser og å måle deres gyldighet For handelsmenn som handler i dag og fastflytende markeder, er EMA mer anvendelig Vanlige handelsfolk bruker ofte EMAer til å bestemme en handelsforspenning. For eksempel, hvis en EMA på et daglig diagram viser en sterk oppadgående trend, kan en intraday trader s strategi være å handle kun fra den lange siden på et intradag-diagram.

No comments:

Post a Comment