Como obter o comprimento do enumero e item em MQL4/MQL5 ?

 

Como obter o comprimento do enumero e item em MQL4/MQL5 ?

Por exemplo, há uma definição de enumeração:

enum ENUM_FRUIT {APPLE, BANANA, GRAPE};

A seguir, quero utilizá-lo em loop:

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

Como implementar este requisito?

Procurei no fórum e na base de códigos, mas não obtive resposta.

:-(

 
Xiangdong Guo:

Como obter o comprimento do enumero e item em MQL4/MQL5 ?

Procurei no fórum e na base de códigos, mas não obtive resposta.

:-(

O que você quer dizer com "duração do enumero"?

Você pode fornecer um exemplo de uso para entender sua pergunta - provavelmente enumerar não é o que você está procurando?

 
Carl Schreiber:

O que você quer dizer com "duração da enumeração"?

Você pode fornecer um exemplo de uso para entender sua pergunta - provavelmente enumerar não é o que você está procurando?

Atualizei minha pergunta.
 
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Copia as taxas para a matriz bidimensional a partir da matriz gráfica RateInfo, onde a segunda dimensão tem 6 elementos:
0 - tempo,
1 - aberto,
2 - baixo,
3 - alto,
4 - fechar,
5 - volume.
Nota: Normalmente, a matriz recuperada é usada para passar grandes blocos de dados para as funções DLL.
Parâmetros
dest_array[] - Referência à matriz numérica bidimensional de destino.
símbolo - nome do símbolo, por padrão, é usado o nome do símbolo do gráfico atual.
timeframe - período de tempo, por padrão, é usado o período de tempo atual do gráfico. Pode ser qualquer um dos valores de enumeração de Time frame.
Exemplo
dupla matriz1[][6];
ArrayCopyRates(array1, "EURUSD", PERÍODO_H1);

Print("Current bar ",TimeToStr(array1[0][0]), "Open", array1[0][1]);

Da MQL4 , pode ser útil

 
Maryann T Emmanuel:
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Copia as taxas para a matriz bidimensional a partir da matriz gráfica RateInfo, onde a segunda dimensão tem 6 elementos:
0 - tempo,
1 - aberto,
2 - baixo,
3 - alto,
4 - fechar,
5 - volume.
Nota: Normalmente, a matriz recuperada é usada para passar grandes blocos de dados para as funções DLL.
Parâmetros
dest_array[] - Referência à matriz numérica bidimensional de destino.
símbolo - nome do símbolo, por padrão, é usado o nome do símbolo do gráfico atual.
timeframe - período de tempo, por padrão, é usado o período de tempo atual do gráfico. Pode ser qualquer um dos valores de enumeração de Time frame.
Exemplo
dupla matriz1[][6];
ArrayCopyRates(array1, "EURUSD", PERÍODO_H1);

Print("Current bar ",TimeToStr(array1[0][0]), "Open", array1[0][1]);

Da MQL4 , pode ser útil

Obrigado, Maryann.

Mas isso não pode resolver minha pergunta.

 
Xiangdong Guo:

Obrigado, Maryann.

Mas isso não pode resolver minha pergunta.

O que você quer dizer com "duração da enumeração"?
 
Xiangdong Guo:

Como obter o comprimento do enumero e item em MQL4/MQL5 ?

Você tem um enumero dinâmico? Se sim, por favor, mostre como você o muda. Se não - por que você não pode definir length_of_enum = 3 em seu código - este é um var estático imutável.
 
Xiangdong Guo:

Como obter o comprimento do enumero e item em MQL4/MQL5 ?

Por exemplo, há uma definição de enumeração:

A seguir, quero utilizá-lo em loop:

Como implementar este requisito?

Procurei no fórum e na base de códigos, mas não obtive resposta.

:-(

Se você quiser passar por uma lista, use uma matriz!

Uma enumeração é uma espécie de variação de #define:

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

O enum é muito útil, por exemplo, para variáveis 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++;
   }
isso é o mais próximo que tenho se o comprimento for desconhecido
 
Lorentzos Roussos:
isso é o mais próximo que tenho se o comprimento for desconhecido
O comprimento nunca é desconhecido e este tópico é apenas o resultado de um design ruim.
 
Alain Verleyen:
O comprimento nunca é desconhecido e este tópico é apenas o resultado de um design ruim.
Má concepção do que
Razão: