MQL5 programs not only automate routine calculations, but also can create a full-featured graphical environment. The functions for creating truly interactive controls are now virtually the same rich, as those in classical programming languages. If you want to write a full-fledged stand-alone program in MQL5, use resources in them. Programs with resources are easier to maintain and distribute.
В архитектуре MetaTrader 5 организован асинхронный доступ к значениям индикаторов. Иными словами, при получении хэндла индикатора он прикрепляется к графику. Далее этот индикатор производит свои расчеты вне потока советника. Они взаимодействуют лишь на этапе передачи данных, аналогично получению данных тайм-серий. Поэтому и время на выполнение этих операций сопоставимо.
我决定与大家分享我自己修改的 Indicator.mqh,也许它能为别人节省将指标翻译成类的时间。
新文章《在 Expert Advisor 代码中实施指标计算》已发布:
作者: Dmitriy GizlykDmitriy Gizlyk
这里是过去的爆炸。
这篇文章确实非常有趣!概念很好听......但我担心分布式软件中存在错误,而且留下错误也不好。
方法 GetData。分布式代码为
更正后的代码应为
数组索引从 0 开始,最后一个元素的索引为 (m_data_len -1),而不是 m_data_len,对吗?
https://www.mql5.com/zh/articles/261 。
感谢您的文章!我正在学习它,以摆脱不稳定的传统指标。
但能在图表上 直观地显示指标 对我来说很重要。有人实施过吗?
如何将任何指标的计算部分转移到 Expert Advisor 代码中》一文已经发布:
作者:Dmitriy Gizlyk
为什么需要将计算从指标转移到智能交易系统?
很多人在使用指标时根本不使用 EA。
您只需将计算分成几个阶段即可。
例如
为什么需要将计算从指标转移到智能交易系统?
很多人使用指标时根本不使用智能交易系统。
您只需将计算分为几个阶段即可。
例如,像这样
由于指标的常规机制是通过树桩工作的,例如:https://www.mql5.com/ru/forum/372612,这是由于它们的实施。
随着指标的复杂性不断增加,我的 Expert Advisor "陷入困境"。在测试器中,我还发现了许多指标工作中的其他错误,但我没有描述它们,因为这毫无用处。
我不明白您的想法。
由于常规指标机制通过树桩发挥作用,例如:https://www.mql5.com/ru/forum/372612,这是由于它们的实施。
随着指标越来越复杂,我的 Expert Advisor 也 "陷入困境"。在测试器中,我还发现了指标工作中的许多其他错误,但我没有对它们进行描述,因为这毫无用处。
我不明白您的想法。
首先,您的代码不太正确。
我会这样写:
此外,由于指标中的函数应该以最小的延迟执行,因此复杂的过程(历史记录加载、复杂计算等)
分为几个部分,返回
OnCalculate零值(return(0) ),也就是说,指标处于初始阶段,直到我们执行所有必要的操作,并将每个阶段的延迟降到最低。
В архитектуре MetaTrader 5 организован асинхронный доступ к значениям индикаторов. Иными словами, при получении хэндла индикатора он прикрепляется к графику. Далее этот индикатор производит свои расчеты вне потока советника. Они взаимодействуют лишь на этапе передачи данных, аналогично получению данных тайм-серий. Поэтому и время на выполнение этих операций сопоставимо.你是说现实中会更快?-因为实际情况就是这样。专家在一个轨道上,指标在另一个轨道上(甚至可能在不同的内核上)。只有在串行处理的情况下,速度才会变慢,但这只是策略测试仪 的人为限制。