错误、漏洞、问题 - 页 2655

 
我安装了MSN7后,无法在MT5中开立交易账户,我的电话号码右边有一个奇怪的字段("必填"),如果我填上它,它就会变成红色,但我可以填上所有内容,反正 "下一步 "按钮不起作用!((请解释如何避免这个问题并开立一个账户(与Alpari经销商),快照附后
附加的文件:
 
Vladimir Karputov:

对于ru和en的布局(包括小写和大写),lparam将是67。

谢谢,TranslateKey 正是你所需要的。

 
我如何访问servicedesk? 我没有这个功能,我是否需要任何特殊权限才能出现servicedesk按钮?
 
Nayati:
我怎样才能去ServiceDesk? 我没有这个功能,我是否需要某种权限才能出现ServiceDesk按钮?

你需要至少进行一次金融交易。你为什么需要ServiceDesk?问题是什么?

 
Vladimir Karputov:

你需要至少进行一次金融交易。你为什么需要ServiceDesk?问题是什么?



我不明白在测试器中股权的之字形显示有什么奇怪的错误。打开经纪人股票部分,演示。如果我把 "结算方式 "的设置从 "交换股票 "改为 "外汇",股权就会正常显示。几年前我也有过同样的经历,我想尝试将MT5连接到一个基金,测试了一下,害怕了,放弃了。现在我又试了一次,结果是一样的。这很奇怪吗?

 
Bug MT5(build 2340)当一个内部结构被传递到一个模板函数时,产生的数据类型 不能被用作模板类中另一个内部结构的基础数据类型。

struct It_Base{
public:
   class Tag{};
   int index;
};

class V{
public:
   struct It{
      class Tag{};
      int index;
   };
};


template<typename T>
class GetStructType{
public:
   struct type : public T{};  // Error: 'It' - declaration without type, 'It' - syntax error
};

template<typename T>
void func(const T &){
   // Bypass Compile Error for //T::Tag* tag_ptr = new T::Tag(); 
   GetStructType<T>::type::Tag* tag_ptr = new GetStructType<T>::type::Tag();
};


void OnStart (){ 
   It_Base iterator_base = {};
   func(iterator_base);         // OK
   
   V::It iterator = {};
   func(iterator);              // Compile Error
}
 

MT5的错误(构建2340),这是某种废话...
一切都是绝对正确的,而且它不会编译并对不存在的东西发誓......
你试图将一个错误本地化,它就像糟糕的一切工作,代码99%是相同的 - 它在这里工作,但不是在项目内...

#ifdef  __cplusplus
    #include <iostream>
#endif

class input_iterator_tag  {};
class forward_iterator_tag       : public input_iterator_tag         {};
class bidirectional_iterator_tag : public forward_iterator_tag       {};
class random_access_iterator_tag : public bidirectional_iterator_tag {};


template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &val,  _Tp &value, const input_iterator_tag* tag){
   printf("1\r\n");
   return val;
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const  forward_iterator_tag*  tag){
   printf("2\r\n");
   return set_value(it, value, (input_iterator_tag*)NULL);
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const  bidirectional_iterator_tag*  tag){
   printf("3\r\n");
   return set_value(it, value, (forward_iterator_tag*)NULL);
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const random_access_iterator_tag* tag){
   printf("4\r\n");
   return set_value(it, value, (bidirectional_iterator_tag*)NULL);
};


template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it, _Tp &value){
   return set_value(it, value, it.tag);                      //Error: 'set_value' - ambiguous call to overloaded function       
};


template<typename T>
struct A{
   T data;
   static random_access_iterator_tag* tag;
};

template<typename T>
random_access_iterator_tag* A::tag = NULL;

class B{};


void OnStart (){ 
   A<B*> it;
   const B* const b_ptr = new B();
   set_value(it, b_ptr);                                     //Compile Error

   
   
   A<int> it_int;
   const int value_int = 5;
   set_value(it, value_int);         
}

int main(){
   OnStart();
   return 0;
};

给人的印象是,以前发现的虫子一哄而上,由于普遍的协同作用,产生了这样一个美妙的 "结果"。

- 这段代码是绝对正确的,对所有类型都有效,除了指针。
- 代码是绝对正确的,对所有类型都有效,除了指针;对重载函数(set_value)的调用是根据第三个参数的类型来执行的,但结果却无意中受到一个传递了指针的函数的 第二个参数 的影响,说得不好听一点--是不清楚。
- 另一方面,如果你去掉标有绿色的const,一切都会奇迹般地工作......。
- 另一方面,如果你去掉所有的继承层次,留下相同的类,但没有基类,一切都会恢复正常。
- 最后,编译结果取决于重载模板函数set_value的排列顺序,混在一起,你会得到新的错误......


 

嗨!我今天早上更新了我的MT5 bild2340,现在市场上的一些指标无法运行。

我得到错误2020.02.25 10:01:41.646 自定义指标 加载YuClusters(Si-3.20,M15)失败 [538]

指标没有安装,出现错误,并且在mt5中缺少 "市场 "标签。

2020.02.25 10:24:37.385 MQL5市场 获取信息产品 失败(www.mql5.com:443 发送失败[404: Not Found])。
2020.02.25 10:24:37.385 MQL5市场 产品 [2835] 在数据库中没有找到。

 
有没有可能MOEX基金的每个人都测试得很好,而我却有某种蹩脚的情况?还是说测试器中的这个之字形股权错误是今天的主旋律,怎么会有这么奇怪的沉默????。
 
Nayati:
有没有可能在MOEX基金中一切测试正常,而我却有某种蹩脚的情况?或者说,在测试器中以人字形的形式出现的这个bug是今天的主题,这种奇怪的沉默是什么????。

请提供复制的细节。也许有人会感兴趣。根本就没有这种机会。

代码、工具、测试参数。