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

[삭제]  
고마워요.
 

테스터에서리소스를 사용하면 작동하나요? 작동하지 않습니다. 오류 4802.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1

#resource "\\Indicators\\Examples\\ADX.EX5"
#property tester_indicator "\\Indicators\\Examples\\ADX.EX5"
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\ADX.EX5");
   if(handle!=INVALID_HANDLE)
     {
      ChartIndicatorAdd(0,1,handle);
     }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| 사용자 지정 표시기 반복 함수 |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  return(rates_total);}

	          
 
Karlson:

테스터에서 리소스를 사용하면 작동하나요? 작동하지 않습니다. 오류 4802.

실제로 무엇을 하시겠습니까?

자체 계산 엔진이 있는 외부 지표에서 이 지표의 계산 함수 OnCalculate를 재정의하시겠습니까? 그렇게 할 수 없습니다.

 
예. 지그재그로부터 데이터를 수신하고 이를 리소스로 포함시키고 싶었습니다.
 

그러나 테스터에서 표시기를 확인하려면 잠금 메커니즘 자체가 있어야 합니다.

if(MQL5InfoInteger(MQL5_TESTING)==true) // 테스터인 경우 폴더에서 가져옵니다.
     {
      f_h=iCustom(_Symbol,_Period,"Examples\\Zigzag",5,5,3);
     }
   else                                 // 차트에 있는 경우 내장된
     {
      f_h=iCustom(_Symbol,_Period,"::Indicators\\Examples\\Zigzag.EX5",5,5,3);
     }

또 다른 옵션은 안전 잠금 장치를 완전히 삽입하는 것입니다.

 

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트에 관한 포럼

"MQL5에서 리소스 사용하기" 문서에 대한 토론.

레나트, 2013.01.16 22:21

2012년 11월 24일 730 빌드에 추가되었습니다:

  • MQL5: EX5 리소스에 인디케이터 저장 지원 추가. 리소스에 있는 인디케이터는 자체 리소스와 함께 작동할 수 없습니다.
리소스에서 로드된 인디케이터에 OBJ_BITMAP_LABEL 유형의 그래픽 개체를 만들고 그 위에 TextOut의 텍스트를 오버레이하는 방법을 알려주시겠어요?
리소스에서 로드된 프로그램의 자체 리소스로 작업하는 기능인 TextOut에 대해서만 예외를 둘 수 있나요?
 
fyords:
리소스에서로드 된 표시기에 OBJ_BITMAP_LABEL 유형의 그래픽 개체를 만들고 TextOut의 텍스트를 오버레이하는 것이 어떻게 가능한지 알려주시겠습니까?
TextOut에만 예외를 만들 수 있습니까 - 리소스에서로드 된 프로그램의 자체 자원으로 작업 할 수있는 기능이 있습니까?
그리고 정확히 어떤 곳에서 문제가 있습니까? 정확히 무엇이 작동하지 않습니까?
 
Renat:
정확히 어디가 문제인가요? 정확히 무엇이 작동하지 않나요?

리소스에서 하위 표시기가 시작됩니다.
TextOut은 하위 표시기에서 사용되며 결과는 ResourceCreate를 통해 OBJ_BITMAP_LABEL에 로드되지만 리소스에서 리소스를 사용할 수 없습니다.

그 결과 객체가 나타나고 리소스가 속성에 지정되지만 텍스트 자체는 출력되지 않습니다.

 
fyords:


TextOut은 자식에서 사용되며 결과는 ResourceCreate를 통해 OBJ_BITMAP_LABEL에 로드되지만 리소스에서 리소스를 사용할 수 없습니다.

그 결과 개체가 나타나고 리소스가 속성에 지정되지만 텍스트 자체는 출력되지 않습니다.

예, 현재 리소스 개체에서 리소스를 로드하는 것은 불가능합니다.

실제로 상황은 다음과 같습니다. 타사 리소스에서 "가져온" 표시기는 호출된 모듈 내에 위치하기 시작하고 리소스에 대한 모든 호출은 기본 본문이 아닌 호출된 모듈의 본문으로 이동합니다. 현재 이 문제에 대해 고민 중이며 곧 해결될 가능성이 높습니다.

 
Renat:

... 현재 이 문제에 대해 고민 중이며 곧 해결할 수 있을 것입니다.

감사합니다, 기다리겠습니다.