某一指标的唯一ID生成器 - 页 2

 
angevoyageur:
子窗口号码的问题是什么?
我不知道你在想什么,但是,当应用模板或重新加载时,像CHART_WINDOWS_TOTAL这样的值被报告为图表上的总指标,而不是到目前为止加载的总数(即不会随着每个指标的初始化而逐一增加)。
 
gchrmt4:
我不知道你在想什么,但是,当应用模板或重新加载时,像CHART_WINDOWS_TOTAL这样的值被报告为图表上的总指标,而不是迄今为止加载的总数(即不会随着每个指标的初始化而逐一增加)。

好吧,子窗口并不可靠,因为它可以改变。
 
angevoyageur:
子窗口号码的问题是什么?

在610/614中,几乎不可能从指示器本身正确地检索它,在616中,如果大部分被修复,但在DeInit()中仍然失败。
 
Ovo:

在610/614版本中,几乎不可能从指标本身正确检索它,在616版本中,如果大部分被修复,但在DeInit()中仍然失败。
ChartWindowFind()似乎对我有用。无论如何,这并不可靠,因为如果你删除 一个指标,然后添加另一个,子窗口号码就会改变。
 
angevoyageur:
ChartWindowFind()似乎对我有用。无论如何,这并不可靠,因为如果你删除一个指标,然后添加另一个,子窗口的数量就会改变。
ChartWindowFind()的问题与旧的WindowFind()相同:如果同一指标有多个实例,例如两个RSI窗口显示不同时期的计算结果(或同一时期,但其他参数 的变化没有反映在对IndicatorShortName的任何调用中),它就没有用。
 
gchrmt4:
ChartWindowFind()的问题和旧的WindowFind()一样:如果同一指标有多个实例,例如两个RSI窗口显示不同时期的计算结果,那么它就没有用。

这就是我所说的,不可靠的。

这是一个有趣的问题。我认为当你使用不同的输入参数 时,多次添加相同的指标才有意义,一种方法是由这些参数形成一个签名。当然也可以是你之前提出的解决方案之一。

 
gchrmt4:
ChartWindowFind()的问题和旧的WindowFind()一样:如果同一指标有多个实例,例如两个RSI窗口显示不同时期的计算结果(或同一时期,但其他参数的变化没有反映在对IndicatorShortName的任何调用中),那么它就没有用。

事实上,ChartWindowFind 已经在616中为指标工作,除了OnDeinit。但仍然太湿,不能算是稳定的,所以我想在任何ID创建中避免它。

谢谢你的建议,我将选择文件锁或等待GetTickCount的改变。我必须进行试验。

 
angevoyageur:

这就是我所说的,不可靠的。

这是一个有趣的问题。我认为当你使用不同的输入参数时,多次添加相同的指标才有意义,一种方法是由这些参数形成一个签名。当然也可以是你之前提出的解决方案之一。


我利用新的MQL4图形用户界面的优势,在运行中设置和改变参数。所以开始时的签名是一样的,而且多次添加也是有意义的。没有提到的是,如果有可能的话,它的行为应该是正确的。
 
Ovo:

事实上,ChartWindowFind 已经在616中为指标工作,除了OnDeinit。 但仍然太湿,不能算是稳定的,所以我想在任何ID创建中避免它。

谢谢你的建议,我将选择文件锁或等待GetTickCount的改变。我必须要试一试。

在阅读这篇文章时,我学到了像上面GetTickCount那样使用时间。

然后我讲了__DATETIME__ 文件编译的日期和时间。

https://docs.mql4.com/constants/namedconstants/compilemacros

你们怎么看?

 

不确定你是不是指 "教"。

我在调试中使用了一些,但对于__DATETIME__,我还没有发现任何用途......你的目标是什么?