Yksinkertainen Liikkuvan Keskiarvon Algoritmi Java


Yksinkertainen siirrettävä keskimääräinen toteutus Java. On useaan otteeseen olen halunnut laskea yksinkertaisia ​​metrejä Java-sovelluksissani, esimerkiksi osumien määrä tunnissa tai virheitä koko ajan. Yksinkertaisten metrijärjestelmien laskeminen ei ole kovin vaikeaa, se on vain ylimääräistä työtä ja d d mieluummin viettää aikaa ongelma-alalla En ollut yllättynyt siitä, että en löytänyt laajasti hyväksyttyjä metrijärjestelmän ratkaisuja Javaa löysin Metricsin, mutta se tuntui hieman liian monimutkaiselta ja hyvin dokumentoituna - halusin vain laskea liukuva keskiarvo Ajattelin ongelmaa jonkin verran ja päätin, että se ei ole vaikea ongelma Tässä minun ratkaisuni. Tämä toimii luomalla joukko ikkunan päivityksen taajuuskoon, sitten lanka asettaa laskurin seuraavan indeksin taulukossa päivitystaajuus Intervallin laskenta on yksinkertaisesti array i - array i 1, joka on viimeisin lukema miinus vanhimmasta laskemasta 10 minuutin välein vanhin numero i 1 on täsmälleen 10 minuuttia vanha. keskimäärin koodimme ensimmäiseksi tarvitsemme laskurin käyttäen AtomicLongia. Tämä laskuri on lisättävä sen mukaan, millaisia ​​tapahtumia olet kiinnostunut laskemisesta esim. POST-pyyntöjä REST-palvelusta. Joudumme tarjoamaan käyttöönotolla pääsy laskuriin ja se on saavutetaan GetCount-käyttöliittymän kautta Tässä luodaan liukuva keskiarvo, jossa on 5 minuutin ikkuna, joka päivittyy joka sekunnin ajan. Ja nykyisen keskiarvon saamiseksi yksinkertaisesti kutsumme getAverage-menetelmää. Tärkein toteutuserittely on, miten taulukon koko määritetään jakamalla ikkuna päivitystaajuudella. Suuri ikkuna, jolla on usein päivitystaajuus, voi käyttää huomattavaa määrää muistia. Tässä esimerkissä taulukon koko on kohtuullinen 300 Jos kuitenkin luodaan 24 tunnin liukuva keskiarvo 1 sekunnin välein, koko olisi 86400 A Järkevämpi päivitystaajuus 24 tunnin ajanjaksolle voi olla jokaisen 5 minuutin kokoinen koko 288. Toinen harkinta ikkunan valinnasta ja päivitystaajuus on ikkunan on oltava di taajuudella näkyvä Esimerkki: 2 minuutin ikkuna, jossa on 6 sekunnin päivitystaajuus, on ok, mutta 7 sekunnin päivitystaajuus ei ole, koska se ei ole jaollinen 120: llä. IllegalArgumentException heitetään, jos ikkunamoduulin päivitystaajuus ei ole nolla. Tämä Toteutus vaatii yhden kierroksen liukuvaa keskiarvoa kohden, joka ei ole kovin tehokas. Parempi ratkaisu olisi jakaa säikeet useille keskiarvoille. Päivitys päivitit koodin jakamaan lankan täällä. Nyt on alkuvaltion ongelma, jolla ei ole tietoja Mutta koko ikkunalle Esimerkiksi jos sinulla on 5 minuutin ikkuna ja vain 15 sekuntia tietoja Tämä toteutus palaa nollaan, kunnes meillä on 5 minuutin tiedot Toinen lähestymistapa on arvioida keskimääräinen Oletetaan, että meillä on 10: n 30 sekunnissa, sitten voimme arvioida keskimäärin 40: llä 2 minuutissa Kuitenkin merkittävän virheen riski on epätäydellisten tietojen ekstrapoloimalla Esimerkiksi, jos meillä olisi 20 osumaa 2 sekunnissa, meidän on arvioitava 1200 x 2 minuuttia, mikä H todennäköisesti on kaukana. Minun täytyy seurata viimeisen 7 päivän työtuntia litteä tiedosto lukea silmukkaa Se s käytetään mittaamaan väsymys työn rosters. Right nyt minulla on jotain, joka toimii, mutta se näyttää melko verbose ja en ole varma onko sa kuvio, joka on enemmän sukkinct. Currently, minulla on Java-luokan kanssa staattinen array pitää viime x päivää tiedot, niin kun lukee läpi tiedoston, katkaisen pois ensimmäisen elementin ja siirrä muut 6 viikon valssaus yhteensä takaisin yksi Tämän staattisen matriisin käsittely tapahtuu omalla menetelmällä eli. Min kysymys on tämä kohtuullinen suunnittelu lähestymistapa, tai onko jotain sokaisevasti ilmeinen ja yksinkertainen tehdä tämän tehtävän Thanks guys. asked Aug 30 11 klo 14 33. Kiitos paljon ihmisiä, jotka saivat viestin käyttää korkeamman tason esinettä ja hyödyntää asiaankuuluvia menetelmiä tai pyöreää puskuria. Suuri vastaus, kaikki heistä Kun ajattelet sitä, tarvitset aina koko taulukon Voit päästä eroon tästä ensimmäisestä merkinnästä - jota en ollut varma omasta mielestäni olin helpottunut siitä, etten hukannut noin 1 linjaliikennettä ja olin pohjimmiltaan kohtuullisessa, jos ei tehokkaassa ja kaveriradalla Tämä on mitä rakastan tästä sivustosta korkealaatuisia, asiaankuuluvia vastauksia ihmisiltä, ​​jotka tietävät, 30 11 klo 15 05.Miksi alustat runningTotal null: lle Mikä on sen tyyppi, missä se julistetaan Olisi hyvä, jos laitat joitakin koodinäytteitä, jotka muistuttavat todellista Java-koodia. Käyttämällä, minun kritiikki olisi seuraava toiminto ei myöskään Paljon Funktiota tai menetelmää tulee olla yhtenäinen Lisää oikein, heidän pitäisi tehdä vain yksi asia ja yksi asia. Mikä vielä on, mitä tapahtuu silmukalle, kun x 5 Kopioit runningTotal 6: ta runningTotal 5: een, mutta sitten sinulla on kaksi kopiota Sama arvo paikassa 5 ja 6.On suunnittelussa, your function. moves sekoittaa kohteet array. calculates total. prints tavaraa vakioversion. returns total. It does too much. My ensimmäinen ehdotus ei ole siirtää tavaraa Ympärillä matriisin sijaan toteuttaa kierrätys ar-puskuri ja käytä sitä taulukon sijaan Se yksinkertaistaa suunnittelua Toinen ehdotukseni on hajottaa asioita funktioiksi, jotka ovat yhtenäisiä. Tietorakenteessa on pyöreä puskurin, jonka avulla voit lisätä siihen ja pudottaa vanhimman merkinnän milloin tahansa Saavuttaa sen kapasiteetin. joten tietorakenne toteuttamaan interator. on funktio, joka laskee summan iteraattorissa, jota et välitä, jos lasketaan koko joukosta array, luettelo tai pyöreä bufer. don t soita sitä yhteensä Kutsu summa , mikä on mitä laskut. Tämä on mitä minä teen. Tämä on loistava info luis, mutta muistaa, että tämä funktio on pieni osa luokan toimivuutta ja olisi liiallista lisätä liikaa koodia, jotta se olisi täydellinen Te olette teknisesti oikein ja ymmärrän koodini liikaa, mutta samaan aikaan joskus on parempi murtaa pienempää, selkeämpää koodia kuin täydellisyyttä. Koska olen saanut Java-taitojani, jopa kirjoittamalla pseudokoodin, jota kuvataan, kääntäminen olisi Minä puhaltaa minun budjetista, mutta kiitos selkeästä kuvauksesta Pete855217 31 elokuu 11 klo 2 23.Hmmm, se ei ole täydellisyydestä, vaan vakiintuneista teollisuuskäytännöistä, jotka olemme tunteneet viimeisten kolmen vuosikymmenen aikana. Puhdas koodi on aina osa, joka on jaettu. Meillä on vuosikymmenien todisteita, jotka osoittavat, tämä on tapa mennä yleisesti kustannustehokkuuden, vian vähentämisen, ymmärtämisen jne. kannalta, ellei se ole kertaluonteinen koodi kertaluontoiselle kaltaiselle asialle ei ole koskaan kallista tehdä tätä kun aloitat ongelman analyysin tällä tavalla Koodaus 101, hajota ongelma ja koodi seuraa, ei overkill eikä vaikea 31 elokuu 11 klo 15 55. Tehtäväsi on liian yksinkertainen ja aproach olet hyväksynyt on varmasti hyvä työtä kuitenkin , jos haluat käyttää parempaa muotoilua, sinun on päästävä eroon kaikista numeroista, joita käytät paremmin FIFO-jonoa ja käytät hyvästi push - ja pop-menetelmiä, sillä tavoin koodi ei vastaa tietojen siirtoa, vain kaksi logiikkaa Uusia tietoja ja poistaa vanhoja tietoja r kuin 7 päivää. julkaistu 30. elokuu 11 klo 14 49. Yksinkertainen liikkuva keskiarvo - SMA. BREAKING DOWN Yksinkertainen liikkuva keskiarvo - SMA. A yksinkertainen liukuva keskiarvo on muokattavissa, koska se voidaan laskea eri määräaikaa yksinkertaisesti lisäämällä arvopaperin päätöskurssi useille ajanjaksoille ja jakamalla tämä määrä ajanjaksojen lukumäärän kanssa, mikä antaa arvopaperin keskimääräisen hinnan ajanjaksolla Yksinkertainen liukuva keskiarvo tasoittaa volatiliteettia ja helpottaa tarkastelemista turvallisuuden hintakehitys Jos yksinkertainen liukuva keskiarvo osoittaa ylöspäin, tämä tarkoittaa sitä, että arvopaperin hinta nousee. Jos se osoittaa alaspäin, se tarkoittaa, että tietoturvan hinta laskee. Mitä pidempi on liikkumavälin keskiarvo, sitä helpompi on yksinkertainen Liukuva keskiarvo Lyhyen aikavälin liukuva keskiarvo on epävakaampi, mutta sen lukema on lähempänä lähdedataa. Analyyttinen merkitys. Keskimääräiset keskiarvot ovat tärkeä analyyttinen työkalu, jolla tunnistetaan nykyiset hintakehitykset ja Vakiintuneen kehityksen muuttaminen Yksinkertaisin tapa käyttää yksinkertaista liikkumavälinettä analyysissä on käyttää sitä nopeasti tunnistamaan, onko suojaus nousussa tai laskussa. Toinen suosittu, vaikkakin hieman monimutkaisempi analyyttinen työkalu on verrata paria yksinkertaiset liikkuvat keskiarvot, joissa jokaisella on erilaisia ​​aikavälejä Jos lyhyen aikavälin yksinkertainen liukuva keskiarvo ylittää pitkän aikavälin keskiarvon, odotetaan nousevan. Toisaalta pitkän aikavälin keskimääräinen keskiarvo ylittää lyhyen aikavälin keskiarvon. trendi. Popular Trading Patterns. Two suosittuja kaupankäyntitaskuja, jotka käyttävät yksinkertaisia ​​liikkuvat keskiarvot ovat kuolemanranta ja kultainen risti Kuolemanranta syntyy, kun 50 päivän yksinkertainen liukuva keskiarvo ylittää 200 päivän liukuva keskiarvo Tätä pidetään laskeva signaali , että lisää tappioita on varastossa Kultainen risti syntyy, kun lyhyen aikavälin liukuva keskiarvo rikkoo pitkän aikavälin liikkuvan keskiarvon yläpuolella. Tämä vahvistaa voimakkaiden kaupankäyntivolyymien määrää. On varastossa.

Comments

Popular Posts