Como buscar el valor de la mediana de varios datos agrupados

 

Hola,

Necesito saber un código que permita buscar de la mediana de varios datos agrupados. Mql5 me presenta lo siguiente:

double  MathMedian( 
   double&  array[]   // matriz de valores 
   )

y mis datos son volumen actual, anterior.....


El código solo me permite poner esta función en las variables globales por lo que no se como asociarlo en una formula. Ejemplo

Mediana = MathMedian (volumen actual, volumen anterior, volumen...)

 
Alberto Alejandro Marrero:

Hola,

Necesito saber un código que permita buscar de la mediana de varios datos agrupados. Mql5 me presenta lo siguiente:

double  MathMedian( 
   double&  array[]   // matriz de valores 
   )

y mis datos son volumen actual, anterior.....


El código solo me permite poner esta función en las variables globales por lo que no se como asociarlo en una formula. Ejemplo

Mediana = MathMedian (volumen actual, volumen anterior, volumen...)


Hola,
creo que lo llevas un poco liado.

A esa función debes pasarle un double array[], relleno de datos de tipo double (valor con decimales) y te devuelve un valor tambien de tipo double que será la media de todos los datos que haya en ese array.
Ejemplo:

double array_ejemplo[4]={1.0,1.0,2.0,2.0};

double mediana=MathMedian(array_ejemplo);

//resultado: mediana==1.5 

No obstante, tu a lo que quieres sacar la media es al volumen, y este dato el sistema te lo entrega en formato long (es un valor entero, sin decimales, que alberga valores de muchas cifras). El calculo de una media es muy sencillo, consiste en sumar todos los elementos y dividir el resultado por el numero de elementos que has sumado.
Ejemplo:

long volumen_actual=1000000;
long volumen_anterior=1000000;
long volumen_anterior2=2000000;
long volumen_anterior3=2000000;
//como son 4 datos, los sumaremos todos y los dividiremos por 4

long media=(volumen_actual+volumen_anterior+volumen_anterior2+volumen_anterior3)/4;

//resultado: media==1500000;

Se puede hacer de mil formas mas bonitas y eficientes, pero con esto espero que lo entiendas.
Un saludo.

 
Imanol Salazar Garcia:


Hola,
creo que lo llevas un poco liado.

A esa función debes pasarle un double array[], relleno de datos de tipo double (valor con decimales) y te devuelve un valor tambien de tipo double que será la media de todos los datos que haya en ese array.
Ejemplo:

No obstante, tu a lo que quieres sacar la media es al volumen, y este dato el sistema te lo entrega en formato long (es un valor entero, sin decimales, que alberga valores de muchas cifras). El calculo de una media es muy sencillo, consiste en sumar todos los elementos y dividir el resultado por el numero de elementos que has sumado.
Ejemplo:

Se puede hacer de mil formas mas bonitas y eficientes, pero con esto espero que lo entiendas.
Un saludo.


Excelente.

Se entiende perfectamente. Muchas gracias

Razón de la queja: