C появлением новой версии языка MQL, не только изменился подход к работе с индикаторами, но и появились новые способы создания индикаторов. Кроме того, появилась дополнительная гибкость при работе с индикаторными буферами - теперь вы можете самостоятельно указать нужное направление индексации и получать ровно столько значений индикатора, сколько вам требуется. В этой статье рассмотрены базовые методы вызова индикаторов и получения данных из индикаторных буферов.
这完全取决于自定义指标 的逻辑。原则上,它可以每天重新计算一次其数值,跳过所有其他时间。可以说,根据作者的意愿。
基本上,有些人试图使用这种怪物的方法:通过iCustom创建一个指标的副本,复制必要的数据,删除指标的副本。该程序根据需要重复进行。
还有一个函数OnTimer(),我自己没有用过,但也许你可以根据你的任务调整它。
谢谢你。我想也是。安时器不适合。
有一种情况是,指标在M5上,但每小时叫一次,比如说。事实证明,为了每小时调用一次,该指标将在专家顾问中每5分钟空转计算一次。这就是为什么我想知道是否有可能暂停指标的重新计算。
有一种情况是,指标在M5上,但比如说每小时调用一次。事实证明,为了每小时调用一次,该指标将在专家顾问中每5分钟闲置计算一次。
我能否重写该指标,使其也能按小时计算?
交易是在M5上进行的。目前还不知道何时会调用该指标。可能是每两小时一次,也可能是一小时内三次。该指标用于确认交易的决定。
你好,请你告诉我。
1)如何处理TRADE_RETCODE_LOCKED,TRADE_RETCODE_FROZEN 这样的错误,以及在什么情况下请求被阻止或头寸/订单被冻结?
2)我还想知道如何处理TRADE_RETCODE_INVALID_FILL,在什么情况下发生?
你好,请你告诉我。
1)如何处理TRADE_RETCODE_LOCKED,TRADE_RETCODE_FROZEN 这样的错误,以及在什么情况下请求被阻止或头寸/订单被冻结?
2)还想知道如何处理TRADE_RETCODE_INVALID_FILL,在什么情况下发生?
1)查看论坛搜索。大约一年前就讨论过这个问题。
2) 在ENUM_ORDER_TYPE_FILLING 参考中查看。可能是指定的 "执行订单类型 "的交易请求与执行模式不匹配,将导致指定的返回代码。
例如ORDER_FILLING_FOK 和SYMBOL_TRADE_EXECUTION_MARKET。
我怀疑,如果该指标是通过iCustom激活的,它是在每个tick上计算的。而且它不依赖于通过CopyBuffer对它的调用。这是否正确?
如果是正确的,那么是否可以禁用指标的计算,只在调用CopyBuffer之前启用?
如果我没有理解错的话,那么你可以通过iFractals帮助中的例子,尝试限制下一个ticks的计算(见OnCalculate 中的多个条件)。
也许,你也可以在OnCalculate 中标记所有必要的条形图的指标计算的初始执行,并检查终端的服务器时间,在它发生后,将该标记重置为假,从而允许重新计算,并再次将其设置为真...等等。
或者甚至这样:写一个 带有计算功能的外部函数,在OnInit中调用它,它将在指标首次启动时运行一次(以及在改变TF等时,这是由用户主动发生的),然后以第二种 方式在OnCalculate 中调用相同的函数(在服务器上的指定时间和通过标记)。
但第一种方法很好,不仅不会在每个tick点加载处理器进行全面的重新计算(往往导致没有新的结果),而且甚至不会在给定的时间间隔内进行全面的重新计算,只会计算最新的条形图(如果在每个tick点,则计算一个新的,如果一次t,则计算这段时间内积累的几个)...虽然这个版本最好亲自检查,我可能是错误的...另外,一切都取决于指标的具体目的。如果它取决于一个大的甚至整个市场历史,那么你就无法摆脱对整个历史的重新计算。
没有理解这个笑话的幽默感(写了一个指标,虽然这没有什么区别)。
编译时没有错误或警告。
编译时有1个错误,0个警告:'elements' - 无效的索引值。
这里有什么可以超越明显的常识呢?
这里有什么可以超越明显的常识呢?
阵列元素的 数量由一个常数指定
如果事先不知道元素的数量,可以使用ArrayResize来设置变量的大小。
这就是C++的基础知识。
因此,要么