文章 "梯度提升(CatBoost)在交易系统开发中的应用. 初级的方法" - 页 6

 
感谢您的文章。对于人工智能 ML 的初学者来说,这篇文章简单易懂。我想知道网上是否有任何可以继续研究的研究小组(overen groups, mitaps)?我想加入一些研究团队。
 
Denis Karavaev:
感谢您的文章。对于人工智能 ML 的初学者来说,这篇文章简单易懂。我想知道网上是否有任何可以继续研究的小组和 mitaps?我很想加入任何研究团队。

在 "机器学习 "主题中,讨论正在进行,但没有这样的团队。

 

迄今为止最清晰的分步教程。

 
在点击文件夹中的 mq5 文件编译之前,一切正常。61 个错误,7 个警告 (((((((
 
grin4k:
在点击文件夹中的 mq5 文件编译之前,一切正常。61 个错误,7 个警告 (((((((

显然,你最好不要编译

 
"'cat_model.mqh'中的数组超出范围(189, 51)"
根据文章中引用的示例案例对欧元兑美元 H1 进行测试。

也许这里的信息会有用。
"

数组超出范围

使用数组时,通过索引号访问数组元素,索引号不能为负数,且必须小于数组大小。数组大小可以通过

CopyTicks() 函数尝试将请求的刻度数存储到数组中,但如果刻度数少于请求的刻度数,则得到的数组大小将小于预期。

另一个导致该错误的非常明显的方法是,当指标缓冲区的大小尚未初始化时,尝试访问该缓冲区的数据。需要提醒的是,指标缓冲区是动态数组,其大小仅在图表初始化后由终端执行系统定义。因此,举例来说,在 OnInit() 函数中尝试访问此类缓冲区的数据会导致 "数组超出范围 "错误。

在 Test_Out_of_range.mq5 文件中可以找到产生该错误的指标的简单示例。"

The checks a trading robot must pass before publication in the Market
The checks a trading robot must pass before publication in the Market
  • www.mql5.com
Before any product is published in the Market, it must undergo compulsory preliminary checks, as a small error in the expert or indicator logic can cause losses on the trading account. That is why we have developed a series of basic checks to ensure the required quality level of the Market products. If any errors are identified by the Market...
 
clemmo:
"'cat_model.mqh'中的数组超出范围(189, 51)" 根据文章中引用的示例案例对欧元兑美元 H1 进行测试。 也许这里的信息会有用。 "



数组超出范围

使用数组时,通过索引号访问数组元素,索引号不能为负数,且必须小于数组大小。数组大小可以通过

CopyTicks() 函数尝试将请求的刻度数存储到数组中,但如果刻度数少于请求的刻度数,则得到的数组大小将小于预期。

另一个导致该错误的非常明显的方法是,当指标缓冲区的大小尚未初始化时,尝试访问该缓冲区的数据。需要提醒的是,指标缓冲区是动态数组,其大小仅在图表初始化后由终端执行系统定义。因此,举例来说,在 OnInit() 函数中尝试访问此类缓冲区的数据会导致 "数组超出范围 "错误。

在 Test_Out_of_range.mq5 文件中可以找到产生该错误的指标的简单示例。"

"look_back 和 MA_period 参数的设置必须与 Python 程序中训练时指定的参数完全一致,否则会出错。
 

您说得没错,catboost_learning.py 使用的是 250 回溯,而不是 cat_trader.mq5 中配置的 50 回溯。 这也许是一个技术障碍,目的是让那些不经意的旁观者望而却步?

 
clemmo:

您说得没错,catboost_learning.py 使用的是 250 回溯,而不是 cat_trader.mq5 中配置的 50 回溯。 这也许是一个技术障碍,目的是让那些不经意的旁观者望而却步?

不,刚才的文章是针对 50 个功能的,为了简单起见,但后来我又针对 250 个功能做了调整。

新文章还在路上
 
这是假的,因为您先训练了当年的学员,然后又测试了当年的学员