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

 
Vladimir Pastushak :

함수 오버로딩

...다음은?
 
Joo Zepper :
...다음은?

허용되지 않는 두 개의 동일한 메서드를 선언했습니다. 오버로드의 경우 메서드 는 내부 매개변수 집합에 의해 서로 달라야 합니다.

 class C_A
{
   void B( int a);
   void B( double a);
};
 
Vladimir Pastushak :

허용되지 않는 두 개의 동일한 메서드를 선언했습니다. 오버로드의 경우 메서드 는 내부 매개변수 집합에 의해 서로 달라야 합니다.

과부하에 대해 알고 있습니다. 그러나 그것은 다른 것에 관한 것이었습니다. ME 컴파일러는 콘솔 컴파일러와 달리 오류를 감지하지 못합니다.
 
Joo Zepper :
과부하에 대해 알고 있습니다. 그러나 그것은 다른 것에 관한 것이었습니다. ME 컴파일러는 콘솔 컴파일러와 달리 오류를 감지하지 못합니다.
예, 확인했습니다. 동일한 사항을 확인했습니다.
 
Joo Zepper :
과부하에 대해 알고 있습니다. 그러나 그것은 다른 것에 관한 것이었습니다. ME 컴파일러는 콘솔 컴파일러와 달리 오류를 감지하지 못합니다.
이 메서드의 본문을 선언할 때까지 오류를 확인하지 않습니다. 즉, 프로그램 실행에 영향을 미치지 않습니다.
 
Ilya Malev :
이 함수의 본문을 선언할 때까지 오류를 확인하지 않습니다. 즉, 프로그램 실행에 영향을 미치지 않습니다.
그러나 이것이 ME 컴파일러의 동작을 수정할 필요가 없다는 것을 의미하지는 않습니다.
 
Joo Zepper :
그러나 이것이 ME 컴파일러의 동작을 수정할 필요가 없다는 것을 의미하지는 않습니다.
실제로 컴파일러는 사전 선언을 취합니다. 수정하면 오류가 생성됩니다.
 

어떻게 이럴 수있어?

"고문"이 있습니다.

 //+------------------------------------------------------------------+
//|                                               Exp_TickTest01.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   Comment ( "Exp Ask>>" ,Ask);
   Print ( "Exp Ask>>" ,Ask);
  }
//+------------------------------------------------------------------+

그리고 Expert Advisor 테스트 창에 설정된 "지표":

 //+------------------------------------------------------------------+
//|                                               Ind_TickTest01.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#property indicator_separate_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   IndicatorShortName( "Ind Ask>>" + DoubleToString (Ask, _Digits ));
   Print ( "Ind Ask>>" + DoubleToString (Ask, _Digits ));   
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+

화면 결과:

틱테스트01

로그(조각)의 작업 결과:

 2015.11 . 12 10 : 07 : 50.801 2015.11 . 11 02 : 17   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.801 2015.11 . 11 02 : 17   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.07429
2015.11 . 12 10 : 07 : 50.737 2015.11 . 11 02 : 17   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.737 2015.11 . 11 02 : 17   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.0743
2015.11 . 12 10 : 07 : 50.673 2015.11 . 11 02 : 16   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.673 2015.11 . 11 02 : 16   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.0743
2015.11 . 12 10 : 07 : 50.609 2015.11 . 11 02 : 16   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.609 2015.11 . 11 02 : 16   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.07429
2015.11 . 12 10 : 07 : 50.545 2015.11 . 11 02 : 16   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.545 2015.11 . 11 02 : 16   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.07428
2015.11 . 12 10 : 07 : 50.481 2015.11 . 11 02 : 16   Ind_TickTest01 EURUSD,M1: Ind Ask>> 1.07496
2015.11 . 12 10 : 07 : 50.481 2015.11 . 11 02 : 16   Exp_TickTest01 EURUSD,M1: Exp Ask>> 1.07427

Expert Advisor와 지표에 표시되는 값이 다릅니다.

EA가 테스터에서 데이터를 가져오는 것처럼 보이며 표시기는 EA가 테스트되는 기기의 현재 데이터입니다.

릴리스 902.

파일:
 
Yury Kirillov :

어떻게 이럴 수있어?

"고문"이 있습니다.

그리고 Expert Advisor 테스트 창에 설정된 "지표":

화면 결과:

로그(조각)의 작업 결과:

Expert Advisor와 지표에 표시되는 값이 다릅니다.

EA가 테스터에서 데이터를 가져오는 것처럼 보이며 표시기는 EA가 테스트되는 기기의 현재 데이터입니다.

릴리스 902.

의견을 보내 주셔서 감사합니다! 수정했습니다.
 

Alexander :
Спасибо за обращение! Исправлено.

답변 해주셔서 감사합니다!

이미 수정되었나요?

아니면 다음 릴리스에서?