mql4语言的特点、微妙之处以及技巧 - 页 32

 
Andrey Khatimlianskii:

如果500条循环和比较它们的值与存储的值必须做很多次,而且会比在同一循环中计算哈希值和比较它与存储的值要长,那么它就有意义了。
但情况几乎不是这样的。

是什么让你花了这么长的时间来计算,以至于你注意到prev_calculated的重设这种罕见的情况?

专家顾问每分钟都会调用该指标,并检查有什么新情况。 如果注意到prev_calculated=0,那么就是全面的重新计算,也许没有那么长,但仍然是。例如,USDCNH对 在我的经纪人处并不罕见。
复位时间(prev_calculated=0)。


P.S. 我甚至好奇,如果历史/图表中的最大条形图在终端中被设置为2000/2000,那么哪个蜡烛会发生变化?
 
Nauris Zukas:

P.S. 我甚至想知道,如果历史/图表中的终端最大栏设置为2000/2000,那么哪支蜡烛会发生变化。

创建一个有4个存储OHLC的指标缓冲区 的指标--在你第一次运行指标时填充它

当prev_calculated=0时,在日志文件中写入OHLC和缓冲区之间 的差异,然后用新的OHLC 同步指示器缓冲区。

HH:原则上说,在第一个指标开始时填充缓冲区是没有意义的--它可以在prev_calculated=0时完成。

 
Nauris Zukas:

专家顾问每分钟都会调用指标,并检查有什么新的东西,如果看到prev_calculated=0,那么就会进行全面的重新计算,可能不会花很长时间来计算,但还是会。例如,USDCNH对在我的经纪人处并不罕见。
复位时间(prev_calculated=0)。


P.S. 我甚至想知道,如果历史/图表中的最大条数在终端中被设置为2000/2000,那么哪个蜡烛会改变。

很难说是酒吧的变化。更有可能是服务性的东西。

我认为根本没有必要去管它。

 
Andrey Khatimlianskii:

更像是官方的东西。

不知道这一点。那么肯定就没有必要再去管它了。只是在手册中看到 "如果自上次调用OnCalculate() 后,价格数据发生了变化(抽出了更深的历史或填补了历史空白),那么输入参数prev_calculated的值将被终端本身设置为零"。

 
Igor Makanu:

写一个有4个指标缓冲区 的指标,存储OHLC - 在指标的第一次启动时填充它

当prev_calculated=0时,你在日志中写下OHLC和缓冲区之间 的差异,然后用新的OHLC 同步指示器缓冲区。

HH:原则上,在第一次出现的时候,填补指标缓冲区是没有意义的--你可以在prev_calculated=0的时候进行。

是的,谢谢,为了兴趣,我将做一个单独的指标,检查蜡烛是否在变化,或者有什么服务。

 
订单修改TP和SL在一对(HSI50)中失败,所有其他的对在DC中都正常。手动操作一切都会改变,但只要尝试OrderModify,就没有办法,甚至TP和SL也不能从OrderModify中删除。错误显示无效的价格(129)。很明显,OrderModify在那里被禁止了(不知道为什么)。
问题是,是否有人检查过OrderModify?如何检查?
P.S. 合同规格为HSI50(完全无障碍)。
 
日安!
在一个经纪商MarketInfo()不断地(一天一次或两次)飞走了,得到的值是0(特别是MODE_MARGINREQUIRED)。这有点正常,但同时也没有试图到达iCustom()指标(通过资源连接)。即使在MarketInfo()收到数据后,iCustom()仍然保持沉默。只有重新启动终端才有帮助。如何在不重启终端的情况下访问该指标,有什么想法?指标能否从某个资源中消失?
 
Nauris Zukas:
日安! 一个经纪人不断地(一天一次或两次)MarketInfo()飞走了,得到的值是0 ( MODE_MARGINREQUIRED具体) 。这有点正常,但同时也没有试图到达iCustom()指标(通过资源连接)。即使在MarketInfo()收到数据后,iCustom()仍然保持沉默。只有重新启动终端才有帮助。如何在不重启终端的情况下访问该指标,有什么想法?
指标能否从某个资源中消失?

这就是我想知道的问题的答案。

 
从技术上讲,是否有可能在不开仓的情况下找出经纪人是在正常模式还是先进先出模式下工作?我搜索了所有的文档,没有发现这样一个参数。如果你是净值型账户,那么套期保值将被禁用。
 
你好!

,我不记得遇到过Time[1]的 "数组超出范围",但这个事实发生在EA。对于预定义 的数组变量-时间序列,你是否做了某种 "数组超出范围 "的检查?
原因: