错误、漏洞、问题 - 页 2144

 
我怎样才能使它在自定义角色的 历史被改变时,被代理收起来,而不是被代理从其不相关的存储库中取走?
 
这是一个语言错误吗?
struct STRUCT
{
  template <typename T>
  void operator =( const T ) const {}

  template <typename T>
  void operator =( const T &Value ) const {} // Ошибка исчезает, если убрать любой const
};

void OnStart()
{
  STRUCT a;
  const int i = 0;
  
  a = i; // Ошибка: 'operator=' - object required
}
 
fxsaber:
这是语言中的一个错误吗?

在这种形式下,C++也给出了错误E2015

而如果你这样写的话。

template<typename T> void f( T& ) {}
template<typename T> void f( T  ) {}
void OnStart()
{
    const int i = 0;
    f( i );
}

MQL编译时没有错误,但C++报告错误E2015

 

MT4/5指标中的SymbolInfoTick 不返回触发计算事件的tick,这是真的吗?

如果是这样,就不太清楚通过指标的蜱虫采集器是基于什么?

 
fxsaber:

MT4/5指标中的SymbolInfoTick不返回触发计算事件的tick,这是真的吗?

通常情况下,它是相同的蜱。

你以一种非常奇怪的方式来表述你的问题。

- 任何问题都可以回答是或不是!

- 多久以前,你不再在早上喝白兰地了?现在回答,是或不是?

(c) Astrid Lindgren

 
Slava:

这通常是同一种蜱虫。

如果一包三个ticks到达,Calculate事件将被调用三次,但SymbolInfoTick 将在这三次调用中的每一次都返回最新的tick。也就是说,所谓的不通过指标的收集是值得怀疑的,说得不好听一点就是。

 
为什么在设置CustomSymbolSetDouble(symbol, SYMBOL_VOLUME_MIN, 0.00035)和CustomSymbolSetDouble(symbol,SYMBOL_VOLUME_STEP, 0.00035)函数SymbolInfoDouble(symbol, SYMBOL_VOLUME_MIN)返回0.0003,SymbolInfoDouble(symbol, SYMBOL_VOLUME_STEP) 返回0.01?
 

自定义字符的一个非常不愉快的错误。自定义字符的勾选历史 可以完全消失。

我已经遇到过几次这种情况了。不做任何自定义条目。只在读取蜱虫方面下功夫。而在某一时刻,突然间,整个历史就消失了。CopyTicks返回零,没有错误。使用GUI工具,也是如此。 tkc变成了1 Kb,而以前是几百万ticks。

所以我不能相信MT5会储存我的点子,因为它可能会在我的一次读取中删除它们。

 
Ivan Titov:
为什么在设置CustomSymbolSetDouble(symbol, SYMBOL_VOLUME_MIN, 0.00035)和CustomSymbolSetDouble(symbol,SYMBOL_VOLUME_STEP, 0.00035)函数SymbolInfoDouble(symbol, SYMBOL_VOLUME_MIN)返回0.0003,SymbolInfoDouble(symbol, SYMBOL_VOLUME_STEP) 返回0.01?

即使使用GUI,你也不能设置这些值


 
A100:

在这种形式下,C++也给出了错误E2015

E2015是一个模糊的概念。

而在 fxsaber 的例子中,看起来有一个由编译器生成的非常量运算符(参数中包含一个对象),并且它被选中。

这是因为赋值运算符 不应该是常数

(imho)