Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 937

 

Quiero crear un array unidimensional en el que de 0 a 4 elementos se almacene double, de 5 a 9 se almacene datetame, de 10 a 14 se almacene int. ¿Es posible organizarlo en mql4? Si es así, ¿podrías mostrarme cómo hacerlo? Vi un ejemplo con estructuras en C++, pero perdí el enlace al sitio?

 
Seric29:

Quiero crear un array unidimensional en el que de 0 a 4 elementos se almacene double, de 5 a 9 se almacene datetame, de 10 a 14 se almacene int. ¿Es posible organizarlo en mql4? Si es así, ¿podrías mostrarme cómo hacerlo? He visto un ejemplo con estructuras en C++, pero he perdido el enlace al sitio.

Un array sólo puede tener un tipo.

Pero, ¿quién prohíbe tener un tipo de matriz con un tipo de datos máximo? En este caso es doble.

 
Artyom Trishkin:

Un array sólo puede tener un tipo.

Pero, ¿quién prohíbe tener un tipo de matriz con un tipo de datos máximo? En este caso, el doble.

Necesito que el nombre sea el mismo, de lo contrario tendré que hacer comprobaciones con la izquierda. ¿No puedo utilizar una estructura para declarar variables en ella y luego combinarlas en una matriz? ¿No se puede meter un operador sindical en la mezcla?

 
Seric29:

Necesito que el nombre sea el mismo, de lo contrario tendré que hacer comprobaciones con la izquierda. ¿No puedo hacerlo a través de una estructura, declarar variables en ella y luego combinarlas en un array? ¿No se puede pegar un operador de la unión?

¿El nombre de qué?

 
Artyom Trishkin:

¿El nombre de qué?

Nombre de la matriz. Según tengo entendido es imposible, aunque hagas una estructura, tendrás que usar un punto y combinar la información en un solo nombre, tal vez he visto el que no es, he perdido el enlace.

 
Seric29:

Nombre de la matriz. Entiendo que aunque hagas una estructura, tendrás que usar un punto y combinar la información en un solo nombre, tal vez vi el equivocado, siento haber perdido el enlace.

¿Por qué hay que dar diferentes nombres a una misma matriz? ¿Cómo se puede imaginar?

Por lo tanto, tienes un array para almacenar varios tipos numéricos (excepto la cadena, por supuesto). El array debe tener un tipo igual al tipo de datos máximo escrito en él. Por lo tanto, llénalo con diferentes tipos. Y cuando los consigas, ten cuidado con los índices, que ya conoces, para que las variables correctas con los tipos correctos obtengan valores de las diferentes celdas del array.

De 0 a 4 elementos se almacenará double, de 5 a 9 se almacenará datetame, de 10 a 14 se almacenará int

double array[15];
array[0]=0.0; array[1]=0.1; array[2]=0.2; array[3]=0.3; array[4]=0.4;
array[5]=(datetime)5; array[6]=(datetime)6; array[7]=(datetime)7; array[8]=(datetime)8; array[9]=(datetime)9;
array[10]=(int)10; array[11]=(int)11; array[12]=(int)12; array[13]=(int)13; array[14]=(int)14;
Un nombre:array
 
Artyom Trishkin:

¿Por qué hacer diferentes nombres para la misma matriz? ¿Cómo te lo imaginas?

Así, tienes un array para almacenar diferentes tipos numéricos en él (excepto la cadena, por supuesto). El array debe tener un tipo igual al tipo máximo de los datos escritos en él. Por lo tanto, llénalo con diferentes tipos. Y cuando los consigas, ten cuidado con los índices, que ya conoces, para que las variables correctas con los tipos correctos obtengan valores de las diferentes celdas del array.

El nombre es el mismo: array

Por lo tanto, almacenarán datos diferentes.

 
Seric29:

Así es como se almacenarán los diferentes datos en ellos.

¿Qué hay "en ellos"?

 
Seric29:

Vi un ejemplo con estructuras pero estaba en C++ pero perdí el enlace al sitio?

si su ejemplo no tiene punteros, entonces portarlo a MQL no será un problema

Seric29:

¿No se puede pegar el operador de la unión a la caja?

la unión no es un operador, es un tipo, se describe como una estructura, pero se utiliza para almacenar diferentes tipos de datos en un espacio de memoriahttps://www.mql5.com/ru/docs/basis/types/classes#union


Seric29:

Quería arreglarlo, pasar un array a la macro y llamar a la función sobrecargada en la macro y devolver el resultado. Parece que es primitivo, pero cuando llamo a la función sobrecargada en la macro, me avisa de que hay 3 funciones, por lo que tengo que escribir en la macro un criterio que determine a cuál de las funciones sobrecargadas llamar, pero luego tengo que preguntar cómo comprobar esto, en general, se pierde la idea.

empieza a leer al menos un libro sobre C++, tus preguntas son una pasada, escribes términos técnicos, a primera vista parece que estás haciendo una pregunta concreta, pero en realidad sólo operas en términos sin entender la esencia .... ¿qué devolverá la macro? ¿dónde devolverá? en el cuerpo de la macro función recargable.... No puedo ni empezar a explicar cómo es tu pregunta.

Para entender lo que es una macro, deletrea el término correctamente, macroSUMARIO, quizás te sea más fácil entender lo que es

 
Seric29:

Debería funcionar así.

En general, quiero lograr este efecto, pero no tengo experiencia en el área de las clases. El código se compila y funciona.

Eso es genial.

Razón de la queja: