![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Esto me recuerda a las matrices...
para la matriz de órdenes, usted dijo 0=compra y 1=venta
¿cómo puedo inicializar esto?
OrdersArray[10,2] = {.......}{...} ?
Creo que es exactamente como las matrices
Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego añadir los valores reales más tarde.
Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.
La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.
ordersarray[10,2] = {0};
Cuando uses bucles for con arrays todo tendrá sentido.
Creo que es exactamente como las matrices
Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego se añaden los valores reales más tarde.
Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.
La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.
ordersarray[10,2] = {0};
Cuando uses bucles for con arrays todo tendrá sentido.
He notado algo
Myarray [3][4] es multidimensional pero mira
MiMatriz[3][4] = {x,y,z}
Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que Myarray [2,0]=z pero Myarray[2,1] = 0 y Myarray[0,2] también = z.
Creo que es exactamente como las matrices
Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego se añaden los valores reales más tarde.
Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.
La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.
ordersarray[10,2] = {0};
Cuando uses bucles for con arrays todo tendrá sentido.
He notado algo
Myarray [3][4] es multidimensional pero mira
MiMatriz[3][4] = {x,y,z}
Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que Myarray [2,0]=z pero Myarray[2,1] = 0 y Myarray[0,2] también = z.
"En la secuencia inicializada se pueden omitir una o varias constantes. En tal caso, los elementos correspondientes de las matrices de tipo numérico se inicializan por cero, los elementos de las matrices de tipo cadena se inicializan por el valor de la cadena "" (comillas sin espacio), es decir, por una línea vacía (no debe confundirse con un espacio)."
y luego muestra este ejemplo,
probablemente era lo que se pretendía:
Sí, en el primer ejemplo Mas_s[2] se inicializará con 0
Resultado
13:03:01 aaa CADJPY,H1: Matriz A =ab0d
13:03:01 aaa CADJPY,H1: Matriz B =abd
13:03:01 aaa CADJPY,H1: Matriz C =ab d
Me he dado cuenta de algo
Mi matriz [3][4] es multidimensional pero mira
Myarray [3][4] = {x,y,z}
Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que MiMatriz [2,0]=z pero MiMatriz[2,1] = 0 y MiMatriz[0,2] también = z.
sí, si llenas el array de esa manera lo llena secuencialmente empezando por la primera dimensión
así que int myarray[2][2] = {1,2} llenaría
mi matriz[0,0]=1
mi matriz[1,0]=2
mi matriz[0,0]=1
mi matriz[0,1]=2
cómo conseguirías que hiciera esto usando un bucle
¿Utilizarías las variables i y j con límites acordes al tamaño del array?
por lo que debería llenarla en esta secuencia
[0,0]
[0,1]
[0,2]
[0,3]
entonces
[1,0]
[1,1]
[1,2]
[1,3]
entonces
[2,0]
[2,1]
[2,2]
[2,3]
así que int myarray[2][2] = {1,2} llenaría
mi matriz[0,0]=1
mi matriz[1,0]=2
mi matriz[0,0]=1
mi matriz[0,1]=2
cómo conseguirías que hiciera esto usando un bucle
¿Utilizarías las variables i y j con límites acordes al tamaño del array?
sí puedes sustituir las constantes dimensionales por una variable
for(int i=0; i<2, i++)
{miarray[i,0] = ? // añadiría valores a la 1ª
}
también se puede hacer de la otra manera
for(i=0; i<2; i++)
{mi matriz[0,i] = ?
}
también se puede hacer de la otra manera
for(i=0; i<2; i++)
{mi matriz[0,i] = ?
}
Gracias por aclararlo, se parece mucho a las matrices.