Out<-function(ch=0.0037){ # ЗигЗаг имеет значения (определен) на каждом баре а не только в вершинах zz<-ZigZag(price[ ,'Med'], change = ch, percent = F, retrace = F, lastExtreme = T); n<-1:length(zz); # На последних барах неопределенные значения заменим на последние известные for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1];} #Определим скорость изменения ЗигЗага и сдвинем на один бар в будущее dz<-c(diff(zz), NA); #Если скорость >0 - сигнал = 0(Buy), если <0, сигнал = 1 (Sell) иначе NA sig<-ifelse(dz>0, 0, ifelse(dz<0, 1, NA)); return(sig); }
嗨,弗拉基米尔,你的文章给我留下了深刻印象。
我对 spatialSign 变换有些疑问,希望您能帮助我理解。
我试图了解使用 spatialSign 进行预处理的效果,因此尝试了以下代码:
predict(preprocess(try,method="spatialSign"),try)
我得到了以下结果:
[1,] -0.7071068 -0.7071068
[2,] -0.7071068 -0.7071068
[3,] 0.7071068 0.7071068
[4,] 0.7071068 0.7071068
我对这个结果感到非常惊讶,凭直觉,我认为 1 和 2 在 spatialSign 中不应该是一样的。 我知道它首先是居中和缩放,然后才应用 spatialSign,这个结果正确吗?
弗拉基米尔,感谢您提供了非常有趣的资料。一年前,我写了一个系统模型,使用 FireBird 数据库作为 R 和 Expert Advisor 之间数据和信号的中间存储,但该系统没有在 MT5 上使用,不过这并不重要。这让我有机会尝试其他 R 算法。再次感谢。
您好,我来自中国,我一直非常关注您在 mql5.com 上发表的文章。这四篇文章对我来说很有研究价值,学习成本很低。我很钦佩您的专业知识。感谢您作为读者能够分享您的经验。在您的文章中总有我困惑的地方,请您在空闲时间给我解答。谢谢!
为什么 pr.sae>mean(pr.sae) Yes sig=-1 而不是 sig=1?
您好,我来自中国,我一直非常关注您在 mql5.com 上发表的文章。这四篇文章对我来说很有研究价值,学习成本很低。我很钦佩您的专业知识。感谢您作为读者能够分享您的经验。在您的文章中总有我困惑的地方,请您在空闲时给我解答。谢谢!
为什么 pr.sae>mean(pr.sae) 是 sig=-1 而不是 sig=1 ?
当我们定义目标变量时,我们假设 0 表示买入,1 表示卖出/?
# ЗигЗаг имеет значения (определен) на каждом баре а не только в вершинах
zz<-ZigZag(price[ ,'Med'], change = ch, percent = F, retrace = F, lastExtreme = T);
n<-1:length(zz);
# На последних барах неопределенные значения заменим на последние известные
for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1];}
#Определим скорость изменения ЗигЗага и сдвинем на один бар в будущее
dz<-c(diff(zz), NA);
#Если скорость >0 - сигнал = 0(Buy), если <0, сигнал = 1 (Sell) иначе NA
sig<-ifelse(dz>0, 0, ifelse(dz<0, 1, NA));
return(sig);
}
即使在今天,这篇文章也确实非常精彩。
但我有一个问题,为什么我的 Kzz 等于 -Inf?
sig.zz<-ifelse(tail(dt[ , ncol(dt)], 500) == 0, 1, -1)
bal.zz<-cumsum(tail(price[ , 'CO'], 500) * sig.zz)
Kzz<-mean(bal.zz / bal)
Kzz-Inf
使用 Rsi 可能是错误的方法。
也许让它直接交易更好,就像它需要学习走路、下棋或其他游戏一样。
pr.sae<-nn.predict(SAE, x.ts)
sig<-ifelse(pr.sae>mean(pr.sae),-1, 1)
sig.zz<-ifelse(y.ts == 0, 1,-1 )
bal<-cumsum(tail(price[ ,'CO'], bar) * sig)
bal.zz<-cumsum(tail(price[ ,'CO'], bar) * sig.zz)
先生,上述代码中,计算 bal 时,您没有像在文章 DEEP NEURAL NETDEEPNEURAL NETWORK WITH STACKED RBM 中那样将符号向后移动。
我错过了什么?
新文章 第三代神经网络:深度网络已发布:
作者:Vladimir Perervenko
the target is worng ,it cannot work in realtime !!
the target is worng ,it cannot work in realtime !!
不要写愚蠢的事情。请仔细阅读这篇文章。想想。在此之后,一个重复的例子,证明了自己的看法。
扔空洞的口号,许多人。