오류, 버그, 질문 - 페이지 815

 
tol64 :

알려주십시오. 호출되는 표시기의 이름이 변수에 포함되어 있으면 표시기 핸들을 수신할 때 오류가 발생하는 이유는 무엇입니까?

즉, 다음과 같은 오류가 없습니다.

그리고 이것이 오류 4802 가 발생하는 방법입니다(표시기를 생성할 수 없음).

여기에서 tester_indicator 에 대해 읽어보세요 .
 
marketeer :
여기에서 tester_indicator 에 대해 읽어보세요 .
네, 읽고 또 읽고 또 읽었습니다. )) 그러나 무언가가 필요한 것을 얻지 못합니다. 그리고 변수 표시기의 이름을 설정해야 합니다.
 
tol64 :
네, 여러번 읽고 또 읽었습니다. )) 그러나 무언가가 필요한 것을 얻지 못합니다. 그리고 변수 표시기의 이름을 설정해야 합니다.
그래서 test_indicator 속성을 추가 했습니까? 분명히 이것이 없이는 아닙니다.
 
marketeer :
그래서 test_indicator 속성을 추가 했습니까? 분명히 이것이 없이는 아닙니다.

시험을 마친. 뭔가 제대로 작동하지 않습니다. 예를 들어 주시겠습니까(제가 잘못하고 있는 것 같습니다)?

추신 그것은 밝혀졌습니다. 어디에도 없습니다. 쉬러 갔다. ))

추신.2. 그러나 여전히 test_indicator 속성 을 통해 모든 표시기를 등록해야한다는 사실에 달려 있음이 밝혀졌습니다. 즉, 지표의 이름이 외부 매개변수에 의해 설정되고 사용자에게 새 지표가 있는 경우 코드를 다시 입력해야 합니다. 이것은 우리가 원하는 것이 아닙니다.

 
tol64 :

추신.2. 그러나 여전히 test_indicator 속성 을 통해 모든 표시기를 등록해야한다는 사실에 달려 있음이 밝혀졌습니다. 즉, 지표의 이름이 외부 매개변수에 의해 설정되고 사용자에게 새 지표가 있는 경우 코드를 다시 입력해야 합니다. 이것은 우리가 원하는 것이 아닙니다.

그렇게 5분의 1이 완성됩니다. 네 마리에는 그러한 의존성이 없었고, 나는 임의로 다른 여러 칠면조로 칠면조를 만드는 데 그것을 사용했습니다. 아마도 개발자들은 이에 대해 어떻게 생각하는지 표현할 것입니다.
 
marketeer :
그렇게 5분의 1이 완성됩니다. 네 마리에는 그러한 의존성이 없었고, 나는 임의로 다른 여러 칠면조로 칠면조를 만드는 데 그것을 사용했습니다. 아마도 개발자들은 이에 대해 어떻게 생각하는지 표현할 것입니다.

문제는 MT5 테스터의 Expert Advisors가 터미널 외부에서 시작되고 MT4에 있던 전체 라이브러리 환경이 없다는 것입니다.

예를 들어 Expert Advisor는 일반적으로 클라우드로 전송되며 추가 연결을 전송하려면 다음을 수행해야 합니다.

  1. 컴파일러가 자동으로 전문가 종속성을 규정할 수 있도록 호출에 정적 표시기 이름을 사용합니다.
  2. 의존성 목록을 수동으로 작성하기 위해 속성을 통해 필요한 지표 목록을 명시적으로 규정

동적 표시기 호출을 사용하는 경우 사용된 목록을 수동으로 입력해야 합니다. 타사 테스트를 시작하면 모든 종속 파일이 EA와 함께 전송됩니다. 이들은 로컬(어쨌든 터미널 외부에 있음)이거나 원격 또는 클라우드 에이전트일 수 있습니다.

이것은 "시작을 클릭하고 다른 생각하지 마십시오. 모든 것이 자동으로 작동합니다."에 대해 지불해야 하는 대가입니다.

Способы вызова индикаторов в MQL5
Способы вызова индикаторов в MQL5
  • 2010.03.09
  • KlimMalgin
  • www.mql5.com
C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
 
Renat :

문제는 MT5 테스터의 Expert Advisors가 터미널 외부에서 시작되고 MT4에 있던 전체 라이브러리 환경이 없다는 것입니다.

이것은 "시작을 클릭하고 다른 생각하지 마십시오. 모든 것이 자동으로 작동합니다."에 대해 지불해야 하는 대가입니다.

이것은 이해할 수 있지만, 일반적이고 효과적인 유연성을 상실했기 때문에 사용자는 정기적으로 반론을 제기합니다. 실제로 정적 연결 모델만 구현했습니다. 그리고 사람들은 또한 동적 바인딩을 요구합니다. 이론상으로는 뭔가가 클라우드로 갔다가 카운트되기 시작했다가 갑자기 외부 터키로 바뀌더라도 단말에서 에이전트로 전송되는 다른 모든 환경과 동일한 방식으로 요청하고 다운로드할 수 있습니다. 글쎄요, 맞습니다 - 큰 소리로 생각하십시오. 나는 이 질문을 하지 않았다 ;-).
 

아마도 질문이 이미 제기되었지만 포럼에서 찾지 못했습니다.

다음 코드(test() 메서드)에서 개체에 대한 상수 설명자(참조)를 가져와 상수가 아닌 개체에 할당하면 컴파일러(MetaEditor 5.00, Build 687)에서 오류가 발생하지 않습니다.

 class A{
   public :
       void someDo() {}
};

class B{
   public :
       void B( A* aA ) : mA( aA ) {}
       const A* getA() { return (mA); }   
   private :
      A* mA;
};

void test(){
   A a;
   B b( GetPointer ( a ) );

   //Ошибки нет. И это правильно   
   const A* a1 = b.getA();
   //Ошибка есть: "...someDo' - call non-const method for constant object..". И это правильно   
   a1.someDo();
   
   //Ошибки нет. Это НЕ правильно(CONST A* B::getA())!
   A* a2 = b.getA();
   //ошибки нет. Правильно (а2 не const)
   a2.someDo();
}
 
mvk :

아마도 질문이 이미 제기되었지만 포럼에서 찾지 못했습니다.

다음 코드(test() 메서드)에서 개체에 대한 상수 설명자(참조)를 가져와 상수가 아닌 개체에 할당하면 컴파일러(MetaEditor 5.00, Build 687)에서 오류가 발생하지 않습니다.

이것은 오류없이 진행되는 방법입니다

 class A{
   public :
       void someDo() const {};
};
 

객체에 대한 포인터 속도에 대한 개발자 질문


왜 첫 번째 코드

 class CSomeObj
{
public :
   double prm;
};

CSomeObj arr;

void OnStart ()
{
         EventSetTimer ( 1 );

         uint s0= GetTickCount ();
         for ( int i= 0 ; i< 100000000 ; i++) arr. prm= 10 ;
         Print ( "1=" , GetTickCount ()-s0);
        
        s0= GetTickCount ();
        CSomeObj * item= GetPointer (arr) ;
         for ( int i= 0 ; i< 100000000 ; i++) item. prm= 10 ;
         Print ( "2=" , GetTickCount ()-s0);
}

두 번째 것보다 배 빠르게 작동합니까?

2012.08.21 09:56:40 정보 (EURUSD,D1) 2=1654
2012.08.21 09:56:38 정보 (EURUSD,D1) 1=795

속도를 높이기 위해 최적화할 수 있습니까?

사유: