Informa de un error de matriz fuera de rango en '**.mq5' (13,10) Si sustituyo la cadena double buf[]; por double buf[10]; entonces no hay salida fuera del array.
O doble buf[];, pero entonces tengo que hacer ArrayResize(buf,10);
Gracias.
¿puedo explicar algo más?
Es decir, si inicializo un array y luego lo lleno en el bucle, su tamaño crecerá con cada iteración, y tendré que redefinir su tamaño... Pensaba que esto se hace automáticamente, sin importar cuántos elementos le añada.
Si lo lleno inmediatamente con un número determinado de elementos, no tengo que hacer este procedimiento.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
Es decir, si inicializo un array y luego lo lleno en el bucle, su tamaño crecerá con cada iteración, y tendré que redefinir su tamaño... Pensaba que eso se hace automáticamente, sin importar cuántos elementos le añada.
y si lo lleno inmediatamente con un cierto número de elementos, no tengo que hacer tal procedimiento.
voidOnStart() { //--- double buf[]; ArrayInitialize(buf,0); int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
La función CopyXXXX() anula automáticamente el tamaño de la matriz que se le pasa.
Si rellenas el array tú mismo, si es dinámico, entonces depende del programador asegurarse de que tiene el tamaño adecuado.
Puedes, cuando declares una matriz, hacerla
un array dinámico, en cuyo caso es necesario redefinir su tamaño.
no dinámico: buff[5] - en ese caso hay que inicializarlo con los valores correctos
no dinámico: buff[]={10,20,30,40,50}; - en este caso se inicializa con valores en la declaración
¿Quién sabe qué significan los números del gráfico de ejecución en la optimización genética? Hay dos números, por ejemplo 0,637 o 7,27. Y cómo elegir la carrera correcta. Por ejemplo, estoy interesado en la tirada número 5381. ¿Cómo elegirlo?
¿Cómo puedo saber por qué esta construcción no funciona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
Si sustituyo la cadena double buf[]; por double buf[10]; entonces no hay salida fuera del array.
¿Puede decirme por qué esta construcción no funciona?
{
//---
double buf[];
ArrayInitialize(buf,0);
for(int i=0; i<10; i++)
{
buf[i]= i;
}
}
si sustituyo la cadena double buf[]; por double buf[10]; entonces no hay salida de array.
O bien doble buf[10];
O doble buf[];, pero entonces necesariamente ArrayResize(buf,10);
O bien doble buf[10];
O doble buf[];, pero entonces tengo que hacer ArrayResize(buf,10);
Gracias.
¿puedo explicar algo más?
Es decir, si inicializo un array y luego lo lleno en el bucle, su tamaño crecerá con cada iteración, y tendré que redefinir su tamaño... Pensaba que esto se hace automáticamente, sin importar cuántos elementos le añada.
Si lo lleno inmediatamente con un número determinado de elementos, no tengo que hacer este procedimiento.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
Gracias.
¿Puedo hacerlo más claro?
Es decir, si inicializo un array y luego lo lleno en el bucle, su tamaño crecerá con cada iteración, y tendré que redefinir su tamaño... Pensaba que eso se hace automáticamente, sin importar cuántos elementos le añada.
y si lo lleno inmediatamente con un cierto número de elementos, no tengo que hacer tal procedimiento.
{
//---
double buf[];
ArrayInitialize(buf,0);
int closed1=CopyClose("EURUSD",NULL,0,3,buf);
}
La función CopyXXXX() anula automáticamente el tamaño de la matriz que se le pasa.
Si rellenas el array tú mismo, si es dinámico, entonces depende del programador asegurarse de que tiene el tamaño adecuado.
Puedes, cuando declares una matriz, hacerla
La función CopyXXXX() anula automáticamente el tamaño de la matriz que se le pasa.
Si usted mismo está llenando el array, si es dinámico, es el programador quien debe asegurarse de que tiene el tamaño adecuado.
Puedes, cuando declares una matriz, hacerla
¿quién sabe cuál es el signo entre los paréntesis?GHPR=(BalanceClose/BalanceOpen)^(1/N)
La operación a nivel de bits es un OR exclusivo.
¿De verdad? ¿De verdad?
Siempre pensé que(^) era una exponenciación.
¿quién sabe cuál es el signo entre los paréntesis?GHPR=(BalanceClose/BalanceOpen)^(1/N)