新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 545

 
Ihor Herasko:

告诉我你是如何得到这两样东西的。到目前为止,似乎我们谈论的是同一件事。

不,数值是不同的,我检查过了。

我们把这个脚本扔到图表上。

void OnStart()
  {
//---
   int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
   int idChart = ChartID(); 
   Alert("CHART_WINDOW_HANDLE = ",chartHandle," idChart=",idChart); 

  }

而我们得到的是。


 
khorosh:

不,数值是不同的,我检查过了。

现在我知道我们在谈论什么了。

chartHandle是一个分配给操作系统的图表窗口的描述符。你可以用它来通过WinAPI从其他线程寻址窗口。

idChart是一个由终端自己分配的内部图表标识符。它只能用于从MQL工作。

 
Ihor Herasko:

现在很清楚我们在谈论什么了。

ChartHandle是一个由操作系统分配的图表窗口描述符。你可以用它来通过WinAPI从其他线程寻址窗口。

idChart是一个由终端自己分配的内部图表标识符。它只能用于从MQL工作。

明白了,谢谢!

 
Ihor Herasko:

现在很清楚我们在谈论什么了。

ChartHandle是一个由操作系统分配的图表窗口描述符。你可以用它来通过WinAPI从其他线程寻址窗口。

idChart是一个由终端自己分配的内部图表标识符。它只能从MQL中使用。

那么,如果你需要向另一个打开的终端的窗口寻址,应该使用chartHandle?以及如何从位于另一个符号的图表上的指标来确定指定符号的图表标识符?例如,我需要位于EURJPY图表上的指标在USDJPY图表上创建一个对象。如何定义USDJPY图表标识符?

 
khorosh:

这意味着,如果你想引用另一个开放终端的窗口,你应该使用chartHandle ?以及如何从位于另一个符号的图表中的指标来确定指定符号的图表ID?例如,我需要位于EURJPY图表上的指标在USDJPY图表上创建一个对象。如何定义USDJPY图表标识符?

ChartID() 的帮助中,我认为有一个枚举所有终端图表的例子。
 
Artyom Trishkin:
我想ChartID()的帮助有一个枚举所有终端图表的例子。

不,它是空的。在ChartNext 的帮助中,有一个例子。好的,知道了。没有其他问题了。谢谢你。

 
khorosh:

那么,如果你想访问另一个打开的终端的窗口,应该使用chartHandle?

当只在MQL中工作时,不需要chartHandle。在连接DLL时可能出现这样的需要。

 
我如何在ObjectCreate()函数中定义窗口索引

boolObjectCreate(
longchart_id,// 图表标识符
stringobject_name,//对象名称
ENUM_OBJECT object_type,// 对象类型
intsub_window,// 窗口索引
datetimetime1,// 时间第一个平局点
doubleprice1//第一个锚点的价格
。..
datetimetimeN=0,//时间N点绑定
doublepriceN=0// price N-anchor point
)。


 
khorosh:
如何在ObjectCreate()函数中定义窗口索引




它没有被定义,而是被设定。

子窗口

[in] 图表的子窗口编号。0表示图形的主窗口。指定的子窗口必须存在,否则函数返回错误。

 

窗口查找

窗口总数