错误、漏洞、问题 - 页 1741

 
typename在编译时生成一个字符串,这就是为什么你需要 "拉尾巴"。


你想通过指针获得对象的 实际类型 吗?

类似于一个函数的东西。

string GetPointerTypename(void *ptr);
 
Ilyas:
类型名在编译时生成一个字符串,这就是为什么你需要 "拉尾巴"。


你想通过指针获得实际的对象类型 吗?

类似于一个函数的东西。

string GetPointerTypename(void *ptr);

是的,在这里

斯坦尼斯拉夫-科罗茨基
我想让它变得更微妙。但怎么做呢?在MQL中,虚拟基方法中的tyename(this)返回基类在C++中typeid(*this).name()的基础虚拟方法返回实际的对象类

 
fxsaber:
这是否只是简介出版物中的一项功能?
今天下午就修好了。现在它又开始了。
 

我似乎不能把它放在一起。

int a=1;//a1
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}

返回的a和b中的一个应该是外部的/a1和/b1。它没有经过这个。

 
Yuriy Asaulenko:

a + :a + b + :b

但一般来说,这种做法应该被打一巴掌。

 
Комбинатор:

a + :a + b + :b

但在一般情况下,你应该为这种做法受到惩罚。

谢谢)我手头没有C++的书。但在视觉上,我记得它似乎有这样的内容。我一定是忘了这件事。我以前从未将它用于这一目的。好吧,现在我必须到处改变变量--现在。

嗯,实际上这就是它的设计目的。所以你错了。你不应该滥用它。

 

当用鼠标拖动(CHARTEVENT_OBJECT_DRAG)一个图形对象OBJ_CHART时,OBJ_CHART中的当前显示间隔会被重置。

请在下一个版本中删除这个重置。

 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

伊利亚斯, 2016.10.18 09:24

你为什么不在正文中包括初始化列表?形象地说,一个类对象(包括它的this)是在':'号上初始化的
那为什么呢?
class A
{
  const int a;
  
  A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
//  A() : a(this.a) {} // no problem
};
 

识别器

描述

财产类型

图表_评论

图表上的评论文本

绳子

图表_专家名

在指定的chart_id的图表上启动的专家顾问的名称。

绳子

图表_脚本_名称

在指定的chart_id的图表上运行的脚本的名称。

绳子

在帮助中加入黑体字的只读。
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

大量的时间花在本地化上。EA

class CHARTOBJECT
{
public:
  const string Name;
  const long Chart;

  int GetSubWindow( void ) const
  {
    const ulong StartTime = GetMicrosecondCount();
    
    const int Res = ObjectFind(this.Chart, this.Name);
    
    Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");

    return(Res);
  }

  CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0  ) :
               Name((string)MathRand()), Chart(chart_id)
  {
    ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
  }

  ~CHARTOBJECT( void )
  {
    if (this.GetSubWindow() != -1)
      ObjectDelete(this.Chart, this.Name);
  }
  
  long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
  {
    return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
  }
};

CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;

void OnInit()
{
  Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}

void OnDeinit( const int Reason )
{
  Bitmap.GetSubWindow();
  
  delete Bitmap;
}

在你把它从图表中删除后,会有一个日志输出

2016.10.22 19:35:51.362 Test9 (AUDCAD,M1)       Abnormal termination
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1)       3005619 mcs.

三秒钟后,它就被取出来了。仅在发布版本中转载。调试期间一切正常。

请与自己确认。在脚本模式下,播放它没有工作。只有EA。

原因: