错误、漏洞、问题 - 页 1667

 
我在我的个人资料中发现了一个早已不存在的旧电话号码,我想改变它,但它需要通过短信确认到旧号码,我应该怎么做?
 
BlackTomcat:
当然,我不是很明白,但我认为,出于某种原因,由不同的 "主人 "创建的指标副本,即使参数相同并应用于同一个图表,也会有不同的手柄。原则上,他们不知道已经存在的指标副本,他们也不应该知道。绘图时,它们会简单地相互重叠。
我可能是错的。但从逻辑上看,一定是这样的,正如上一段写的那样。

我当然不是MQ的开发者,但就这个过程对我的解释而言,Five对索引做了有效的缓存,所以永远只有一个 "相同 "的缩进,而几个 "主机 "都会得到它的链接。也许手柄会有所不同--我没有检查过--但里面会是同一个实体。没有人说过 "他们应该知道已经存在的副本"--请不要猜测。绝对的,除了 "宿主",没有人知道他们的指标,对于一个指标来说,不同的 "宿主 "都会为它保持一个参考数,但它并不认识宿主。

正如实践所表明的,逻辑因人而异。例如,很多时候我的逻辑与MQ的逻辑并不一致,但在这里我只是讲述我从他们那里听到的东西。

 
Stanislav Korotky:

我当然不是MQ的开发者,但就这个过程对我的解释而言,Five对索引做了有效的缓存,所以永远只有一个 "相同 "的缩进,而几个 "主机 "都会得到它的链接。也许手柄会有所不同--我没有检查过--但里面会是同一个实体。没有人说过 "他们应该知道已经存在的副本"--请不要猜测。确切地说,除了 "宿主",没有人知道它的指标,对于一个指标来说,不同的 "宿主 "对它都有一个参考计数器,但它不知道这些宿主。

正如实践所表明的,逻辑因人而异。例如,很多时候我的逻辑与MQ的逻辑并不一致,但在这里我只是讲述我从他们那里听到的东西。

事实上,你所写的内容直接写在文件中。

所有的功能,如iMA、iAC、iMACD、iIchimoku等,在客户终端的全局缓存中创建相应技术指标的副本。如果一个带有这些参数的指标副本已经存在,则不会创建新的副本,但会增加对该副本的引用计数器。
只是我想知道 "全局客户终端缓存 "是否包括例如测试者?因为我可以在终端(账户上)和策略测试器(历史上)中同时运行一个带有相同指标的专家顾问,而我不确定它们的计算缓冲区是否会相同。虽然,如果你计算一下存储在客户终端的历史深度,他们可以。
 
A100:

我设法做了一个接近于源程序的测试脚本,在执行过程中出现了错误

结果:'Script2.mq5'中无效的函数指针调用。

建1405。错误本身仍然存在--移到了程序的另一个部分--我稍后会处理它。

但又出现了以前没有的新的东西

typedef int (*fn)();
class A {
public:
        A() { a = &this; ::ArrayResize( f, 1 ); f[ 0 ] = f0; }
        virtual int g0() { return 0; }
        static  int f0() { return a.g0(); }
        static A* a;
        fn f[];
};
A* A::a;
void OnStart() { A b; }
结果:无效的EX5文件(8)。
 
如何使Shift+F9数组元素 在调试时可见?
 
fxsaber:
如何使Shift+F9数组元素 在调试时可见?
还不支持显示数组元素
 
Renat Fatkhullin:

事实上,99%的情况下,调用IndicatorRelease 是一个逻辑上的程序员错误。

指标创建是最昂贵的操作之一,其计算机制非常深入。试图关闭一个指标句柄也是一个非常昂贵的操作,如果你考虑到其实施的真正底层过程。频繁地创建和关闭指标表明,开发者根本不了解操作的本质。

它非常容易理解。

我是否正确理解,当使用iCustom而不是IndicatorCreate时,用户将IndicatorRelease的责任转移到通用(因此,不是最佳)开发人员的解决方案?

其中,创建的指标被储存一段时间,同时以一定的频率被调用。如果它们在一段时间内没有被调用,那么就会出现一个强制的指标释放。对吗?

也就是说,iCustom应该被优化使用,考虑到实施的复杂性和性能之间的黄金分割。但如果你想获得最大的速度,你最好尝试通过IndicatorCreate做所有的事情,创建你自己更快的(不是通用的)指标算法,知道他们使用的特殊性。

我说对了吗?

 
fxsaber:

我是否正确理解,当使用iCustom而不是IndicatorCreate时,用户将指标释放的责任转移到开发人员的通用(因此,不是最佳)解决方案?

其中,创建的指标被储存一段时间,同时以一定的频率被调用。如果它们在一段时间内没有被调用,那么就会出现一个强制的指标释放。对吗?

也就是说,iCustom应该被优化使用,考虑到实施的复杂性和性能之间的黄金分割。但如果你想获得最大的速度,你最好尝试通过IndicatorCreate做所有的事情,创建你自己更快的(不是通用的)指标算法,知道他们使用的特殊性。

我说对了吗?

不,你不是。

这两种功能是绝对平等的。这两个函数都返回指示器手柄

 
Slawa:

不,错了。

这两种功能是绝对平等的。这两个函数都返回指示器手柄

IndicatorRelease应该在iCustom之后进行?

基本上,事实证明,在MT5中运行MT4 EAs是很有可能的。对于那些不在内部使用其他指标的人来说--非常容易。那些使用它们的人--创造了一个模拟的MT4-iCustom存储。数据没有准备好的问题也是很有可能的。

编写这样一个适配器,任何MT4指标都能成功地在MT5中运行。但在这种情况下,尼古拉-科西岑 将失去他的工作......不,最好不要。

 
fxsaber:

IndicatorRelease应该在iCustom之后进行?

基本上,事实证明,在MT5中运行MT4 EAs是很有可能的。对于那些不在内部使用其他指标的人来说--非常容易。那些使用它们的人--创造了一个模拟的MT4-iCustom存储。数据没有准备好的问题也是很有可能的。

编写这样一个适配器,任何MT4指标都能成功地在MT5中运行。但在这种情况下,尼古拉-科西岑 将失去他的工作......不,我宁愿不要。

我记得,文档中说,最正确的方法是在函数OnInit中初始化(创建)指标柄,并在函数OnDeinit中执行指标释放。这意味着,在专家顾问运行的所有时间里,指标手柄保持相关。