文章 "第三代神经网络:深度网络" - 页 5

 
alsu:
当然不是。我只是在尽我所能,与用萨满教取代科学(不管是应用科学还是理论科学)的企图作斗争。而这正是 NS 领域正在发生的事情,该领域实际上已经在应用和理论两方面陷入困境十年之久了。

1.关于卡住。在我看来,基于深度网络的语音识别和手写识别的广泛实际应用反证了这一点。我说的不是面部识别。现在在我看来,这个话题已经获得了新的动力。

2.关于科学与萨满教。自苏联时期以来,苏联科学与西方科学的实践方法就截然不同。这一点在科学文献中体现得淋漓尽致。早在研究所时(上世纪 70 年代),我就注意到西方出版物中对复杂问题的描述是多么通俗易懂,而国内文献中的描述则是多么深奥曲折,其中还散布着一些复杂的公式。这种做法直到现在也没有改变。越复杂难懂就越科学?

我既不是程序员,也不是数学家。我是一个实践者。对我来说,重要的是,新思想应以通俗易懂的方式呈现,并通过权威的应用加以证实,帮助我解决必要的问题,同时尽量减少实施过程中的时间损失。而这一切都离不开 R 语言包中的深度神经网络 这一主题。

我同意文章中所说的一切。没有人取消拥抱浩瀚的愿望。并不是所有新一代的代表都记得神经网络这个主题。我想提醒他们。

好吧,就像结果一样。

祝你好运

 

好文章!

最近的一系列 DM 文章都很不错。

 

到目前为止,我已尝试加载所有内容,但无论我做什么,都无法加载。所有路径都与您的说明相同,我已经尝试过 3.1.1(与您使用的版本相同)和较新的 3.1.3 版本,所有脚本、动态链接库、指标、头文件等都按照您的说明放在正确的位置。

每当把 EA 放到图表上时,都会出现 "Rterm 已崩溃 "的提示窗口,查看代码后发现 R 没有加载。

是否还需要其他步骤,比如加载 R 所需的 DLL 丢失了?

我还检查了 所有 R 脚本,以确保路径正确(文件夹名区分大小写),但还是不行。

您的文章和深入浅出的解释给我留下了深刻印象。我用 Jeff Heaton 的神经网络做了很多工作,所以也想看看 R。

如果您能提供任何建议,我将不胜感激。

 
Ne to chtobi statja ustarela, but luche izpolzovat recurenement LSTM i delphi decition.Mne lichno ochen nenravitsa MT4
 
traderd:

到目前为止,我已尝试加载所有内容,但无论我做什么,都无法加载。所有路径都与您的说明相同,我已经尝试过 3.1.1(与您使用的版本相同)和较新的 3.1.3 版本,所有脚本、动态链接库、指标、头文件等都按照您的说明放在正确的位置。

每当把 EA 放到图表上时,都会出现 "Rterm 已崩溃 "的提示窗口,查看代码后发现 R 没有加载。

是否还需要其他步骤,比如加载 R 所需的 DLL 丢失了?

我还检查了所有 R 脚本,以确保路径正确(文件夹名区分大小写),但还是不行。

您的文章和深入浅出的解释给我留下了深刻印象。我用 Jeff Heaton 的神经网络做了很多工作,所以也想看看 R。

如果您能提供任何建议,我将不胜感激。

您好

很高兴 您对 这篇文章 感兴趣�
调试 秋季 Rterma 的方法如下:
- 注释掉 start () 中 所有内容 ,除了检查 工作 Rterma
- 注释 init () 的所有内容,除了 运行 Rterm ( )

- 如果 Rterm 启动并 运行, Init() 注释 一个 操作符 检查 您可以 指定 运算符 崩溃的 原因

此后 更容易 确定 崩溃 原因 通常 有两种情况 脚本 语法错误 缺少必要的 库。
请再次 参阅本文附录

如果 您能告诉我们 Rterm 崩溃的 原因 ,我们 随时 准备为您提供帮助

致以最诚挚的问候

 
guz1kas:

Ne to chtobi statja ustarela, but luche izpolzovat recurenement LSTM i delphi decition.Mne lichno ochen nenravitsa MT4

问候。

过时了吗?这是新的。

最好是如何,为什么。如果您能提供更详细的细节,最好。我只是好奇。

我们根本不是在讨论 Delphi。

问题不在于我们是否喜欢 MT4。我们的任务是用我们现有的设备(即 MT4,不管它是什么......)快速、可靠地满足我们的需求。

祝您好运

 
vlad1949:

你好/

很高兴 您对 这篇文章 感兴趣�
调试 秋季 Rterma 情况 如下:
- 注释掉 启动( 的所有内容 ,但 检查 工作 Rterma
- 注释 init () 中的 所有内容,但 运行 Rterm

- 如果 Rterm 启动并 运行, Init() 注释 一个 操作符 并检查。 您可以 指定 运算符 崩溃的 原因

此后 更容易 确定 崩溃 原因 通常 有两种情况 脚本 语法错误 缺少必要的 库。
请再次 参阅本文附录

如果 您能告诉我们 Rterm 崩溃的 原因 ,我们 随时 准备为您提供帮助

致以最崇高的敬意

我也遇到了同样的问题。除了检查 Rterma 或 init(),我找不到你在哪里提到 start(),但运行 Rterm()。我查看了 R 代码和 MetaEditor。
 

这是一篇非常有趣和有用的文章。我的系统可以运行了,不过是在 Zorro 中,而不是在 MT4 中。这大大简化了脚本,我可以回溯测试从 2014 年 10 月 14 日到今天的情况。

但有一个问题:您似乎是根据同一柱状图的 ZZ 而不是下一柱状图的 ZZ 进行训练的。因此,该系统在预测刚刚结束的条形图方面非常出色。如果我在过去的柱状图上进行交易,就会得到这样的平衡曲线:

用时光机交易

这是一个完美的系统!但是,如果我使用返回的 Sig 在下一交易栏进行交易,我就会得到这条稍微现实一点的平衡曲线:

真实交易

(红色部分为水下资产)。

我使用的是 2014 年 10 月 14 日的模型。您是否已经尝试过在下一栏的 ZZ 上训练模型?

 
jcl365:

这是一篇非常有趣和有用的文章。我的系统可以运行了,不过是在 Zorro 中,而不是在 MT4 中。这大大简化了脚本,我可以回溯测试从 2014 年 10 月 14 日到今天的情况。

但有一个问题:您似乎是根据同一柱状图的 ZZ 而不是下一柱状图的 ZZ 进行训练的。因此,该系统在预测刚刚结束的条形图方面非常出色。如果我在过去的柱状图上进行交易,就会得到这样的平衡曲线:

这是一个完美的系统!但是,如果我使用返回的 Sig 在下一栏进行交易,我就会得到这条稍微现实一点的平衡曲线:

(红色部分为水下资产)。

我使用的是 2014 年 10 月 14 日的模型。您是否已经尝试过在下一栏的 ZZ 上训练模型?

嗨/

我们必须 牢记以下几点。

1. 我们 "之 "字形 获取 信号

sig <- ifelse(diff(zz) > 0, 1, ifelse(diff(zz) < 0, -1, NA)

2. 我们将 转移 未来的 另一栏

sig <- Hmisk::Lag(sig, shift=-1)

3. 3.我们 根据 下一个 条形图 的信号来 训练 神经网络�
素质教育 需要 增加对 指标 指标 参数 神经网络 参数的 选择

文章 展示了路径 和方法 这些 网络 的潜力 是巨大的。

致以最崇高的敬意

弗拉基米尔

 

我现在训练了一个新模型,预测下一个条形图,看来它确实有效。准确率仍然在 74% 的范围内。这就是现在的股本曲线:

:

它的表现正如我所预期的那样:系统在训练后立即盈利,然后随着市场的变化而慢慢恶化。

因此,下一步是对模型进行定期再培训的 WFO 测试。为此,必须将训练整合到策略脚本中。

这是计算下一交易条的 Sig 的修正函数:

Sig <- function(ch = 0.0037, pr = price[ ,'Med']) {
        ZZ <<- ZigZag(pr, change = ch, percent = F, retrace = F, lastExtreme = T)
        for(i in 1:length(ZZ)) { if(is.na(ZZ[i])) ZZ[i] = ZZ[i-1] }
  #shift zz for predicting the next bar
        for(i in 1:length(ZZ)-1) { ZZ[i] = ZZ[i+1] }
        dz <- c(diff(ZZ), NA)
        sig <- ifelse(dz > 0, 0, ifelse(dz < 0, 1, NA))
        return(sig)
}

策略脚本每 30 分钟执行一次 "计算 "函数:

Compute <- function() {
  price <<- pr.OHLC(Open,High,Low,Close)
  X <<- In()
  normalized <- predict(Prepr, tail(X,1))
  pr.sae <- nn.predict(SAE, normalized)
  return(pr.sae[1]);
}

策略脚本,即 "EA":

#include <default.c>
#include <r.h>

string RPath = "F:\\D\\R\\R-3.1.3\\bin\\i386\\Rterm.exe";
int Size = 200;

bool RCheck()
{
   if(!Rr()) {
        quit("R session aborted!");
                return false;           
   }
   return true;
}


function run()
{
        BarPeriod = 30;
        StartDate = 20141014;
        LookBack = Size;
        asset("EUR/USD");
        
        Spread = Slippage = Commission = RollLong = RollShort = 0;
        //Stop = 25*PIP;
        //Trail = 25*PIP;
        
        if(is(INITRUN)) {
           RStart(RPath,1);
           if(!RCheck()) return;
           printf("\n%s running",RPath);
           Rx("rm(list = ls());");
           string Command = strfmt("source('%sStrategy/SAE.r')",
                strrep(ZorroFolder,"\\","/"));
           Rx(Command);
           Command = strfmt("load('%sData/sae.model')",
                strrep(ZorroFolder,"\\","/"));
           Rx(Command);
        }
        
        vars op = rev(series(priceOpen())),
                hi = rev(series(priceHigh())),
                lo = rev(series(priceLow())),
                cl = rev(series(priceClose()));
                
        if(!is(LOOKBACK)) {
                Rv("Open",op,Size);
                Rv("High",hi,Size);
                Rv("Low",lo,Size);
                Rv("Close",cl,Size);
                
                var Predict = Rgd("Compute()");
                if(!RCheck()) return;
                
                if(Predict > 0.6 && !NumOpenShort)
                        enterShort();
                else if(Predict < 0.4 && !NumOpenLong)
                        enterLong();
        }
        
        if(is(EXITRUN)) {
                RStop(); // 终止会话
        }
}