[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 615

 
ToLik_SRGV:


Bueno, yo escribí lo mismo, sólo que en lugar de una variable, sugerí usar un array.

¿HAY ALGUNA OTRA FORMA DE DETERMINAR SI EL PATRIMONIO AUMENTA O DISMINUYE?
 
sllawa3:
¿HAY ALGUNA OTRA FORMA DE DETERMINAR SI EL PATRIMONIO AUMENTA O DISMINUYE?

Yo añadiría a lo anterior un suavizado en forma de medida de cambio porcentual.

Sólo en los últimos compases.

Una vez lo probé y funciona muy bien.

P.D. Capslock sería bueno para apretar.

 
Swetten:

Yo añadiría a lo anterior un suavizado en forma de medida de cambio porcentual.

Sólo en los últimos compases.

Una vez lo probé y funciona muy bien.

P.D. Capslock sería bueno para apretar.

¿en qué porcentaje de cambio y en relación a qué?
 
sllawa3:
¿Cambio porcentual en qué y en relación a qué?

Cambio porcentual de los fondos propios.

En relación a sí mismo.

 
Me refiero a la relación entre el patrimonio y el equilibrio (porque es posible disminuir la distancia entre ellos a pesar del aumento mutuo o del aumento de uno mientras el otro disminuye) Y aún así, para comparar el cambio es necesario crear un array
 
sllawa3:
Me refiero a la relación entre el patrimonio y el balance (porque es posible disminuir la distancia entre ellos a pesar del crecimiento mutuo o del crecimiento de uno mientras el otro está cayendo) Y todavía para comparar el cambio tenemos que crear un array

Hay que crear un array.

Sólo medimos la equidad (medida).

 
doble equidad;
int limit = 10; //profundidad en barras
for(int i=0;i<limit;i++)
{
patrimonio=(CuentaPatrimonio(),i);

}

algo así (como con los pavos) pero cómo escribirlo correctamente... (porque no teníamos escuela en nuestro pueblo...)

 

Es mejor así

double эквити[];
int limit = 10; //глубинa в барах 
ArrayResize(эквити,limit);
for(int i=limit-1;i>=0;i--)
{
if(i!=0)эквити[i]=эквити[i-1];
else эквити=AccountEquity();

}
 
Roger:

Así está mejor.

double эквити[];
int limit = 10; //глубинa в барах 
ArrayResize(эквити,limit);
for(int i=limit-1;i>=0;i--)
{
if(i!=0)эквити[i]=эквити[i-1];
else эквити=AccountEquity();

}

Algo me dice que hay un problema... Por supuesto, soy joven en MQL (empecé a trabajar en abril de este año) y no soy muy bueno con los arrays, pero la estructura actual llenará el array en cada tick, por lo que, la equidad será la misma en cada elemento del array (el que está disponible en este momento). Es decir, el bucle debería comprobar si se abre una nueva barra y, si lo hace, deberíamos introducir el valor de la equidad en una celda de la matriz dirigida a i. Si no se ha abierto una nueva barra, no tendríamos que introducir nada en la siguiente celda de la matriz dirigida a i -1, de lo contrario introduciríamos allí el valor actual de la equidad...
Corrígeme si me equivoco...

 
artmedia70:

Algo me dice que hay un problema... Por supuesto, soy joven en MQL (empecé a trabajar en abril de este año) y no me ocupo realmente de los arrays, pero la estructura llenará el array en cada tick, por lo que, la equidad será la misma en cada elemento del array (el que está disponible en este momento). Es decir, el bucle debería comprobar si se abre una nueva barra y, si lo hace, deberíamos introducir el valor de la equidad en una celda de la matriz dirigida a i. Si no se ha abierto una nueva barra, no tendríamos que introducir nada en la siguiente celda de la matriz dirigida a i -1, de lo contrario introduciríamos allí el valor actual de la equidad...
Corrígeme si me equivoco...


Creo que tengo razón... Yo también tengo mis dudas...