Revolution R Open is our enhanced distribution of the world's most widely used data analysis software. Based on open source R, Revolution R Open is built, tested and distributed by Revolution Analytics and delivers: The latest R language engine from the R Foundation for Statistical Computing High-performance R language engine (multi-threaded...
又一次快速测试,这次使用的是 2014 年 9 月至 2015 年 2 月的 6000 条训练集。样本外测试从 3 月份开始:
我们再次经历了大约 5 周的盈利阶段,直到模型恶化。
我认为将数据分为测试数据和训练数据是不必要的:我们可以使用所有数据进行训练。准确率和混淆矩阵具有误导性,因为在大多数情况下,ZZ 符号与前一栏的符号完全相同,错误地暗示了高准确率。对于利润而言,只有符号变化才是最重要的。
我现在训练了一个新模型,预测下一个条形图,看来它确实有效。准确率仍然在 74% 的范围内。这就是现在的股本曲线:
:
它的表现正如我所预期的那样:系统在训练后立即盈利,然后随着市场的变化而慢慢恶化。
因此,下一步是对模型进行定期再培训的 WFO 测试。为此,必须将训练整合到策略脚本中。
这是计算下一交易条的 Sig 的修正函数:
策略脚本每 30 分钟执行一次 "计算 "函数:
策略脚本,即 "EA":
我现在训练了一个预测下一交易栏的新模型,看起来确实有效。准确率仍然在 74% 的范围内。这是现在的收益曲线:
:
它的表现正如我所预期的那样:系统在训练后立即盈利,然后随着市场的变化慢慢恶化。
因此,下一步是对模型进行定期再培训的 WFO 测试。为此,必须将训练整合到策略脚本中。
这是计算下一交易条的 Sig 的修正函数:
策略脚本每 30 分钟执行一次 "计算 "函数:
策略脚本,即 "EA":
您好
您 将 ZZ 系列 向后 移动了 一栏 。
您 将 系列 dz 向 后 移动 了一格 。
因此,您 将 两个条形图 中的 目标变量 移到了未来。
这相当于
dz <- Hmisc::Lag(diff(ZZ), shift=-2)也可以使用该选项。
同样,在模型恶化之前,我们会有大约 5 周的盈利阶段。
这是正常现象。 模型可以 而且 应该定期 重新学习。
我认为将数据分为测试数据和训练数据是不必要的:我们可以使用所有数据进行训练。
可以。 记住几个 要点很重要��1. 训练 集 和 测试 集不应交叉�
�2. 训练 集应 混合使用
3. 如果 类 的比例 平衡 --要进行 调整。
我很高兴 有 同事 在使用 R。
致以最崇高的敬意
弗拉基米尔
你说的双重移位是对的:事实上,系统预测的 ZZ 差值是基于下一交易栏的中间价。ZZ 是根据中间价计算出来的,但在计算时,我们有收盘价,而收盘价通常是上一个中间价和下一个中间价的中间。因此,额外的移位预测的是未来大约 1.5 个条形图,而事实上,如果没有额外的移位,我得到的结果要差得多。
我现在有一个 Zorro 脚本,每 4 周重新训练一次,并在训练后的 4 周进行测试。深度网络的运行速度非常快,脚本只需要 10 分钟就能运行 60 个训练/测试周期。这就是结果:
看起来没有第一印象那么好。显然还有改进的余地,因此下一步将尝试使用不同的网络设置、时间段和不同的指标。
什么是 Zorro?
我们 不仅需要 提取 指标 ,还需要 提取 其参数。 基因 算法可以 帮助你。
Zorro 是什么?
我已经下载并安装了所有文件,并将所有文件放入文件夹。所有软件包都已安装。文件夹设置为我的目的地。
当我在欧元兑美元 m30 图表中使用专家功能时,即使在调试视图中也一切正常,但一旦我在图表中使用指标,就会出现错误:
ExecutedCode: in >>> as.Logical(res<-GetRes())[1]。
Error in if (z) { :
i_SAE_fun.r "中函数 GetRes 的结果始终为 NA,因此无法将其转换为 bool 并停止工作。
有谁能给我指出正确的方向?
致以最崇高的敬意、
APoLLo
我已经下载并安装了所有文件,并将所有文件放入文件夹。所有软件包都已安装。文件夹设置为我的目的地。
当我在欧元兑美元 m30 图表中使用专家程序时,即使在调试视图中也一切正常,但一旦我在图表中使用指标,就会出现错误:
ExecutedCode: in >>> as.Logical(res<-GetRes())[1]。
Error in if (z) { :
i_SAE_fun.r "中函数 GetRes 的结果始终为 NA,因此无法将其转换为 bool 并停止工作。
有谁能给我指出正确的方向?
致以最崇高的敬意、
APoLLo
APoLLo 你好。
您使用的 是哪个版本的 R ?
这是一篇相当 长的 文章 , 在 R 软件包 更新后 ,有些功能会 停止工作。 最好使用Revolution R Open(RRO 8.01)
要检查,请 在 Rstudio 中运行 脚本。
如果你有时间,我 也会检查 错误出在哪里。
致以最诚挚的问候
弗拉基米尔
APoLLo 你好。
您使用的 是哪个版本的 R ?
这是一篇相当 长的 文章 , 在 R 软件包 更新后 ,有些函数会 停止工作。 最好使用 Revolution R Open (RRO 8.01)
要检查,请 在 Rstudio 中运行 脚本。
如果你有时间,我 也会检查 错误出在哪里。
致以最诚挚的问候
弗拉基米尔
我使用的是最新版本的 R 3.2.0 64bit 和最新的 MT4 版本。所有 R 软件包都是昨天下载的,所以也应该是最新版本。
如果我在 EURUSD M30 上启动 EA,我甚至可以用 RGUI 与之连接,并检查 "SAE "和 "prepr",然后得到很多数据。
对我来说,R 中的 GetRes 函数似乎是通过检索服务器(EA)上不可用的 flag1 值来检查连接是否打开。
也许这就是 "Acc"、"K "或 "Kmax "计算结果 不正确的 原因。
我有时间,如果您能帮我看看,我将非常高兴。
稍后我将尝试使用 Revolution R 8.01,看看这样是否更好用。
谢谢您的帮助)
非常感谢作者的文章。通过您的文章,我开始熟悉神经网络 在市场中的应用。我以前对神经网络并不熟悉,也从未使用过 R 语言。但现在我已经安装并开始学习了。它看起来很复杂,但很有趣!
是的,请告诉我,我不明白 SAE.model 文件是如何作为 Expert Advisor 的库使用的,还是作为什么使用的? 也就是说,我们能否从 R 语言中保存神经网络结构,然后将其作为 Expert Advisor 中的常规库使用,还是作为什么使用? 这一切都非常令人困惑和复杂(对我来说)。