2022.12.16补充:
大白提醒:用T-INN获取样本前,最好是实盘账户先获取好相关品种的历史数据再跑脚本,否则得出来的样本不精确,脚本运行也会报错的
2022.12.14首次更新:
前言:今天这个脚本T-INN是和UNI BOT EA配套的,0编程基础、小白和新手都建议直接放弃,因为理解起来有一定难度,此脚本涉及的内容以神经网络和深度学习为主,本文作者并非计算机科班出身,仅能凭着有限的理解说个大概,还望各位汇市编程大师多多指点。
由于T-INN是脚本不是指标,大白目前的一键导入仅支持indicator和experts的文件夹,大白会先T-INN放在指标文件夹里,大伙点击下载后,手工在indicator指标文件夹把文件移到Scripts脚本文件夹里。
接着回到MT5脚本处,右击刷新,即可使用。
T-INN全称:Target-Intel NeuroNet
运行环境:Windows Server 2016
(因为要配套UNI BOT,所以T-INN运行环境需和前者一致)
运行前准备:至少要留出2~3天时间来训练模型(这也是一再推迟上线的原因)
运行脚本的原理:
UNI BOT的编程团队独立开发了T-INN这套非零级的神经网络系统,其团队定义为第一级架构复杂性的神经网络,目前在学术界上尚未相关正式定义。
原理较复杂,因为涉及到其他神经网络的架构,具体的放到文末再详细讲解。
如何运行T-INN脚本:
(不懂原理的直接按着下面几步操作即可)
①最好是在MT5运行,真实帐户,平台最好选择至少5~10年以上;
②选择你想优化的品种,周期为H1,运行大白上下载的T-INN1.61的脚本;
③初步加载参数,参数介绍如下
④接下来就是根据自己需求设定了,例如默认初始样本数据时间start optimized可以改成2000.01.01 00:00:00以后的,过早的数据反倒会影响样本的辨识度。time base 可以改成较现在的时间早一个月,半年,一年,主要目的就是留出时间差来校正神经网络预测的行情和真实的行情的差异,所以可以设定为2021.12.01 00:00:00。time forward则是期望看到的预测行情,例如2022.12.20 00:00:00。
后缀名是.net。
然后在第二次、第三次加载脚本的时候,要在net file name的位置填上文件名全称,包括后缀.NET。
⑨以上设定完毕后,初步的1.0样本就获取完毕了,我知道你看了可能有点懵,大白这边做个参数改动小结:
初次加载:自定义时间、action和visual都得改、lenthmpl得改;
第二次加载:时间和初次一致、action和visual都得改、lenthmpl和初次一致、net file name要填;
第三次加载:时间和初次一致、action得改、lenthmpl和初次一致、net file name要填;
⑩那问题来了,我们做了这么多,目的是什么?目的就是为了获得那份net文件,在UNI BOT EA使用的过程中,在EA参数里导入该文件,辅助EA进一步大数据运算。
所以要想玩动这款UNI BOT EA,还是需要花一些时间和功夫的。目前中文外汇EA圈尚未看到有任何人讲解T-INN脚本以及UNI BOT EA的使用,大白也是花了一点时间,才弄明白相关使用方法。剩下的篇幅我们就拓展一下神经网络的架构,欢迎留言补充。
T-INN脚本的原理基础
我们先通过一张动图就可直接了解ANN神经网络的基础:
神经网络是个大类,不是我这个新手能讲明白。
看UNI BOT提到的几个神经网络架构都属于FNN前馈神经网络
其中PNN和GRNN归类于RBF,可以用下面这几张图理解一下:
如果图片没看懂,大白一句话总结就是:RBF的主要作用是将原有的空间数据通过西格玛的再次运算,整理成新的有对称的空间数据,这么一讲,懂了不?
至于西格玛的公式有哪些,没有限制,只要数据经过公式后,有办法找出对应关系就行。
计算的难度和计算的时长,就得看初始数据的样本大小了,逻辑上理解不难,难的在于公式的罗列以及矩阵的计算。
RBF、PNN、GRNN的优点:
1.非线性映射能力和学习速度都很强;
2.PNN用于求解分类、GRNN用于求解回归;
3.各层级神经元数目比较固定,易于硬件实现;
RBF、PNN、GRNN的缺点:
1.没有能力解释自己的推理过程;
2.把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息;
3.隐层基函数的中心是在输入样本集中选取的, 这在许多情况下难以反映出系统真正的输入输出关系, 并且初始中心点数太多; 另外优选过程会出现数据病态现象。
T-INN参考的框架是MLP和MADALINE,前者主要为多层感知器,后者是多层线性神经网络。
MLP已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数,或解决分类问题。主要优势在于其快速解决复杂问题的能力。MLP是传感器的推广,克服了传感器不能对线性不可分数据进行识别的弱点。
Madaline架构中输入层和adaline层之间的权重和偏移量是可调的。
如果要推断不可预测的数据,则需要使用MLP和Madaline,但当数据达到一个临界值时,学习效率将大幅下降,不管期间你公式如何优化,终究还是会因为基数过大导致计算缓慢,效率变低,结果失真。同时,又得考虑时间成本,例如你花了一周的时间训练出一个预测样本,但这样本的数据仅能预测1天的数据,花7天的时候得到1天的样本,因为准确性的偏差,成本实在过高。
理解神经网络以及弄懂脚本的运行以及如何跟EA做结合还有不断反复测试出优化,均耗了大白大部分精力,学识有限,今日暂且介绍到这里。
通过编者附带的回测数据,按照其想法的样本包,回测出来的数据几乎有过半跑不过默参,但大白认为,该EA的架构是创新的,思路是创新的,也是有想象空间的,也希望未来外汇量化的赛道上能有更多类似EA的出现。