文章 "针对初学者以 MQL5 编写“EA 交易”的分步指南" - 页 3

 

在经历了一些困难之后,测试仪终于完全正常工作了,测试结果与文章中所述结果一致。

关于困难。历史记录下载花了很长时间(8 Mbps 时为 55 分钟),其中有几次中断,我不得不两次重启测试仪。最后测试仪死机了。我关闭了 MT 5,但无法再次打开。我不得不完全重启系统。之后,MT5 安静地启动了,令人惊讶的是,测试仪完全正常工作(大约 2 分钟),并给出了文章中所述的所有结果(我完全按照文章中所述指定了测试参数)。在不同时间框架上的进一步测试也没有出现任何问题。

总结。文章很酷。智能交易系统是可行的。我会进一步研究。

 
我想知道为什么ArraySetAsSeries 调用 是在 OnTick() 而不是 OnInit() 的正文中?
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
Операции с массивами / ArraySetAsSeries - Документация по MQL5
 
Также это лучшее место для получения хэндлов технических индикаторов, которые будут использоваться (в нашем случае это индикаторы ADX 和移动平均线)。

为什么不在这里说明技术指标的作用?

它是什么?

 
vas:

为什么不在这里说明技术指标的作用?

指标标识符?

指标句柄是计算指标的线程的标识符,调用该句柄可以寻址数据流。

返回句柄的函数会创建(启动)这个线程。这就是为什么开发人员不建议在数据流创建后立即访问它,因为它可能仍处于数据计算过程中。

 

好文章!结构清晰,易于理解。

我对 "OnInit() "第一个 "if "条件中的返回表达式表示怀疑。也许参数 应该是 -1 或其他值,而不是 0,或者 if 条件是多余的。

 

我尝试在标准库的类上 实现https://www.mql5.com/zh/articles/100 一文中的专家功能。

现将我的结果发布出来。

不幸的是,相同的交易没有成功,因为文章中的代码有错误。

ExpertADX-MA.mq5 文件应放在 Experts\Advisors 中。 - 这是智能交易系统

SignalADX-MA.mqh文件 应放在 Include\Expert\Signal 中 - 这是交易信号类。

TrailingFixedPips.mqh 文件 放入 Include\Expert\Trailing(with replacement)。 - 这是标准交付的文件,有一些小改动。

Expert.mqh 文件应放入 Include\Expert (替换)中- 它是标准 交货中的一个文件,做 了一些小改动。这是标准交货中的一个文件,做了一些小改动

标准版的改动将在下一个版本中进行。

PS: Trawl 在 Expert 中被 "拧紧 "了(应工人要求)。

要 "拧下 "它,您需要注释这一行:

      if(!ExtExpert.InitTrailing(new CTrailingFixedPips)) return(-3);

ExpertADX-MA.mq5 文件中

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
附加的文件:
 

文章《编写 MQL5 智能交易系统初学者分步指南》中的 EA 代码错误已更正。

请下载更新版的智能交易系统代码。
 

在上述 EA 代码中

动态数组 double maVal[] 是在全局范围内声明的。

而不是在 void OnTick() 函数区域中。

假设智能交易系统已运行 24 小时。

问题:分配给动态数组的内存会发生什么变化? 多快会被垃圾堵塞?

或者换句话说,我会提出这样的问题:在这种情况下是否存在内存泄漏?

 

感谢您的文章!

 
我非常感谢这篇文章,它帮了我大忙。写完 EA 代码后,我按下了调试按钮,结果被告知有 10 个错误,而您的文章中没有任何纠正这些错误的信息。请尽快给我回信。