There's an example of how to use DLL functions in Metatrader.
mrwobbles
It's either the training data or you got something wrong - the results are to good .
If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff
SIMBA
You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.
But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.
There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.
My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.
PS
I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction
我用一个例子向你解释。
假设你想预测一个变量,这个变量的值可以从100到250/像GBPJPY/。你想预测与训练数据相比非常小的时间步长/如H1或H4/。 对于某个步长,期望值是,比方说,174.850,NN的输出是176.350。误差非常小/约0.8%/,但在外汇方面,误差很大--150点。
预测正常或对数的回报率要容易得多。即使你犯了一个错误,输出可能仍然是有用的/如果你预测价格上涨20%,而实际上是10%,即使错误是50%,结果仍然是非常好的/。
这是不可能的。
即使NN给出一个非常糟糕的预测,它仍然是一个解决方案。
你可以使用台式电脑。今天的计算机比我开始的那些计算机好得多
mrwobbles,
你能好心地告诉我们你的NN结果的输入和输出吗?我想通过NeuroShell运行它,看看我是否能在相同的紧密度下产生R的相关水平。提前感谢。
我用一个例子来向你解释。
假设你想预测一个可以有100到250值的变量/比如GBPJPY/。你想预测与训练数据相比非常小的时间步长/如H1或H4/。 对于某个步长,期望值是,比如174.850,而NN的输出是176.350。误差非常小/约0.8%/,但在外汇方面,误差很大--150点。
预测正常或对数的回报率要容易得多。即使你犯了一个错误,输出可能仍然是有用的/如果你预测价格上涨20%,而实际上是10%,即使错误是50%,结果仍然是非常好的/。
是的,但我说的是比这小一个数量级的误差。我训练的网络的平均误差是10-20个点,接近可接受的水平。但还是有一些异常的结果,有几个超过100点,这显然是不可接受的。
这是不可能的。
即使NN给出一个非常糟糕的预测,它仍然是一个解决方案。
是的,我想你可以称它们为解决方案,但是从一个随机的群体开始,会不会导致更长的收敛时间?在这种情况下,从一个预先训练好的网络群体开始,肯定会加快网络的收敛,并希望能得到更准确的结果。
但是你仍然在看训练数据。我做了一个简单的例子--看下面的图片。误差措施很小,相关系数很高,但看看当你试图预测接下来的10步会发生什么。
随机性是关键
有了许多随机网络,你就有更大的机会在最后找到可能的最佳解决方案。请看第二张图片。如果你预先选择NN,你可能会卡在局部最佳状态,但如果你使用随机NN,你就有更大的机会找到全局最佳。
当然,有一些方法可以克服卡在局部最优的问题。
这个想法在我脑海中闪过。我的意思是,如果预训练的NNs群体太小,或者没有足够的遗传变异,那么一些解决方案可能不会被考虑。就像你说的,总是有机会选择12个NN,它们都卡在不同的局部最小值上,那就不妙了。或者更糟糕的是,12个NN都卡在同一个局部最小值上。尽管你总是可以编码一些随机的基因突变来尝试增加基因存量,比如每10代一次。从一个完全随机的结构开始,可以确保考虑到大多数可能性。
啊,我明白了,好吧,我刚刚发现如何在网络训练后使用它,显然是模拟功能......哦,帮助文件的乐趣
,你必须原谅我的无知,我对使用NN的工作相当陌生。如果我这么容易就解决了这个问题,我会很失望的。这应该是我在暑假期间要做的事情
,以及工作。 
编辑:我在前7年的数据上训练了网络,然后在过去几年的输入上模拟了它的表现。平均误差为40个点,但如果你看一下图表的情节,它在最初的1500个点上非常准确,然后它失去了它,开始弄错价格,但方向在大多数情况下是正确的。然后,它达到了大约10000点,它又重新振作起来(正好赶上了大崩溃)。看一下这个,告诉我你的想法。深蓝色是输出浅蓝色的目标。顺便说一下,我没有给网络提供目标,那些目标是为了分析而铺设的。
我不能从图片上看出什么,因为可能有 "阴影效应",而图片太小,无法看出。
但我可以告诉你如何检查NN是否正常。在Matlab中,有一个导出和导入 向导,将测试输出导出到一个XLS或CSV文件/Excel文件/。然后把真实值放在NN输出的旁边,在下一列中放入一个公式,检查NN是否预测了正确的价格运动方向。
通过计算得到多少个 "1",你就会知道网络的准确性。
你可以写一个公式,计算每一步的利润和损失。请看下图/我用的是波兰版的Excel,所以我不知道我的公式是否正确
/。 暂时跳过点差。
嗨,卡扎姆。
是否有可能在Metatrader上实施这个NN包?
看起来它可能是好的,我通过Open Office电子表格 运行该公式,它在交易方向上的准确率为73%。还有一些输入要给网络,我认为这将提高准确性。这是电子表格,我把它保存为xls格式,你应该可以阅读它。
在样,不在样
看起来它可能是好的,我通过Open Office电子表格运行了这个公式,它在交易方向上的准确率为73%。我还需要再给网络一些输入,我认为这将提高准确率。这是电子表格,我把它保存为xls格式,你应该可以阅读它。
好......样本内还是样本外?
这对你的账户有很大的影响,73%的样本内是账户杀手,73%的样本外是可能的......
尽量只相信样本外的结果,你的输入越少,你得到的过拟合就越少......所以,如果你增加新的输入,考虑删除一些旧的输入......或者扩大样本外的数据集,你将在此基础上形成你的信念。
作为一个经验法则。更少的输入,更少的连接,更多的样本外的点......更好的概括。
谢谢
辛巴
biddick
这是一个DLL,所以请看这里。
There's an example of how to use DLL functions in Metatrader.
mrwobbles
It's either the training data or you got something wrong - the results are to good
.
If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff
SIMBA
You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out"
/.
But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.
There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.
My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.
PS
I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction
[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf