MQL4/MQL5에서 열거형 및 항목의 길이를 얻는 방법은 무엇입니까?

 

MQL4/MQL5에서 열거형 및 항목의 길이를 얻는 방법은 무엇입니까?

예를 들어 열거형 정의가 있습니다.

 enum ENUM_FRUIT {APPLE, BANANA, GRAPE};

다음으로 루프에서 사용하고 싶습니다.

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

이 요구 사항을 구현하는 방법은 무엇입니까?

포럼 및 코드 기반을 검색했지만 답변을 얻지 못했습니다.

:-(

 
Xiangdong Guo :

MQL4/MQL5에서 열거형 및 항목의 길이를 얻는 방법은 무엇입니까?

포럼 및 코드 기반을 검색했지만 답변을 얻지 못했습니다.

:-(

"열거 길이"는 무엇을 의미합니까?

질문을 이해하기 위한 사용법의 예를 제공할 수 있습니까? 아마도 enum이 당신이 찾고 있는 것이 아닐 것입니까?

 
Carl Schreiber :

"열거 길이"는 무엇을 의미합니까?

질문을 이해하기 위한 사용법의 예를 제공할 수 있습니까? 아마도 enum이 당신이 찾고 있는 것이 아닐 것입니까?

내 질문을 업데이트했습니다.
 
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
두 번째 차원에 6개의 요소가 있는 차트 RateInfo 배열에서 요금을 2차원 배열로 복사합니다.
0 - 시간,
1 - 열기,
2 - 낮음,
3 - 높음,
4 - 닫기,
5 - 볼륨.
참고: 일반적으로 큰 데이터 블록을 DLL 함수 에 전달하는 데 사용되는 검색된 배열입니다.
매개변수
dest_array[] - 2차원 대상 숫자 배열에 대한 참조입니다.
기호 - 기호 이름, 기본적으로 현재 차트 기호 이름이 사용됩니다.
timeframe - 기본적으로 현재 차트 시간 프레임이 사용되는 시간 프레임입니다. 시간 프레임 열거 값 중 하나일 수 있습니다.
견본
이중 배열1[][6];
ArrayCopyRates(배열1,"EURUSD", PERIOD_H1);

Print("현재 막대 ",TimeToStr(array1[0][0]),"열기", array1[0][1]);

MQL4에서 유용할 수 있음

 
Maryann T Emmanuel :
int ArrayCopyRates(double& dest_array[], string symbol=NULL, int timeframe=0)
두 번째 차원에 6개의 요소가 있는 차트 RateInfo 배열에서 요금을 2차원 배열로 복사합니다.
0 - 시간,
1 - 열기,
2 - 낮음,
3 - 높음,
4 - 닫기,
5 - 볼륨.
참고: 일반적으로 큰 데이터 블록을 DLL 함수에 전달하는 데 사용되는 검색된 배열입니다.
매개변수
dest_array[] - 2차원 대상 숫자 배열에 대한 참조입니다.
기호 - 기호 이름, 기본적으로 현재 차트 기호 이름이 사용됩니다.
timeframe - 기본적으로 현재 차트 시간 프레임이 사용되는 시간 프레임입니다. 시간 프레임 열거 값 중 하나일 수 있습니다.
견본
이중 배열1[][6];
ArrayCopyRates(배열1,"EURUSD", PERIOD_H1);

Print("현재 막대 ",TimeToStr(array1[0][0]),"열기", array1[0][1]);

MQL4에서 유용할 수 있음

고마워, 마리안.

하지만 내 질문을 해결할 수 없습니다.

 
Xiangdong Guo :

고마워, 마리안.

하지만 내 질문을 해결할 수 없습니다.

"열거 길이"는 무엇을 의미합니까?
 
Xiangdong Guo :

MQL4/MQL5에서 열거형 및 항목의 길이를 얻는 방법은 무엇입니까?

동적 열거형이 있습니까? 그렇다면 어떻게 변경하는지 보여주세요. 아니오인 경우 - 코드에서 length_of_enum = 3을 설정할 수 없는 이유 - 이것은 static unchangeable var입니다.
 
Xiangdong Guo :

MQL4/MQL5에서 열거형 및 항목의 길이를 얻는 방법은 무엇입니까?

예를 들어 열거형 정의가 있습니다.

다음으로 루프에서 사용하고 싶습니다.

이 요구 사항을 구현하는 방법은 무엇입니까?

포럼과 코드베이스를 검색했지만 답변을 얻지 못했습니다.

:-(

목록을 반복하려면 배열을 사용하십시오!

열거형은 일종의 #define 변형입니다.

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

Enum은 예를 들어 입력 변수에 매우 유용합니다!

 
   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++;
   }
길이가 알려지지 않은 경우 가장 가까운 것입니다.
 
Lorentzos Roussos :
길이가 알려지지 않은 경우 가장 가까운 것입니다.
길이는 알 수 없으며 이 주제는 잘못된 디자인에서 비롯된 것입니다.
 
Alain Verleyen :
길이는 절대 알 수 없으며 이 주제는 잘못된 디자인에서 비롯된 것입니다.
무엇의 나쁜 디자인
사유: