Tuesday 7 November 2017

Flytte Gjennomsnittet Med Labview


Flytende gjennomsnitt Hva er de. Sammen med de mest populære tekniske indikatorene, blir glidende gjennomsnitt brukt til å måle retningen for den nåværende trenden. Alle typer bevegelige gjennomsnitt som vanligvis skrives i denne opplæringen, da MA er et matematisk resultat som beregnes ved å beregne et antall fortid datapunkter Når det er bestemt, blir det resulterende gjennomsnittet plottet på et diagram for å tillate handelsmenn å se på glatt data i stedet for å fokusere på de daglige prisfluktuasjonene som er iboende i alle finansmarkeder. Den enkleste formen for en bevegelse gjennomsnittlig, hensiktsmessig kjent som et enkelt glidende gjennomsnittlig SMA, beregnes ved å ta det aritmetiske gjennomsnittet av et gitt sett med verdier. For eksempel for å beregne et grunnleggende 10-dagers glidende gjennomsnitt vil du legge til sluttprisene de siste 10 dagene og deretter del opp resultatet med 10 I figur 1 er summen av prisene for de siste 10 dagene 110 dividert med antall dager 10 for å komme fram til 10-dagers gjennomsnittet Hvis en handelsmann ønsker å se et 50-dagers gjennomsnitt i stedet vil samme type beregning bli gjort, men det vil inkludere prisene i løpet av de siste 50 dagene. Det resulterende gjennomsnittet under 11 tar hensyn til de siste 10 datapunktene for å gi handelsmenn en ide om hvordan en eiendel er priset i forhold til de siste 10 dagene. Kanskje du lurer på hvorfor tekniske handelsfolk kaller dette verktøyet et glidende gjennomsnitt og ikke bare en vanlig gjennomsnitt. Svaret er at når nye verdier blir tilgjengelige, må de eldste datapunktene slippes fra settet og nye datapunkter må komme i å erstatte dem Dermed går datasettet kontinuerlig til å regne for nye data etter hvert som den blir tilgjengelig. Denne beregningsmåten sikrer at bare den nåværende informasjonen blir regnskapsført. I figur 2, når den nye verdien av 5 er lagt til settet , flyttes den røde boksen som representerer de siste 10 datapunktene til høyre, og den siste verdien av 15 blir tapt fra beregningen. Fordi den relativt små verdien av 5 erstatter høyverdien på 15, ville du forvente å se gjennomsnittet av t hans datasett reduseres, som det gjør, i dette tilfellet fra 11 til 10.Hva flytte gjennomsnitt ser ut Når først verdiene til MA har blitt beregnet, plottes de på et diagram og deretter kobles til for å skape en glidende gjennomsnittslinje Disse kurvene linjer er vanlige på diagrammer av tekniske handelsfolk, men hvordan de brukes kan variere drastisk mer på dette senere. Som du kan se i figur 3, er det mulig å legge til mer enn ett glidende gjennomsnitt i et diagram ved å justere antall tidsperioder brukes i beregningen Disse kurvelinjene kan virke distraherende eller forvirrende først, men du vil bli vant til dem ettersom tiden går. Den røde linjen er bare gjennomsnittsprisen de siste 50 dagene, mens den blå linjen er gjennomsnittsprisen over siste 100 dager. Nå som du forstår hva et glidende gjennomsnitt er og hvordan det ser ut, vil vi introdusere en annen type glidende gjennomsnitt og undersøke hvordan det avviger fra det tidligere nevnte enkle glidende gjennomsnittet. Det enkle glidende gjennomsnittet er ekstremt pop ular blant handelsfolk, men som alle tekniske indikatorer har det kritikere. Mange individer hevder at bruken av SMA er begrenset fordi hvert punkt i dataserie vektes det samme, uavhengig av hvor det forekommer i sekvensen. Kritikere hevder at siste data er mer signifikant enn de eldre dataene og bør ha større innflytelse på sluttresultatet. På bakgrunn av denne kritikken begynte handelsmenn å gi mer vekt på nyere data, som siden har ført til oppfinnelsen av ulike typer nye gjennomsnitt, Den mest populære som er eksponentiell glidende gjennomsnittlig EMA. For videre lesing, se Grunnleggende om vektede bevegelige gjennomsnitt og hva er forskjellen mellom en SMA og en EMA. Eksponentiell flytende gjennomsnitt Det eksponentielle glidende gjennomsnittet er en type bevegelige gjennomsnitt som gir mer vekt til siste priser i et forsøk på å gjøre det mer responsivt til ny informasjon Læring den noe kompliserte ligningen for å beregne en EMA kan være unødvendig for mange tra Ders, siden nesten alle kartleggingspakker gjør beregningene for deg Men for deg matematiske geeks der ute, her er EMA-ligningen. Når du bruker formelen til å beregne det første punktet til EMA, kan du merke at det ikke er noen verdi tilgjengelig for bruk som forrige EMA Dette lille problemet kan løses ved å starte beregningen med et enkelt glidende gjennomsnitt og fortsette videre med formelen fra derfra. Vi har gitt deg et eksempelarkiv som inneholder virkelige eksempler på hvordan du kan beregne både en enkel glidende gjennomsnitt og et eksponentielt glidende gjennomsnitt. Forskjellen mellom EMA og SMA Nå som du har en bedre forståelse av hvordan SMA og EMA beregnes, la oss se på hvordan disse gjennomsnittene er forskjellige. Ved å se på beregningen av EMA , vil du legge merke til at det legges større vekt på de siste datapunktene, noe som gjør det til en type vektet gjennomsnitt. I figur 5 er antall tidsperioder som brukes i hvert gjennomsnitt identisk 15, men EMA svarer på m malm raskt til de endrede prisene Legg merke til hvordan EMA har en høyere verdi når prisen stiger, og faller raskere enn SMA når prisen senker. Denne responsiviteten er den viktigste grunnen til at mange handelsmenn foretrekker å bruke EMA over SMA. What Gjelder de forskjellige dagene Flytte gjennomsnitt er en helt tilpassbar indikator, som betyr at brukeren fritt kan velge hvilken tidsramme de vil ha når man lager gjennomsnittet. De vanligste tidsperioder som brukes i bevegelige gjennomsnitt er 15, 20, 30, 50, 100 og 200 dager Jo kortere tidsrammen brukes til å skape gjennomsnittet, desto mer følsomt blir det for prisendringer Jo lengre tidsrom, jo ​​mindre følsomt eller mer utjevnet, vil gjennomsnittet være. Det er ingen riktig tidsramme å bruke når sette opp dine bevegelige gjennomsnittsverdier Den beste måten å finne ut hvilken som passer best for deg, er å eksperimentere med en rekke forskjellige tidsperioder til du finner en som passer til din strategi. Beregning av flytende gjennomsnitt. Denne VI beregner og viser det bevegelige gjennomsnittet ved å bruke et forhåndsvalgt nummer. First initierer VI to skiftregister. Toppskiftregisteret initialiseres med ett element, og legger kontinuerlig den forrige verdien med den nye verdien. Dette skiftregisteret beholder summen av de siste x-målene Etter deling Resultatene av add-funksjonen med den forhåndsvalgte verdien beregner VI den bevegelige gjennomsnittsverdien. Bunnskiftregisteret inneholder en matrise med dimensjonen Gjennomsnitt Dette skiftregisteret beholder alle verdier av målingen. Erstatningsfunksjonen erstatter den nye verdien etter hver sløyfe. Dette VI er veldig effektiv og rask fordi den bruker erstatningselementfunksjonen i løpet av løpet, og den initialiserer arrayet før den går inn i sløyfen. Denne VI ble opprettet i LabVIEW 6 1.Bookmark Share. Simple Moving Average VI. Utalt når folk snakker om et flytende gjennomsnitt, betyr det erstattet punkt N med gjennomsnittet av M poeng rundt Point N Anta at jeg har 100 poeng hvis verdier er 1, 2, 3 100 og Jeg vil gjøre en 5-punkts Moving Average Første ting å merke seg er at det er en. Den glidende gjennomsnittet av det tredje punktet er gjennomsnittet av 1, 2, 3, 4, 5 3 Gjennomsnittet av fjerde poeng er gjennomsnittet av 2, 3, 4, 5, 6 4 Dette er imidlertid kanskje for enkelt et eksempel. Hva med gjennomsnittet av en trinnfunksjon, 0 fra 1 til 10, deretter 20 deretter. Oppnå, kaste ut poeng 1 og 2 Gjennomsnittet av peker 1-5 for å gå inn i punkt 3 0 siden alle poengene er 0 På samme måte som punkt 4, 5, 6,7 og 8 Imidlertid er punkt 9 gjennomsnittet av 0, 0, 0, 0, 20 4 Hva med punkt 10 Vel, det burde være gjennomsnittet på 0, 0, 0, 20, 20 8, men husket du ikke å overskrive punkt 9 Hmm, virker som om vi må beholde to kopier av Array som generelt er dyrt. Det er flere måter du kan unngå å gjøre dette. Forstår du hvor problemet oppstår i forrige avsnitt. Hvis ikke, prøv å gjøre dette med blyant og papir eller prøv å kode det i LabVIEW Jeg vil gi deg svaret slik at du kan sjekke - den bevegelige gjennomsnitt av Trinnfunksjonen er -, -, 0, 0, 0, 0, 0, 0, 0, 4, 8, 12, 16, 20, 20, 20 -, - hvor - er de tomme verdiene ved endene på matrisen, poengene du ikke har tilstrekkelig naboer. PS - det ville ikke overraske meg hvis det var LabVIEW-funksjonen som gjør dette for deg Men hvis du lærer LabVIEW og vil ha en bedre forståelse av hvordan algoritmer du plugger i arbeid, gjør det aldri vondt å leke og prøve det selv. Du kan til og med komme med en forbedring flere av oss har gjort det. Takket være sensibiliseringen om de finere punktene i Moving Average-metoden. Dette etterfall er et statistisk verktøy som hjelper til med å se hva du vil se abstraherer distrahererne. Metoden er derfor bundet til å ha noen mangler i noen situasjoner eller sammenheng. Men jeg antar at den er perfekt egnet for min gode DF-datalogging - det er et trykk eller temperatur eller flyt-signal - og jeg anskaffe på noe som 400 eksemplarer sek og bruk deretter en gjennomsnittlig enkeltprøve og prosessen er ganske treg som min Hovedkoden kjører på ikke mer enn 20 Hz. Så når jeg gjør et 5-prøve-lagringsmiddel, kommer min første prøve 5 x 50 m senere, så for hver 50 ms får jeg en gyldig prøve. Jeg er spesielt bekymret for trender og ikke spotverdier i dette er det lite bekymring for ubesvarte prøver eller falske verdier Selvfølgelig ville jeg ikke våge å bruke dette for en trinnfunksjon som ville være grusomt. Raghunathan LV2012 å automatisere hydrauliske testrigg. Les 4 av 15 1.104 Views. Re Simple Moving Average VI. 03-30-2016 11 58 PM. Det er gjennomsnittlig ptbypt som gjør det samme. Du kan inspisere koden hvis du vil. En stor feil i koden er det faktum at du stadig vokser og krymper et eksisterende utvalg. Du bør prøve å finne en Løsning som fungerer på plass i et fast størrelsesarrangement. Eksempler har blitt lagt ut på forumet gjennom årene ser hee for eksempel. Den betyr ikke om elementene er ute av orden, så du kan bare erstatte det eldste elementet, uansett hvor den er plassert. Du forbereder også det nye elementet til begynnelsen av et eksisterende utvalg, som alltid er mye dyrere enn å legge til slutten. Din utvalgsstørrelse kan ikke endres når VI kjører. Ditt skiftregister bør initialiseres med et tomt array, ikke en matrise som allerede inneholder et enkelt element som er null Denne ekstra null vil gi feil gjennomsnitt. Din kode skal gjøres til en subVI, slik at den kan brukes på nytt ligner ptbypt-versjonen. Din VI kan aldri stoppes , bare aborted. Good optimering tips Poin t ved å initialisere med null savnet meg Og ja, brukeren bør ikke endre prøvestørrelsen når den begynner å løpe. Til slutt vil jeg lage en SubVI og håndtere ting som stopper etc. As til punktet for å legge ut enn å legge til den nye verdien til array, kanskje Det er en ytelse straff, men gitt størrelsen på mitt array er jeg sikker på at CPU ikke bryr seg anwyay Men for meg må det være slik at jeg bruker de endelige dataene for å plotte en trend av en fysisk parameter. Takk for tiden din. Raghunathan LV2012 for å automatisere hydrauliske testrigs. thanks for sensibilisering med hensyn til de finere punktene i Moving Average-metoden. Dette afterall er et statistisk verktøy som bidrar til å se hva du vil se abstraherer distrahererne. Så metoden er bundet til å ha noen svikt i noen situasjoner eller kontekst. Men jeg antar at den er perfekt egnet for min slags DOV-datalogging - det er et trykk eller et temperatur - eller flyt-signal - og jeg kjøper på noe som 400 eksemplarer sek og bruker deretter en gjennomsnittlig enkeltprøve. Og prosessen er ganske sakte ettersom hovedkoden min kjører på ikke mer enn 20 Hz. Så når jeg gjør et 5 prøvefiksjonsmiddel, kommer min første prøve 5 x 50 ms senere, så for hver 50mms får jeg en gyldig prøve. Nå, så vil du ikke ha en bevegelse gjennomsnittlig, men bare et enkelt gjennomsnitt Det er mye lettere Her er ideen som fungerer mye bedre med en Producer Consumer Design. Sikkert du er prøvetaking på 400Hz, vil lagre dataene ved 400 Hz, dvs. lagre alle dataene til disk, men vil ha å vise på 20 Hz fordi du vil se trender, en lengre tidssokkel etc. Opprett ditt AD-system for å samle 20 prøver ved 400Hz notat at du kan samle N-kanaler samtidig, og gir deg et 2D utvalg av prøver. Som du få dataene ved 20 Hz fra annonsen, slik at produsenten gjør det til forbrukeren. Forbrukeren begynner med å skrive dataene til disken, ikke tar mye tid Nå har du en 2D-serie - i en For Loop på en kanal - kanalbasis, gjennomsnittlig de 20 poengene Nå har du en 1D-array, med et gjennomsnittspunkt for hver kanal. Fortsett og plott det. Merk at denne ordningen a bruker alle dataene, b håndterer flerkanalsdata med aplomb, og hvis du er fra Midtøsten hvor de vokser, kan du også håndtere dataene dine med en saftig plomme, og c lar deg samle inn dataene dine fra AD-utstyret, lagre dataene dine på disken, hold alle poengene og vis dataene dine på skjermen ved hjelp av alle poengene dine, men også gjennomsnittlig for å forbedre synsforholdet mellom signal og støy, alt uten å miste data jeg har gjort nøyaktig dette med 24 kanaler ved 1KHz, med dataene tatt på et fjernt system og sendt til PCen via TCP IP, så vi har også TCP-behandling i loop. Welcome til den spennende verden av Data Acquisition and Processing med LabVIEW Trust meg, dette er et flott system for å gjøre denne typen arbeid. Basert på tilbakemeldingen jeg fikk på min opprinnelige VI, har jeg raffinert Moving Average-koden til en subVI. Jeg brukte den til å gjennomsnittlig en simulert 10Channel-data - bare for å holde ting Enkelt, jeg sørget for at alle 10 kanaler hadde identiske data en ville da forvent å få det samme glidende gjennomsnittet for alle 10 kanaler jeg er overrasket over den lille variansen jeg legger merke til mellom kanaler - generelt er de nært, men ikke eksakte. Og bare for å forklare prosessen jeg prøver, har jeg også enclsoed en XLS. So hvor gjør variasjonen kommer inn fra The Unitialized shift register i Sub VI. Raghunathan LV2012 til Automate Hydraulic Test Rigs. Message 9 av 15 1,007 Views. Re Simple Moving Average VI. 04-01-2016 10 25 AM. Koden din gir fortsatt ingen mening SIN Når du ringer til subVI en skalar av gangen, får du ikke det du vil fordi skiftregisteret bare rememeberer de siste N-skalarene, uansett hvilken kanal det er er fra Koden din er fortsatt svært ineffektiv og innviklet, for eksempel hvorfor bruker du fortsatt innsats i array for å legge til både i mani nad i underen. Du kan bruke en reenetrant subVI og en parallell innerste FOR-sløyfe, men det virker altfor komplisert også. Hvis du vil gjøre et løpende gjennomsnitt på hver kanal, trenger subVI å holde en 2D-array i subVI Alt dette har blitt gjort før. Message 10 of 15 991 Views.

No comments:

Post a Comment