文章 "您应该知道的 MQL5 向导技术(第 01 部分):回归分析"

 

新文章 您应该知道的 MQL5 向导技术(第 01 部分):回归分析已发布:

今天的交易者都是一位哲学家,他几乎总是(有意识地或无意识地)寻找新的思路,尝试它们,选择修改或抛弃它们;这是一个需要付出相当勤奋程度的探索过程。 这显然会花费交易者高昂的时间,且需要避免错误。 本系列文章将提出,MQL5 向导应该是交易者的支柱。 为什么呢? 因为交易者不仅经由 MQL5 向导组装他的新想法来节省时间,而且大大减少了重复编码的错误;他最终会把精力集中在交易哲学的几个关键领域。

来自我们优化的结果如下所示。 首先是报告和净值曲线的最佳结果,来自只用市价订单交易。




作者:Stephen Njuki

 


嗨,斯蒂芬、

非常好的文章。看来我们有了一个令人鼓舞的交易系统。

我想知道如何使用非固定时间框架的输入进行优化。

我试着修改这些行,但 OnInit "返回非零代码 1",而且没有错误信息。

//--- 专家输入
input string Expert_Title                     ="Regr2"; // 文件名称
ulong        Expert_MagicNumber               =26034;   //
bool         Expert_EveryTick                 =false;   //
input ENUM_TIMEFRAMES   timeframe             =PERIOD_M5;      //时间框架
//--- 主信号输入
.
.
.
.
int OnInit()
  {
//--- 专家初始化
   if(!ExtExpert.Init(Symbol(),timeframe,Expert_EveryTick,Expert_MagicNumber))
     {
      //--- 失败
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- 创建信号
.
.
.
.




您能帮我吗?

 
Guilherme Mendonca #:


嗨,斯蒂芬、

非常好的文章。看来我们有了一个令人鼓舞的交易系统。

我想知道如何使用非固定时间框架的输入进行优化。

我试着修改这些行,但 OnInit "返回非零代码 1",没有错误信息。




您能帮我吗?

您好,您得到 Stephen 的帮助了吗?
 
Guilherme Mendonca #:


嗨,斯蒂芬、

非常好的文章。看来我们有了一个令人鼓舞的交易系统。

我想知道如何使用非固定时间框架的输入进行优化。

我试着修改这些行,但 OnInit "返回非零代码 1",没有错误信息。




您能帮我吗?

您好、

刚刚看到这个。对不起。这可能有点棘手,因为向导式智能交易系统倾向于使用并坚持使用其所连接的图表的时间框架。这一点在很多不同的地方都有提及,而不仅仅是在 OnInit() 函数中,您似乎正试图修改该函数。因此,如果输入的时间框架与其他地方使用和预期的时间框架(即图表时间框架)不一致,那么必然会产生错误。

不过,从大的方面来看,读取不止一个时间框架的数据和价格缓冲是有道理的,所以我想在不久的将来,我会写一篇文章,介绍如何实现这一点。感谢您的反馈。

 

在编译使用 SignalDUAL_RA 制作的专家程序时,我遇到了一个错误。

CMatrixDouble 是对 MetaEditor 内置类 matrix.mqh 的函数调用,因此我认为错误不在这里。

能帮我解决这个问题吗?

有谁能帮忙吗?

附加的文件:
 

编译时会出现前面提到的问题(见截图)。我的解决方案是


_a[r].Set(c,Data(r+c,close)); 应该 是 _a.Set(r,c,Data(r+ c,close));


使用 _a[r] 时,我们不是直接编辑第 r 行,而是将其作为引用传递。这次修正成功了。