错误、漏洞、问题 - 页 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编译器的行为。
事实上,编译器接受预取 - 修复它,将发出一个错误。
 

这怎么可能呢?

有一个 "EA"。

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

并在EA测试窗口安装了一个 "指标"。

//+------------------------------------------------------------------+
//|                                               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

EA和指标中显示的数值是不同的。

看起来,EA从测试者那里获取数据,而指标则获取EA所测试的工具的当前数据。

902号文件。

附加的文件:
 
Yury Kirillov:

这怎么可能呢?

有一个 "EA"。

并在EA测试窗口安装了一个 "指标"。

结果就在屏幕上。

日志中的工作成果(片段)。

EA和指标中显示的数值是不同的。

看起来,EA从测试器中获取数据,而指标则获取EA所测试的仪器的当前数据。

902号文件。

谢谢你的反馈意见!固定的。
 

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

谢谢你的答复

它已经被修复了吗?

还是在下一个版本中?