文章 "神经网络变得轻松(第四十六部分):条件导向目标强化学习(GCRL)"

 

新文章 神经网络变得轻松(第四十六部分):条件导向目标强化学习(GCRL)已发布:

在本文中,我们要看看另一种强化学习方式。 它被称为条件导向目标强化学习(GCRL)。 按这种方式,代理者经过训练,可以在特定场景中达成不同的目标。

在这步操作中,我们决定放弃单独训练变分自动编码器,并将其编码器直接包含在代理者模型当中。 应当说,这种方式在某种程度上违反了训练自动编码器的原则。 毕竟,使用任何自动编码器的主要思在于不涉及特定任务的情况下进行数据压缩。 但现在,我们面临的任务并非训练编码器,依据相同的源数据解决若干个问题。

此外,我们只往编码器输入中供应环境的当前状态。 在我们的情况下,这些是有关金融产品价格变动的历史数据,和分析指标的参数。 换言之,我们排除了有关帐户状态的信息。 我们假设调度器(在本例中为编码器)将基于历史数据形成所采取的技能。 这可以是在上涨、下跌或横盘行情中的操作政策。

基于有关帐户状态的信息,我们将为代理者创建一个子任务来搜索入场或离场点。

График тестирования

使用 GCRL 方法的积极方面包括减少持仓所需的时间。 在测试期间,最长持仓时间为 21 小时 15 分钟。 持仓的平均时间为 5 小时 49 分钟。 如您所记,对于未能完成平仓的任务,我们设定了每小时持仓累计盈利 1/10 的罚款。 换句话说,在持有10个小时后,罚款超过了该笔持仓的营收。

作者:Dmitriy Gizlyk

 
根据 mql5 下载文件以及历史数据和测试数据的日期范围,我无法重现您的结果。
 

文章不错。

奈杰尔,你不是唯一的一个。

除非你花很长时间来调试代码或发现它的正确用法,否则它的表现形式足以妨碍可重复性。

例如

"在完成收集示例数据库 "GCRL\Research.mq5 "的 EA 工作后,我们在策略测试器 的慢速优化模式下启动它"。

其实问题很简单,需要优化哪些参数?

 
Chris 策略测试器 的慢速优化模式下启动它"。

其实问题很简单,需要优化哪些参数?

所有参数都是默认的。您必须只设置代理编号进行优化。它用于设置测试器迭代次数。

 
Dmitriy Gizlyk #:

所有参数均为默认值。您必须只为优化设置 Agent 编号。它用于设置测试器迭代次数。

你好,德米特里、

您的程序库一定有问题。在多次测试中,我得到了相同的结果,但也有相同的缺点。

测试策略生成了两个时间上分开的订单系列。先是买入订单,然后是卖出订单。

卖出订单永远不会关闭,除非测试期结束。

在测试其他策略时也能观察到同样的行为,因此错误一定是出在策略的共同类中。

另一个潜在原因是测试的初始状态易受影响。

附上我的测试报告。

附加的文件: