36评论

4收藏

结合EA自动交易系统策略的指标

 

avatar wufuhehe | 7378 人阅读 | 36 人评论 | 2020-04-23


自动交易系统 (ATS) 的问题陈述如下:
试想我们已有一个基本交易系统 - BTS。有必要创建并训练一个神级网络来做事情, 但 BTS 不能胜任这个任务。必然结果是创建一个交易系统, 由两种组合构成, 且系统互补: BTS 和 NN (神经网络)。
或是, 像英文谚语所说: 没必要再去发现大陆, 它们都已经被发现。为什么要教导一些人跑得快些, 如果我们有一辆车, 或者飞翔, 如果我们有一架飞机?
一旦我们拥有一款趋势跟随 ATS, 我们仅需教导神经网络逆势策略。这是必然的, 因为一个目的在趋势基础上进行交易的系统, 不能在盘整, 或者识别出行情回撤或翻转时交易。您可以, 当然, 利用两个 ATS - 一个跟随趋势, 另一个逆势 - 并挂载到同一图表上。另一面, 您可以训练一个神经网络来补充您已存在的交易系统。
为此目的, 我们设计一个两层神经网络, 其构成在下层有两个感知, 在上层有一个感知。
神经网络的输出可以是这三种状态之一:

入场做多
入场做空
过渡状态

实际上, 第三种状态是在 BTS 之上传递的控制状态, 而开头的二种状态是神经网络给出的交易信号。
神经网络训练划分为三个阶段, 每个阶段用于训练一种感知。在任何阶段, 优化的 BTS 必须要让感知明白可以做什么。
通过遗传算法单独训练感知是由算法缺乏确定的, 亦即: 在该算法的帮助下搜索输入数量是有限的。不过, 每个训练阶段是连贯的, 且神经网络不是很大, 所以整个优化不会花费太多时间。
在最初阶段, 训练神经网络之前, 包括在 BTS 的优化。
为了不会遗失自我, 我们将在 ATS 的输入里记录阶段号码, 标识为 "pass"。相应于阶段号码的输入标识将等于此阶段号码。
所以, 开始准备优化并训练神经网络。让我们来设置初始存款为 $1000000 (为了不会在优化期间产生假的爆仓), 并且在策略测试器里的 EA 属性 "测试" 栏将输入优化为 "余额", 然后开始遗传优化。
进入 EA 属性的 "输入" 栏, 并指定开仓交易量为 1 手。
优化执行将会遵照模型: "仅开盘价 (最快速的方法来分析刚完成的柱线, 仅用于 EA 明确控制柱线开盘)", 因为这个方法在 ATS 算法里可用。
优化阶段 1。BTS 的优化:
设置输入 "pass" 为 1。
我们仅优化与第一个阶段相对应的输入, 即以 1 结尾。所以, 我们只检查这些输入来优化, 并忽略所有其它的。
tp1 - BTS 的止盈。它的优化数值范围 10 到 100, 增量 1
sl1 - BTS 的止损。它的优化数值范围 10 到 100, 增量 1
p1 - 在 BTS 中的 CCI 周期。它的优化数值范围 3 到 100, 增量 1


阶段 2。训练负责空头仓位的感知:
设置输入 "pass" 为 2 (根据阶段号码)。
取消所有前一阶段已检查的用于优化的输入。为防万一, 将前一阶段获取的输入保存到一个文件。
根据我们的规则检查用于优化的输入: 它们的识别符必须以 2 结尾:
x12, x22, x32, x42 - 识别空头仓位的感知权重数字。它的优化数值范围 0 到 200, 增量 1
tp2 - 通过感知开仓的止盈。它的优化数值范围 10 到 100, 增量 1
sl2 - 通过感知开仓的止损。它的优化数值范围 10 到 100, 增量 1
p2 - 通过感知分析价格差异的周期。它的优化数值范围 3 到 100, 增量 1。
采用遗传优化算法开始训练。
阶段 3。训练负责多头仓位的感知:
设置输入 "pass" 为 3 (根据阶段号码)。
取消所有前一阶段已检查的用于优化的输入。为防万一, 将前一阶段获取的输入保存到一个文件。
根据我们的规则检查用于优化的输入: 它们的识别符必须以 3 结尾:
x13, x23, x33, x43 - 识别多头仓位的感知权重数字。它的优化数值范围 0 到 200, 增量 1。
tp3 - 通过感知开仓的止盈。它的优化数值范围 10 到 100, 增量 1
sl3 - 通过感知开仓的止损。它的优化数值范围 10 到 100, 增量 1
p3 - 通过感知分析价格差异的周期。它的优化数值范围 3 到 100, 增量 1。
采用遗传优化算法开始训练。
阶段 4 (最终)。训练第一层, 即, 训练上层感知:
设置输入 "pass" 为 4 (根据阶段号码)。
取消所有前一阶段已检查的用于优化的输入。为防万一, 将前一阶段获取的输入保存到一个文件。
根据我们的规则检查用于优化的输入: 它们的识别符必须以 4 结尾:
x14, x24, x34, x44 - 第一层的感知权重数字。它的优化数值范围 0 到 200, 增量 1。

p4 - 通过感知分析价格差异的周期。它的优化数值范围 3 到 100, 增量 1。
采用遗传优化算法开始训练。
这就是全部, 神经网络已经训练完毕。
ATS 有一个非优化输入, mn - 魔幻数字。它是交易系统仓位的标识符, 目的是不与其它手动或 ATS 系统的仓位混肴。魔幻数字必须是唯一的, 不能与非本 EA 开仓的魔幻数字冲突。
附言,

初始存款大小应是绝对回撤的两倍,     即, 我们认为的安全资源。
此     EA 给出的源代码未优化。
如果您需要用其它交易系统的算法替换内置的     BTS, 您必须修改函数     basicTradingSystem() 的内容。
为了免于输入优化步骤的初始和最终值,     您可以采用现成的文件e combo.set,     将其置于文件夹 \tester MT4, 并在测试器的 EA 属性里加载它。
在周末重新运行     EA 优化,     即, 在周六或周日, 但是只在前一周的结果不盈利时。亏损的存在意味着市场已经变化,     且重优化是必需的。盈利的存在意味着     ATS 不需要任何重新优化,     并识别市场形态十分良好。
""
还没有人打赏,支持一下

评论|共 36 个

jaryk

发表于 2020-4-23 09:08:45 | 显示全部楼层

感谢楼主分享!!!!

冷若风霜

发表于 2020-4-24 11:48:05 | 显示全部楼层

这是二十年前的东西?还能用吗

□o□

发表于 2020-8-14 11:22:38 | 显示全部楼层

帮你顶下哈!!

AD瑞智广告

发表于 2020-8-22 15:24:01 | 显示全部楼层

帮你顶下哈!!

石冰心

发表于 2020-8-25 10:00:41 | 显示全部楼层

帮你顶下哈!!

wsq0713

发表于 2020-12-1 10:57:14 | 显示全部楼层

支持下

yuntian

发表于 2020-12-21 17:27:03 | 显示全部楼层

谢谢

外汇小生

发表于 2021-1-20 10:00:41 | 显示全部楼层

支持下

不惑的惑

发表于 2021-1-20 19:28:44 | 显示全部楼层

支持下

1234下一页
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则