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

 
_Konstantin_ :

재정의하려고 하지만 상수 개체에 대해 const가 아닌 메서드 호출 오류가 발생합니다. 상수 메서드에서 비 const 메서드를 사용할 수 없습니다. 방법을 알려주십시오. 그렇지 않으면 가상 상수 메서드를 올바르게 재정의하는 방법을 스스로 생각할 수 없습니다.

탈출구는 const 메소드에서 비 const 메소드를 사용하지 않는 것입니다. 그리고 그것을 뛰어 넘을 방법이 없습니다.
 
A100 :
탈출구는 const 메소드에서 비 const 메소드를 사용하지 않는 것입니다. 그리고 그것을 뛰어 넘을 방법이 없습니다.

따라서 문제는 MQ가 생성된 정렬 메커니즘에 사용하기 위한 비교 가상 메서드를 몇 년 동안 변경하고 싶지 않았으며 재정의하지 않으면 이 메커니즘이 단순히 작동하지 않는다는 것입니다. 결과적으로 생각한 MQ 메커니즘을 사용하지 않고 고유한 정렬 메커니즘을 만들어야 합니다.

MQL4 OOP 도입 초기부터 나만의 정렬 메커니즘을 만들어 보았고, 이 순간은 이미 MQL5에서 수정되었다고 순진하게 생각했는데, 알고 보니 착각이었습니다. :)

 
_Konstantin_ :

따라서 문제는 MQ가 생성된 정렬 메커니즘에 사용하기 위한 비교 가상 메서드를 몇 년 동안 변경하고 싶지 않았으며 재정의하지 않으면 이 메커니즘이 단순히 작동하지 않는다는 것입니다. 결과적으로 생각한 MQ 메커니즘을 사용하지 않고 고유한 정렬 메커니즘을 만들어야 합니다.

MQL4 OOP 도입 초기부터 나만의 정렬 메커니즘을 만들어 보았고, 이 순간은 이미 MQL5에서 수정되었다고 순진하게 생각했는데, 알고 보니 착각이었습니다. :)

종교에서 const 수정자를 사용할 수 없습니까?

 class IntObject : public CObject
{
public :
   int Value;
   virtual int Compare( const CObject *node, const int mode= 0 ) const
   {
       const IntObject* intObj = node;
       if (intObj.Value < Value) return MORE;
       else if (intObj.Value > Value) return LESS;
       return EQUAL;
   }
   IntObject();
   IntObject( int value ){Value= value ;}
};
 
C-4 :

종교에서 const 수정자를 사용할 수 없습니까?

다른 유형의 오류가 있습니다(상수 개체 에 대해 비 const 메서드 호출).

 #define NO_CONST
class IntObject : public CObject {
public :
   virtual int f( const CObject *node ) NO_CONST { return 0 ; }
   virtual int Compare( const CObject *node, const int mode= 0 ) const { return f( node ); }
};
근본적인 고려사항으로는 극복할 수 없습니다.
 
A100 :

다른 유형의 오류가 있습니다(상수 개체 에 대해 비 const 메서드 호출).

근본적인 고려사항으로는 극복할 수 없습니다.
어떻게 안 돼!? 상수 객체에서 호출된 메서드를 상수로 만드는 것으로 충분합니다.
 
C-4 :
어떻게 안 돼!? 상수 객체에서 호출된 메서드를 상수로 만드는 것으로 충분합니다.
f()는 허용하는 경우에만 const로 만들 수 있습니다.
 class IntObject : public CObject { public :
         int i;
   virtual int f( const CObject *node ) const { return i = 0 ; } //ошибка
};
 

한 가지 질문이 있었습니다. 누군가 나에게 무언가를 말해 줄 수 있습니까!?

오프라인 종합 차트 1/EURUSD,GBPUSD를 만들고 주식 EURUSD-1 GBPUSD+1도 설정합니다.

거의 차이가 없는 동일한 차트 및 표시기 선을 얻습니다. https://charts.mql5.com/7/422/synthetic-m15-alpari-limited-6.png

그리고 두 번째 오프라인 종합 차트 EURUSD,1/GBPUSD를 만들고 자산 EURUSD+1 GBPUSD-1도 설정합니다.

차트와 지표 라인이 동일 하지 않습니다 https://charts.mql5.com/7/422/synthetic-m15-alpari-limited-5.png

가장 가능성이 높은 것은 유로-달러가 이제 거의 패리티에 가깝기 때문에 1/1.08로 뒤집으면 왜곡이 최소화되고 파운드-달러가 패리티보다 더 멀리 있으므로 1/1.48이 더 많은 왜곡을 제공한다는 가정이 있습니다.

도구를 반대로 하는 것이 더 정확한 방법을 말씀해 주시겠습니까?

 

이전에는 모든 것이 괜찮았지만 지금은 주식 지표(첨부) 의 Symbol_Side_A 매개변수 에 28개의 상품 문자열을 설정할 수 없습니다.

EURGBP-0.1 EURUSD-0.1 GBPUSD-0.1 EURCHF-0.1 EURCAD-0.1 EURAUD-0.1 EURNZD-0.1 EURJPY-0.1 AUDUSD-0.1 NZDUSD-0.1 USDCAD-0.1 USDCHF-0.1 USDJPY-0.10.1GBPAUD-GBPA 0.1 NZDJPY-0.1 AUDJPY-0.1 CADJPY-0.1 CHFJPY-0.1 AUDCAD-0.1 NZDCAD-0.1 AUDCHF-0.1 AUDNZD-0.1 CADCHF-0.1 NZDCHF-0.1 GBPNZD-0.1

어떤 이유로 데이터의 일부가 잘리고 동시에 이 줄에 데이터가 표시되지 않습니다. Symbol_Side_A 라인을 활성화한 경우에만 표시됩니다. 무엇이 문제가 될 수 있습니까? 말해 주세요.

터미널 MT4-765. ALPARI와 RVD는 문제가 있지만 GKFX에서는 모든 것이 OK입니다! 기이한!

파일:
 

업로드된 파일의 이름이 변경되지 않도록 포럼에서 하는 것이 정말 어려운가요? 일반 포럼에서처럼!

위의 EquityHedgeGraph2(v670) 표시기를 로드했습니다. 그럼 왜 이름이 훼손되었을까요?

 
#define 매개변수 목록에 주석을 달 수 없습니다.
 #define MACRO( X /*комментарий*/ )       (X) //ошибка компиляции
그러나 때로는 필요합니다. 특히 여러 매개 변수가 있는 경우