Tuesday 5 September 2017

Moving Media Algoritmo Java


Ho in sostanza hanno una serie di valori come this. The serie di cui sopra è Semplificando al massimo, mi sto raccogliendo 1 valore per millisecondo nel mio codice vero e ho bisogno di elaborare l'uscita su un algoritmo che ho scritto per trovare il picco più vicino prima di un punto nel tempo mio la logica fallisce perché nel mio esempio di cui sopra, 0 36 è il vero picco, ma il mio algoritmo sarebbe guardare indietro e vedere l'ultimo numero 0 25 come il picco, in quanto non vi SA riduce a 0 24 prima it. The obiettivo è quello di prendere questi valori e applicare un algoritmo per loro che li appianare un po 'in modo da avere i valori più lineari cioè mi piacerebbe miei risultati siano curve, non jaggedy. I già stati detto di applicare un filtro a media mobile esponenziale a miei valori Come posso fare questo E 'davvero difficile per me da leggere equazioni matematiche, ho a che fare molto meglio con code. How faccio ad elaborare valori nella mia matrice, l'applicazione di un calcolo della media mobile esponenziale a addirittura out. asked 8 febbraio 12 a 20 27.To calcolo una media mobile esponenziale è necessario mantenere uno stato in giro e avete bisogno di un parametro di sintonia Questo richiede un po 'di classe supponendo che si sta utilizzando Java 5 o later. Instantiate con il parametro di decadimento che si desidera può richiedere la sintonizzazione dovrebbe essere compreso tra 0 e 1 e quindi usare media per filter. When la lettura di una pagina su qualche ricorrenza mathmatical, tutti si ha realmente bisogno di sapere quando trasformandolo in codice è che i matematici piace scrivere indici in array e sequenze con gli indici Essi sono già alcune altre notazioni pure, che doesn t aiutare Tuttavia, l'EMA è piuttosto semplice come avete solo bisogno di ricordare un valore vecchio non elementi di superfici sensibile complicate required. answered 8 febbraio 12 a 20 42. TKKocheran praticamente Isn t è bello quando le cose possono essere semplici oppure con la nuova sequenza, ottenere un nuovo averager nota che i primi termini della sequenza media salteranno in giro un po 'a causa di effetti di bordo, ma si ottiene quelli con altre medie mobili troppo Tuttavia, un buon vantaggio è che si può avvolgere la logica di media mobile nella averager e sperimentare senza disturbare il resto del programma troppo Donal Fellows 9 febbraio 12 a 0 06.I sto avendo difficoltà a capire le vostre domande, ma cercherò di rispondere anyway.1 Se l'algoritmo trovato 0 25 invece di 0 36, allora è sbagliato è sbagliato perché presuppone un aumento o una diminuzione monotona che sta andando sempre verso l'alto o verso il basso andando sempre meno che la media di tutti i dati, i punti dati --- come li presenti --- non sono lineari Se si vuole veramente per trovare il valore massimo tra due punti nel tempo, quindi tagliare la matrice da Tmin a tmax e trovare il massimo di quel subarray.2 Ora, il concetto di medie mobili è molto semplice immaginare che ho il seguente elenco 1 4, 1 5 , 1 4, 1 5, 1 5 posso liscia fuori prendendo la media di due numeri 1 45, 1 45, 1 45, 1 5 si noti che il primo numero è la media di 1 5 e 1 4 secondo e primi numeri la seconda nuova lista è la media di 1 4 e 1 5, terzo e secondo elenco vecchia terzo nuovo elenco della media di 1 5 e 1 4 quarto e terzo, e così via ho potuto reso periodo di tre o quattro, o n Avviso come i dati è molto più agevole un buon modo di vedere medie mobili sul posto di lavoro è quello di andare a Google Finance, selezionare un magazzino provare Tesla Motors piuttosto volatili TSLA e cliccare su fattori tecnici in fondo grafico Select media mobile con un determinato periodo, e media mobile esponenziale di confrontare la loro media mobile differences. Exponential è solo un altro elaborazione di questo, ma i pesi i dati più vecchi in meno rispetto ai nuovi dati questo è un modo per polarizzare il livellamento verso il retro si prega di leggere la Wikipedia entry. So, questo è più un commento di una risposta, ma la piccola casella di commento era solo per piccola buona luck. If si ri problemi con la matematica, si potrebbe andare con una media mobile semplice anziché esponenziale Così l'uscita si ottiene sarebbe stata l'ultima x termini divisi da x pseudocode. Note testato che sarà necessario per gestire le parti iniziali e finali dei dati poiché si può chiaramente media T ultimi 5 termini quando si è sulla 2 ° dati dei punti Inoltre, ci sono modi più efficaci di calcolo di questa media mobile sum sum - più antica più recente, ma questo è quello di ottenere il concetto di ciò che sta accadendo across. answered 8 febbraio 12 a 20 41.I bisogno di tenere traccia degli ultimi 7 giorni ore di lavoro in un ciclo di lettura del file piatto 's utilizzato per misurare fatigueability di lavoro rosters. Right ora ho qualcosa che funziona, ma sembra piuttosto prolisso e io non sono sicuro se ci modello sa che s più succinct. Currently, ho una classe Java con un array statico per contenere gli ultimi x giorni i dati, poi come ho letto attraverso il file, mi tagliano fuori il primo elemento e si muovono gli altri 6 per una settimana in totale rotolamento indietro di un la lavorazione di questo array statico è fatto in un proprio metodo domanda ie. My questo è un disegno ragionevole approccio, o c'è qualcosa di assolutamente ovvio e semplice per eseguire questa operazione Grazie guys. asked 30 agosto 11 alla 14 33.Thanks ragazzi alot io ho ricevuto il messaggio utilizzare un oggetto di livello superiore e sfruttare i relativi metodi o un buffer circolare grandi risposte , tutti Quando si pensa a questo proposito, è sempre necessario l'accesso a tutta la gamma in modo da poter sbarazzarsi di quel primo ingresso - che non ero al 100 sicuri di conto mio mi sto sollevato dal fatto che non avessi perso un po 'di 1 liner e era fondamentalmente su un ragionevole, se non efficiente e la pista terso questo è quello che mi piace di questo sito di alta qualità, relative risposte da parte di persone che conoscono il loro sh t Pete855217 30-ago-11 a 15 05.Why fare si inizializza RunningTotal su null cosa è il suo tipo di casi in cui si dichiara sarebbe bene se si mette alcuni esempi di codice che somigliano effettiva Java code. Moving su, la mia critica sarebbe il seguente la funzione non troppo Una funzione o un metodo, dovrebbe essere coesa, più appropriatamente, dovrebbero fare una cosa e una cosa only. Worse ancora, ciò che accade nella vostra per ciclo quando x 5 si copia RunningTotal 6 in RunningTotal 5 ma poi si hanno due copie dello stesso valore alla posizione 5 e 6.In il vostro disegno, la funzione. si muove mescola le voci nel vostro array. calculates la roba total. prints per error. returns standard, la total. It non troppo much. My primo suggerimento è di non muoversi roba in giro nella matrice, invece, implementare un buffer circolare e utilizzarlo al posto di la matrice sarà semplificare la progettazione mio secondo suggerimento è quello di abbattere le cose in funzioni che sono cohesive. have una struttura dati un buffer circolare che permette di aggiungere ad esso e che cade la voce più vecchia ogni volta che raggiunge il suo capacity. have i dati struttura implementare un interator. have una funzione che calcola il totale sul iteratore don t importa se si sta calcolando il totale di un array, lista o bufer. don circolare t chiamano totale Chiamatela somma, che è quello che sta Computing. che è quello che d do. That s informazioni grande Luis, però ricordo che questa funzione è una piccola parte della funzionalità della classe, e sarebbe eccessivo aggiungere troppo codice per renderlo perfetto sei tecnicamente corretta, e io capire il mio codice non troppo, ma allo stesso tempo a volte s meglio sbagliare sul lato della più piccola, il codice più chiaro che andare per la perfezione Dato le mie capacità Java, anche facendo il pseudocodice che si descrive compilare avrebbe mi soffio il budget per questo, ma grazie per la descrizione chiara Pete855217 31 agosto 11 alle 2 23.Hmmm, che non è la perfezione, ma sulle pratiche industriali consolidate che abbiamo conosciuto per gli ultimi 3 decenni, il codice pulito è sempre uno che è partizionato abbiamo decenni di prove che indicare questa è la strada da percorrere nel caso generale in termini di costo-efficienza, riduzione dei difetti, la comprensione, ecc meno che non sia getta codice per una sorta di una volta di cosa non è mai costoso per fare questo quando si inizia qualsiasi analisi dei problemi in questo modo Coding 101, abbattere il problema e il codice segue, né eccessivo né difficile 31 agosto 11 alla 15 compito 55.Your è troppo semplice e il aproach avete adottato è certamente un bene per il lavoro Tuttavia, se si desidera per usare una migliore progettazione, è necessario sbarazzarsi di tutto quel movimento numero è meglio utilizzare una coda FIFO e fare buon uso di metodi push e pop in questo modo il codice riflettere solito qualsiasi spostamento dei dati, solo le due azioni logiche di nuovi dati e rimuovere i dati più vecchi di 7 days. answered 30 agosto 11 alla 14 49.Moving media - MA. BREAKING GIU media Mobile - MA. As un esempio SMA, si consideri un titolo con i seguenti prezzi di chiusura oltre 15 days. Week 1 5 giorni 20, 22 , 24, 25, 23.Week 2 5 giorni 26, 28, 26, 29, 27.Week 3 5 giorni 28, 30, 27, 29, 28.A 10 giorni MA sarebbe mediare i prezzi di chiusura per i primi 10 giorni come il primo punto di dati il ​​punto dati successivo sarebbe cadere il primo prezzo, aggiungere il prezzo del giorno 11 e fare la media, e così via, come mostrato below. As osservato in precedenza, il Mas ritardo attuale azione di prezzo perché si basano sui prezzi passati più lungo è il periodo di tempo per il mA, maggiore è il ritardo Così un 200 giorni mA avrà un grado molto maggiore di ritardo di 20 giorni mA perché contiene prezzi degli ultimi 200 giorni la lunghezza del mA da utilizzare dipende sugli obiettivi commerciali, con AIC più brevi utilizzati per il trading a breve termine ea lungo termine AIC più adatto per investitori a lungo termine Il 200 giorni MA è ampiamente seguita dagli investitori e commercianti, con interruzioni sopra e sotto questa media mobile considerato importanti signals. MAs commerciali anche impartire importanti segnali di trading per conto proprio, o quando due medie attraversa un mA in aumento indica che la sicurezza è in una tendenza rialzista, mentre un mA in calo indica che è in una tendenza al ribasso Allo stesso modo, slancio verso l'alto è confermata con un incrocio rialzista che si verifica quando un MA breve termine attraversa sopra un MA-lungo termine slancio verso il basso è confermata con un crossover ribassista, che si verifica quando un MA breve termine incrocia al di sotto di un MA-lungo termine.

No comments:

Post a Comment