Se, in un grafico, abbiamo fatto due barre che sono inferiori almeno i due bar prima e scambiare una linea indietro ad una barra da tale barra corrente che è almeno partire da barra corrente, ci sarà un alto bar tra queste due bar. La media mobile che vorrei è di lunghezza periodo compreso tra la barra in alto per l'attuale lunghezza della barra bar, inclusiva. Quindi, se ci sono 5 bar da quella barra alta tra le due barre quotconnectedquot, inclusiva, la durata del periodo del MA di interesse sarebbe 5. Se un'altra barra inferiore è stata generata e la barra in alto tra quello e bar prima che era di altrettanto basso prezzo era lo stesso bar, poi la durata del periodo del MA di interesse sarebbe quindi 6. esiste un IndicatorEA che produce questo MA o potrebbe ad esempio essere codificato Forse anche qualcosa di simile fuori ci sarebbe un buon punto di partenza. Sì, si può fare. ma avete bisogno di un metodo di come identificare i bassi e gli alti. molto probabilmente l'indicatore ridisegnare l'ultimo altalena. se si guarda al mio fianco si trova un indicatore che fa quasi la stessa Come posso raggiungere i tuoi alti laterali abbinate e basso: Se la barra attuale è inferiore rispetto ai precedenti due bar, tracciare una linea arretrata rispetto alla barra corrente ad un bar che è almeno partire. Poi trovare la barra tra la barra corrente e quel bar storico che è stato almeno altrettanto basso che è superiore a tutti gli altri bar in mezzo. Questa è la barra di ancoraggio. Il numero di barre da tale barra alta alla barra corrente è la lunghezza del periodo di MA. Se la barra successiva dopo che la barra di corrente maggiore, la durata del periodo MA rimane lo stesso. Se è inferiore, di quello che hai a ripetere tutto quanto sopra per il nuovo bar. In questo caso l'indicatore si richiede avrebbe ridisegnare gli ultimi 3 bar. Ps, ti ho inviare un pm dal momento che presentano un collegamento è considerato come adverticing qui. Non sono sicuro se ho capito il metodo highlow. Se la barra di corrente è superiore alla due precedenti una ripresa è iniziata se barra corrente è inferiore alla due precedenti un rallentamento è iniziato periodo Ma viene regolata al lengt dello swing. Non riesco a vedere un sistema in questo indicatore: (Sto cercando di ottenere un semplice codice VBA come parte di una macro che metterà nella colonna B la media dei valori per ogni riga Ho codice che genera una serie temporale e colma una. colonna per la simulazione in modo tale che ogni colonna è una serie storica a partire dalla colonna C. il numero di simulazioni variano così ho semplicemente bisogno di qualcosa che le medie il valore di ogni punto nel tempo (cioè per ogni riga in tutte le simulazioni), mentre la regolazione per il numero di simulazioni che vengono eseguiti (colonne che sono pieni). vorrei poi per generare un singolo grafico di tutta la serie storica evidenziando i valori medi che vengono calcolate. Molte grazie se si può aiutare Qui, per esempio, è il codice che prende . i valori per le fasi di tempo da sheet1 e la colloca in Columna sheet2 vorrei la macro ora di mettere alla media nella riga appropriata giù Colonna B:. chiesto 13 luglio 12 a 1:58 Grazie per i commenti che vorrei integrare questa funzione come parte di una macro che genera automaticamente queste serie di tempo. Come non so quante colonne ci stanno per essere (forse centinaia) e potrebbe essere necessario ripetere la simulazione molte volte avrà bisogno di essere incorporato come parte di questo macro. I hanno aggiornato la questione e mettere più in dettaglio come si richiede. ndash Mary 13 luglio 12 alle 10:35 Grazie per il vostro aiuto. Ci saranno sempre i dati dopo colonna C come ho intenzione di eseguire migliaia di serie temporali. Mi chiedo se si dispone di un codice per rilevare automaticamente il range di dati del foglio di lavoro in modo da tracciare il grafico cioè sostituire la parte gamma di codice seguente con qualcosa di adatto Vedo che hai dato consigli a qualcosa di simile in un post precedente, ma devo stato in grado di adattarlo al mio. Sub Grafico () ActiveSheet. Shapes. AddChart. Select ActiveChart. ChartType xlXYScatterSmoothNoMarkers ActiveChart. SetSourceData Fonte: Range (quotSheet2A1: E101quot) End Sub ndash Maria 13 luglio 12 a 16:03 Ciao ragazzi. Grazie mille. Entrambi i contributi funzionano davvero bene nel calcolo delle medie per l'esempio mostrato. Tuttavia, il numero di colonne varierà quindi la media dovrà essere calcolato dalla colonna C per quotxquot seconda del numero di repliche simulazione genera. Sto avendo difficoltà a farla riconoscere quante colonne vi sono che devono essere in media prima di fare il calcolo che i tuoi codici a abbastanza bene. Qualsiasi aiuto su come ottenere il grafico di generare sarebbe un grande vantaggio troppo). Davvero apprezzare il vostro aiuto su questo. Grazie ancora ndash Maria 13 luglio 12 a 13: 29Your interna per è l'iterazione tutta la matrice di modo che è il motivo per cui si ottiene sempre la stessa media (quello per l'intero array), si dovrebbe scorrere da 0 al numero attuale di quella esterna per posto . La vostra media mobile viene aggiornato in base a j del vostro interiore per questo significa che si sostituisce i valori precedenti ogni nuovo ciclo, questo dovrebbe essere all'interno del esterna per invece di quello interno utilizzando i come indice. Si state dividendo sumj per calcolare le medie, ogni nuovo ciclo j interno si dividere per 0 la prima somma. Credo che si intende utilizzare J1, invece, l'indice non è lo stesso di punte di lunghezza corrente per la risoluzione: Evitare l'uso di variabili per le matrici di loop, è necessario utilizzare Array. length invece. Per una questione di riprodurre il problema ci potrebbe dare il problema isolato anziché il codice corrente. vale a dire: immaginate se l'errore è nei vostri input, come potremmo credere davvero usato loro che sono looping su tutti i dati ogni volta. Si dovrebbe avere for (int j (igtaverageLengthi-averageLength2: 0) JLT iaverageLength2 jltnumDataPoints ampamp j) (o qualcosa di simile) per la media più interno. Inoltre, movingAverageisumj deve essere modificato per gestire il caso in cui j è 0. In particolare, dovrebbe probabilmente movingAverageisumaverageLength e dovrebbe essere applicato alla fessura movingAveragei all'esterno del ciclo di media. ha risposto 4 ottobre 13 al 20:42 La prossima volta, prendere le osservazioni circa l'assegnazione fuori questione prima di postare esso. Ma dal momento che ti sembra abbastanza nuovo a questo, pensare a come si dovrebbe passare attraverso i dati, e fargli fare quello. Si dovrebbe cercare di assicurarsi che ogni ciclo si ferma al punto giusto, e ricordare che se si sarebbe fermato quando non ci sono più numeri, (come quando si sta facendo il ciclo interno e si può ottenere solo altri 3 numeri invece di 4) il programma ha bisogno di fermarsi troppo. Assicurarsi che il codice sta controllando per questo. risponde 4 13 Ottobre alle 20:56 senza alcun ulteriore dettaglio, probabilmente avete bisogno di una media mobile ponderata. In qualsiasi punto Ai nell'input array A di lunghezza N (con 0ltiltN), questo è semplicemente la media delle voci K precedenti della matrice, fino al Ai. Se vi arent K tali valori, quindi la media dei valori (I1) da A0 attraverso Ai. inclusiva. Un po 'di pensiero vi mostrerà che non avete bisogno di sommare tutti i valori K ogni volta. Basta tenere la somma e, quando ci si sposta al punto successivo (si tratta di una media mobile), sottrarre il thats valore sostituiti e aggiungere il nuovo valore che lo sostituirà. (Durante le prime K-1 punti, youll sufficiente aggiungere il nuovo valore alla somma e aumentare il contatore di 1.) In qualsiasi punto in questo processo, la media mobile è la somma divisa per il valore corrente. risponde 4 13 Ottobre alle 21:05 In una media mobile, è necessario avere un qualche tipo di dimensione della finestra. La dimensione della finestra è averageLength, così sarà simile a questa: Il ciclo for dalle ore i dati attuali e risale punti dati averageLength e li aggiunge in su. Si avrà solo una media mobile quando si ha si ha quando si dispone di punti di dati sufficienti e la media sarà la somma divisa per la lunghezza media. Nota: Non testato codice appena sudo, ma questa è l'idea. ha risposto 4 ottobre 13 alle 21:05 La vostra risposta 2017 Stack Exchange, Inc
No comments:
Post a Comment