Media Mobile Ricorsiva
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Media Mobile Ricorsiva
- This topic has 4 replies, 2 voices, and was last updated 4 years ago by Emperor.it. 
Tagged: MA, Media, Media Mobile, media mobile ricorsiva, media ricorsiva, moving average, recursive, recursive moving average, ricorsivo, rma
- 
	
		
- 
		
			
				
12/29/2020 at 12:10 PM #155542Buongiorno, sto tentando di implementare un filtro ricorsivo in una Media Mobile detta appunto Ricorsiva (RMA), a seguire il codice che ho creato (per un RMA a 10 periodi): 12345678910111213141516171819//Variabili//N = Periodo RMA (9)//P = Periodo SMA di RMA (6)A=close[N]B=(close[N]+close[N-1])/2C=(close[N]+close[N-1]+close[N-2])/3D=(close[N]+close[N-1]+close[N-2]+close[N-3])/4E=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4])/5F=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4]+close[N-5])/6G=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4]+close[N-5]+close[N-6])/7H=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4]+close[N-5]+close[N-6]+close[N-7])/8I=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4]+close[N-5]+close[N-6]+close[N-7]+close[N-8])/9J=(close[N]+close[N-1]+close[N-2]+close[N-3]+close[N-4]+close[N-5]+close[N-6]+close[N-7]+close[N-8]+close)/10X=(A+B+C+D+E+F+G+H+I+J)/10Y=average[P](X)RETURN X as "RMA", Y as "AVERAGE RMA"Il codice sopra riportato può anche essere scritto nel seguente modo (da A a J) a titolo di esempio: 12345A=close[N]B=(A+close[N-1])/2C=(B+close[N-2])/3D=(C+close[N-3])/4// e continua ...Ora il problema da sottoporvi è: Se io volessi aggiungere una RMA a 15 periodi con il codice che ho creato sarei costretto ad aggiungere un nuovo indicatore, in quanto quello creato nell’esempio vale solo per la variabile N=9 periodi, aggiungendo nuove righe di codice per l’adattamento al nuovo periodo. Esiste la possibiltà di creare qualcosa di automatico, definendo la sola variabile N, a prescindere dal periodo che uno sceglie ? 12/29/2020 at 1:12 PM #155552Si, si possono usare gli array. Più tardi te la faccio. 12/29/2020 at 4:36 PM #15557312/30/2020 at 2:33 AM #155638Non servono gli array, basta una somma all’interno di un ciclo: 12345678910N = 10 //Periodo RMA (10)P = 6 //Periodo SMA di RMA (6)Somma = 0FOR i = N-1 DOWNTO 0j = N - iSomma = Somma + (summation[j](close[i]) / j)NEXTSomma = Somma / NY = average[P](Somma)RETURN Somma as "RMA", Y as "AVERAGE RMA"ovviamente puoi cambiare entrambi i periodi come preferisci e magari aggiungere le variabili in modo da poterne variare i periodi dalle proprietà dell’indicatore. Questa a 10 e 6 periodi è identica alla tua sopra. 1 user thanked author for this post.12/30/2020 at 10:05 AM #155655Perfetto !!! Grazie 1000. 
- 
		AuthorPosts
			Find exclusive trading pro-tools on 


 
		 
		 
		