Array out of range. Ayuda!!
Hola a todos. Este es mi segundo mensaje en el foro y como no, es para ver si alguien puede echarme un cable :)
En fin, que no me aclaro con un sistema y creo que sois los que mejor podeis ayudarme en esta nuestra lengua.
Básicamente tengo un código en mql4 que intento que me almacene una diferencia en un vector. Es este:
int n=0;
int a=1;
double GSV[];
while (n < ex_BarrasComparadasCompra) //Limitamos el nº de datos que queremos en el array.
{
if (Open[a]>Close[a]) //Nos interensan las velas bajistas.
{
GSV[n]=(High[a]-Open[a]); //Calculamos la diferencia y la guardamos en el vector GSV.
n++;
a++;
}
else if(ex_permitiralcistas==true) //Opcíon de obviar las velas alcistas (No bajistas)
{a++;}
else
{
Print("Velas alcistas no permitidas"); //Si no queremos que se permitan las velas alcistas,
return; //mostramos un mensaje y terminamos la ejecucion.
}
}
Compila bien,y al hacer bt me muestra un error: Array out of range, y la linea es la de GSV[n]=(High[a]-Open[a]);
Otra cosa, si no lo he entendido mal, return; hace que termine la ejecucion y el programa queda esperando un nuevo tick, no?
Eso es todo, gracias de antemano por la ayuda.
Re: Array out of range. Ayuda!!
Cita:
Iniciado por
Mibor90
Hola a todos. Este es mi segundo mensaje en el foro y como no, es para ver si alguien puede echarme un cable :)
En fin, que no me aclaro con un sistema y creo que sois los que mejor podeis ayudarme en esta nuestra lengua.
Básicamente tengo un código en mql4 que intento que me almacene una diferencia en un vector. Es este:
int n=0;
int a=1;
double GSV[];
while (n < ex_BarrasComparadasCompra) //Limitamos el nº de datos que queremos en el array.
{
if (Open[a]>Close[a]) //Nos interensan las velas bajistas.
{
GSV[n]=(High[a]-Open[a]); //Calculamos la diferencia y la guardamos en el vector GSV.
n++;
a++;
}
else if(ex_permitiralcistas==true) //Opcíon de obviar las velas alcistas (No bajistas)
{a++;}
else
{
Print("Velas alcistas no permitidas"); //Si no queremos que se permitan las velas alcistas,
return; //mostramos un mensaje y terminamos la ejecucion.
}
}
Compila bien,y al hacer bt me muestra un error: Array out of range, y la linea es la de GSV[n]=(High[a]-Open[a]);
Otra cosa, si no lo he entendido mal, return; hace que termine la ejecucion y el programa queda esperando un nuevo tick, no?
Eso es todo, gracias de antemano por la ayuda.
Buenas!
Puede ser porque la posición no existe (está creado pero no inicializado!). En cualquier caso, crea el array así: GSV[100] y pruebalo.
Dime qué te sale!
Saludos!
Re: Array out of range. Ayuda!!
Cita:
Iniciado por
Mibor90
Eres un genio, dos o tres horas estuve ayer buscando soluciones, menos mal que me lo has dicho porque no iba ni cerca de arreglarlo.
Va genial. Gracias figura!!
Nada hombre! :) Son años de pelearse con estas cosas...
Un saludo y espero que te salgas con el código! :)
Dream3r
Re: Array out of range. Ayuda!!
Espero que encuentres solución. No soy programador y no puedo ayudarte pero seguro que alguien puede :)
Re: Array out of range. Ayuda!!
Cita:
Iniciado por
dream3r
Buenas!
Puede ser porque la posición no existe (está creado pero no inicializado!). En cualquier caso, crea el array así: GSV[100] y pruebalo.
Dime qué te sale!
Saludos!
Eres un genio, dos o tres horas estuve ayer buscando soluciones, menos mal que me lo has dicho porque no iba ni cerca de arreglarlo.
Va genial. Gracias figura!!