¿Cómo obtener la longitud del enum y del ítem en MQL4/MQL5?

 

¿Cómo obtener la longitud del enum y del ítem en MQL4/MQL5?

Por ejemplo, hay una definición de enum:

enum ENUM_FRUIT {APPLE, BANANA, GRAPE};

A continuación, quiero usarlo en el bucle:

for (int i = 0; i < length_of_enum; i++) {
  Print(EnumToString(get_enum_item(i)));
} 

¿Cómo implementar este requisito?

He buscado en el foro y en la base de código, pero no he obtenido respuesta.

:-(

 
Xiangdong Guo:

¿Como obtener la longitud de un enum y un item en MQL4/MQL5?

He buscado en el foro y en la base de código, pero no he obtenido respuesta.

:-(

¿A qué te refieres con "length of enum"?

¿Puede proporcionar un ejemplo de uso para entender su pregunta - probablemente enum no es lo que está buscando?

 
Carl Schreiber:

¿Qué quiere decir con "longitud de enum"?

¿Puede proporcionar un ejemplo de uso para entender su pregunta - probablemente enum no es lo que está buscando?

He actualizado mi pregunta.
 
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Copia las tasas a la matriz bidimensional de la matriz RateInfo del gráfico, donde la segunda dimensión tiene 6 elementos:
0 - tiempo,
1 - apertura,
2 - baja,
3 - alta,
4 - cierre,
5 - volumen.
Nota: Suele ser una matriz recuperada que se utiliza para pasar grandes bloques de datos a las funciones de la DLL.
Parámetros
dest_array[] - Referencia a la matriz numérica bidimensional de destino.
symbol - Nombre del símbolo, por defecto se utiliza el nombre del símbolo del gráfico actual.
timeframe - Marco temporal, por defecto se utiliza el marco temporal del gráfico actual. Puede ser cualquiera de los valores de la enumeración Timeframe.
Ejemplo
double array1[][6];
ArrayCopyRates(array1, "EURUSD", PERIOD_H1);

Print("Barra actual ",TimeToStr(array1[0][0]), "Open", array1[0][1]);

Desde MQL4, puede ser útil

 
Maryann T Emmanuel:
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Copia las tasas a la matriz bidimensional de la matriz RateInfo del gráfico, donde la segunda dimensión tiene 6 elementos:
0 - tiempo,
1 - apertura,
2 - baja,
3 - alta,
4 - cierre,
5 - volumen.
Nota: Suele ser una matriz recuperada que se utiliza para pasar grandes bloques de datos a las funciones de la DLL.
Parámetros
dest_array[] - Referencia a la matriz numérica bidimensional de destino.
symbol - Nombre del símbolo, por defecto se utiliza el nombre del símbolo del gráfico actual.
timeframe - Marco temporal, por defecto se utiliza el marco temporal del gráfico actual. Puede ser cualquiera de los valores de la enumeración Timeframe.
Ejemplo
double array1[][6];
ArrayCopyRates(array1, "EURUSD", PERIOD_H1);

Print("Barra actual ",TimeToStr(array1[0][0]), "Open", array1[0][1]);

Desde MQL4 ,puede ser útil

Gracias, Maryann.

Pero no puede resolver mi pregunta.

 
Xiangdong Guo:

Gracias, Maryann.

Pero no puede resolver mi pregunta.

¿Qué quiere decir "longitud de enum"?
 
Xiangdong Guo:

¿Cómo obtener la longitud del enum y del ítem en MQL4/MQL5?

¿Tiene un enum dinámico? Si es así, por favor muestre como lo cambia. Si no - por qué no puede establecer length_of_enum = 3 en su código - esto es estático var inmutable
 
Xiangdong Guo:

¿Cómo obtener la longitud del enum y del ítem en MQL4/MQL5?

Por ejemplo, hay una definición de enum:

A continuación, quiero usarlo en el bucle:

¿Cómo implementar este requisito?

He buscado en el foro y en la base de código, pero no he obtenido respuesta.

:-(

Si quieres hacer un bucle a través de una lista, utiliza un array.

Un enum es una especie de variación de #define:

#define  APPLE 0   
#define  BANANA 1
#define GRAPE  2 
....

Enum es muy útil, por ejemplo, para las variables de entrada.

 
  enum Fruit {Apple,Banana,Heineken};
  int err=0;
  int scan=0;
  string item_name;

  while(err==0)
   {
   item_name=EnumToString(Fruit(scan));
   err=GetLastError();
   if(err==0) Alert(item_name);
   scan++;
   }
eso es lo más cercano que tengo si la longitud es desconocida
 
Lorentzos Roussos:
esto es lo más cercano que tengo si la longitud es desconocida
La longitud nunca es desconocida y este tema es sólo el resultado de un mal diseño.
 
Alain Verleyen:
La longitud nunca es desconocida y este tema es sólo el resultado de un mal diseño.
Mal diseño de lo que
Razón de la queja: