기고글 토론 "MQL5에서 리소스 사용" - 페이지 4

 

안녕하세요,

기사에서 "...전문가 어드바이저는 인디케이터 또는 EX5 라이브러리에 있는 리소스를 사용할 수 있다" 고 언급되어 있습니다.

라이브러리 파일을 리소스로 임베드한 경우 라이브러리 파일의 함수를 사용할 수 있나요?

 
Jan Flodin:

안녕하세요,

기사에서 "...전문가 어드바이저는 인디케이터 또는 EX5 라이브러리에 있는 리소스를 사용할 수 있다" 고 언급되어 있습니다.

라이브러리 파일을 리소스로 임베드한 경우 라이브러리 파일의 함수를 사용할 수 있나요?

불가능합니다. 안타깝게도 불가능합니다.

 

도와주세요. 이 상황을 이해할 수 없습니다.

간단한 인디케이터와 이를 호출하는 전문가 어드바이저가 있습니다. 둘 다 공유 프로젝트의 폴더 "공유 프로젝트\테스팅\지표\"에 있습니다.

저는 인디케이터를 Expert Advisor에 리소스로 연결합니다. 그리고 이 리소스를 사용하여 핸들을 만들고 싶습니다.

다음은 코드 블록입니다:

//--- 리소스
#resource "Indicator.ex5";
//+------------------------------------------------------------------+
//| 전문가 초기화 기능|
//+------------------------------------------------------------------+
int OnInit()
  {
   string path=GetRelativeProgramPath();
   path=path+"::Indicator.ex5"; 
//--- 표시기
   int ha=iCustom(_Symbol,_Period,path);
   if(ha==INVALID_HANDLE)
      return INIT_FAILED;
//---
   return INIT_SUCCEEDED;
  }

컴파일이 성공하여 리소스로서의 인디케이터가 첨부되었습니다.

결과적으로 지표의 경로는 다음과 같습니다: 공유 프로젝트\테스트\지표\TestingEA.ex5::지표.ex5. 모든 것이 올바른 것 같습니다. 컴파일된 인디케이터 파일은 폴더에 있습니다.

GetRelativeProgramPath() 함수는 문서의 예제입니다 .

아무리 비틀어도 핸들을 만들 수 없습니다. 감사합니다.

파일: