mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 193

 
fxsaber :

물론 모든 규칙은 인위적입니다.

동의한다. 미술 질문입니다 :)

 

알려주세요 - 많은(예를 들어 50개) 매개변수가 있는 Expert Advisor에서 사용자 지정 지표 를 사용할 때 지표 매개변수를 제어하는 방법 중 누구에게나 편리한 것은 무엇입니까? (칠면조 매개 변수를 전문가 매개 변수로 직접 전송하는 것을 제외하고 모든 것이 여기에서 명확합니다.)

어떤 외국 코드에서 iCustom을 호출할 때 * .set 파일 로딩 유형을 사용하는 것을 만났지만 검색에서 그런 것을 찾지 못했고 테스트에 따라 작동하지 않는 것 같습니다.

누군가가 알고 있고 문서화되지 않은 트릭이 있습니까?

 

최신 릴리스 빌드는 2650입니다. 다음과 같은 스크립트가 컴파일되지 않는 것은 정상입니다.

 struct A_INFO
{
   int a;
};

bool operator <( const A_INFO &First, const A_INFO &Second) //operator< has invalid parameters count
{
   return First.a<Second.a;
}

void OnStart ()
{
}

그리고 이것은 정상입니다.

 struct A_INFO
{
   int a;
};

bool operator <( const A_INFO &First)
{
   return true ;
}

void OnStart ()
{
}

그는 내가 1 값을 비교하기를 기대합니까? 또는 연산자 를 구조체의 비멤버 로 만들 수 없는 이유는 무엇입니까?

 
그리고 이어진 두 번째 질문. 그러한 구조의 배열에 ArraySort 를 설정하는 것이 불가능한 이유는 무엇입니까? 정의된 < 연산자를 통해 비교하는 것을 방지하는 것은 무엇입니까?
 
traveller00 :

그는 내가 1 값을 비교하기를 기대합니까?

두 번째 값(연산자의 왼쪽에 있음)은 이것입니다.

 
fxsaber :

두 번째 값(연산자의 왼쪽에 있음)은 이것입니다.

연산자 를 구조체의 멤버가 아니라 전역으로 만든 이유는 무엇입니까? 아니면 전 세계적으로 할 수 없습니까? C++는 다르게 동작합니다.

 
traveller00 :

연산자 를 구조체의 멤버가 아니라 전역으로 만든 이유는 무엇입니까? 아니면 전 세계적으로 할 수 없습니까? C++는 다르게 동작합니다.

이 연산자에 대해 아는 것이 없습니다.

 
traveller00 :
그리고 이어진 두 번째 질문. 그러한 구조의 배열에 ArraySort를 설정하는 것이 불가능한 이유는 무엇입니까? 정의된 < 연산자를 통해 비교하는 것을 방지하는 것은 무엇입니까?

내장 ArraySort는 모든 표준 유형에 대해 오버로드된 함수일 뿐입니다.

도움이 되는 수업 및 기타 OOP. 모든 유형(구조체)에 공통 조상(SB의 CObject )이 있는 경우 주제에 대해 자세히 설명합니다.

 
Aleksey Mavrin :

내장 ArraySort는 모든 표준 유형에 대해 오버로드된 함수일 뿐입니다.

도움이 되는 수업 및 기타 OOP. 모든 유형(구조)에 공통 조상(SB의 CObject)이 있는 경우 주제에 대해 자세히 설명합니다.

예, 내부에서 어떻게 수행되는지 대략적으로 상상할 수 있습니다. 대답을 위한 질문은 아니었다. 그러나 제안 사항으로 STL과 같은 다른 구현 옵션에 주의하고 분류기를 포함하여 보편적인 것을 작성할 수 있는 유사한 방식으로 컨테이너와 함께 작동하도록 하십시오.

 
traveller00 :

예, 내부에서 어떻게 수행되는지 대략적으로 상상할 수 있습니다. 대답을 위한 질문은 아니었다. 그러나 제안 사항으로 STL과 같은 다른 구현 옵션에 주의하고 분류기를 포함하여 보편적인 것을 작성할 수 있는 유사한 방식으로 컨테이너와 함께 작동하도록 하십시오.

의심의 여지가 없습니다. STL foreva) ArraySort 를 템플릿으로 만든 다음 이미 설정하여 오버로드할 수 있다고 생각하지만 템플릿에 특출한 사람은 아니지만 일반 클래스 계층 구조로 작업하는 데 좀 더 익숙해졌습니다.