MQL4/MQL5'te numaralandırma ve öğe uzunluğu nasıl elde edilir?

 

MQL4/MQL5'te numaralandırma ve öğe uzunluğu nasıl elde edilir?

Örneğin, bir enum tanımı vardır:

 enum ENUM_FRUIT {APPLE, BANANA, GRAPE};

Sonra, onu döngüde kullanmak istiyorum:

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

Bu gereksinim nasıl uygulanır?

Forumu ve kod tabanını aradım ama cevap alamadım.

:-(

 
Xiangdong Guo :

MQL4/MQL5'te numaralandırma ve öğe uzunluğu nasıl elde edilir?

Forumu ve kod tabanını aradım ama cevap alamadım.

:-(

"Enum uzunluğu" ile ne demek istiyorsun?

Sorunuzu anlamak için bir kullanım örneği verebilir misiniz - muhtemelen enum aradığınız şey değil mi?

 
Carl Schreiber :

"Enum uzunluğu" ile ne demek istiyorsun?

Sorunuzu anlamak için bir kullanım örneği verebilir misiniz - muhtemelen enum aradığınız şey değil mi?

Sorumu güncelledim.
 
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Oranları, ikinci boyutun 6 öğeye sahip olduğu RateInfo dizisinden iki boyutlu diziye kopyalar:
0 - zaman,
1 - açık,
2 - düşük,
3 - yüksek,
4 - yakın,
5 - hacim.
Not: Genellikle büyük veri bloklarını DLL işlevlerine geçirmek için kullanılan dizi alınır.
parametreler
dest_array[] - İki boyutlu hedef sayısal diziye başvuru.
sembol - sembol adı, varsayılan olarak mevcut grafik sembol adı kullanılır.
zaman çerçevesi - Zaman çerçevesi, varsayılan olarak mevcut grafik zaman çerçevesi kullanılır. Zaman çerçevesi numaralandırma değerlerinden herhangi biri olabilir.
Örneklem
çift dizi1[][6];
ArrayCopyRates(dizi1, "EURUSD", PERIOD_H1);

Print("Geçerli çubuk ",TimeToStr(array1[0][0]),"Açık", dizi1[0][1]);

MQL4'ten itibaren faydalı olabilir

 
Maryann T Emmanuel :
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
Oranları, ikinci boyutun 6 öğeye sahip olduğu RateInfo dizisinden iki boyutlu diziye kopyalar:
0 - zaman,
1 - açık,
2 - düşük,
3 - yüksek,
4 - yakın,
5 - hacim.
Not: Genellikle büyük veri bloklarını DLL işlevlerine geçirmek için kullanılan dizi alınır.
parametreler
dest_array[] - İki boyutlu hedef sayısal diziye başvuru.
sembol - sembol adı, varsayılan olarak mevcut grafik sembol adı kullanılır.
zaman çerçevesi - Zaman çerçevesi, varsayılan olarak mevcut grafik zaman çerçevesi kullanılır. Zaman çerçevesi numaralandırma değerlerinden herhangi biri olabilir.
Örneklem
çift dizi1[][6];
ArrayCopyRates(dizi1, "EURUSD", PERIOD_H1);

Print("Geçerli çubuk ",TimeToStr(array1[0][0]),"Açık", dizi1[0][1]);

MQL4'ten itibaren faydalı olabilir

Teşekkürler Maryann.

Ama sorumu çözemez.

 
Xiangdong Guo :

Teşekkürler Maryann.

Ama sorumu çözemez.

"Enum uzunluğu" ne demek?
 
Xiangdong Guo :

MQL4/MQL5'te numaralandırma ve öğe uzunluğu nasıl elde edilir?

Dinamik bir numaralandırmanız var mı? Evet ise, lütfen nasıl değiştirdiğinizi gösterin. Hayır ise - neden kodunuzda length_of_enum = 3 ayarlayamıyorsunuz - bu statik değiştirilemez değişkendir
 
Xiangdong Guo :

MQL4/MQL5'te numaralandırma ve öğe uzunluğu nasıl elde edilir?

Örneğin, bir enum tanımı vardır:

Sonra, onu döngüde kullanmak istiyorum:

Bu gereksinim nasıl uygulanır?

Forumu ve kod tabanını aradım ama cevap alamadım.

:-(

Bir listede dolaşmak istiyorsanız bir dizi kullanın!

Bir numaralandırma, #define öğesinin bir çeşit çeşitlemesidir:

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

Enum, örneğin girdi değişkenleri için çok kullanışlıdır!

 
   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++;
   }
uzunluk bilinmiyorsa en yakınım bu
 
Lorentzos Roussos :
uzunluk bilinmiyorsa en yakınım bu
Uzunluk asla bilinmez ve bu konu sadece kötü bir tasarımdan kaynaklanmaktadır.
 
Alain Verleyen :
Uzunluk asla bilinmez ve bu konu sadece kötü bir tasarımdan kaynaklanmaktadır.
Neyin kötü tasarımı