Ошибки, баги, вопросы - страница 1429

 
...и, дальше что?
 
Joo Zepper:
...и, дальше что?

Вы объявили два одинаковых метода, что не допустимо, в случае перегрузки методы должны откличаться друг от друга набором внутренних параметров.

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

Вы объявили два одинаковых метода, что не допустимо, в случае перегрузки методы должны откличаться друг от друга набором внутренних параметров.

Я вкурсе про перегрузку. Но речь шла о другом - компилятор ME не замечает ошибки, в отличии от консольного компилятора.
 
Joo Zepper:
Я вкурсе про перегрузку. Но речь шла о другом - компилятор ME не замечает ошибки, в отличии от консольного компилятора.
Это да, подтверждаю , то же заметил .
 
Joo Zepper:
Я вкурсе про перегрузку. Но речь шла о другом - компилятор ME не замечает ошибки, в отличии от консольного компилятора.
Не замечает ошибки пока Вы не объявите тело этого метода. То есть на выполнение программ это никак не влияет.
 
Ilya Malev:
Не замечает ошибки пока Вы не объявите тело этой функции. То есть на выполнение программ это никак не влияет.
однако это не значит, что нет необходимости исправить поведение компилятора МЕ.
 
Joo Zepper:
однако это не значит, что нет необходимости исправить поведение компилятора МЕ.
Действительно, компилятор принимает за предъобъявление  - поправим, будет выдаваться ошибка.
 

Как такое может быть? 

Есть "советник":

//+------------------------------------------------------------------+
//|                                               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);
  }
//+------------------------------------------------------------------+

 И "индикатор" установленный в окне тестирования советника:

 

//+------------------------------------------------------------------+
//|                                               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);
  }
//+------------------------------------------------------------------+

 Результат работы на экране:

TickTest01 

Результат работы в логах (фрагмент):

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

 Значения выводимые в советнике и индикаторе различаются.

Похоже, что советник берёт данные из тестера, а индикатор текущие данные инструмента, на котором тестируется советник.

Релиз 902.

Файлы:
 
Yury Kirillov:

Как такое может быть? 

Есть "советник":

 И "индикатор" установленный в окне тестирования советника:

 

 Результат работы на экране:

 

Результат работы в логах (фрагмент):

 Значения выводимые в советнике и индикаторе различаются.

Похоже, что советник берёт данные из тестера, а индикатор текущие данные инструмента, на котором тестируется советник.

Релиз 902.

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

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

 

Спасибо за ответ! 

Уже исправлено?

Или в очередном релизе?