概述
自我上次发表了一篇关于这个话题的文章以来,已经有一段时间了。从那时起,我不得不重新思考我以前的所作所为。这就令从完全不同的角度看待可盈利算法交易的问题成为可能,同时考虑到以前未能顾及的所有小事。取代使用标准和黯然无趣的数学和代码,我为本人的读者给出了完全不同的解决问题途径。本文既可以是新事物的开始,也可以是旧事物的重启。我厌倦了耍小聪明,并把不必要的方程式和代码扔进历史的垃圾堆,故本文对任何读者来说都尽可能简单易懂。
通用接收器 EA
当然,更周密和高品质的 EA 会更有效。它们都可用于自动交易。不过,大多数 EA 能够重复使用。任何算法都有其适用性的限制,许多看似不符合开发人员或客户期望的 EA 都有他们自己未用到的资源。如果我们估计有多少交易系统从未达到测试阶段(至少在模拟账户上)的近似比率,我们将看到它们简直数以千计。
事实是,如果您不知道如何正确优化 EA,它肯定会被丢弃。正因于此,我扔掉了不少的有趣 EA。我只是没有意识到它们的使用方式可能略有不同。不幸的是,这需要一些经验。我不会在这里触及这个话题,但我稍后会写一篇关于高级优化的单独文章。
决定这样的冒险并不容易,因为出于本能,您总是想拿到一款超级 EA,把它放在终端里,按下一个按钮,然后把它丢之脑后至少几周。但我们仍然需要找到它,并确认它确实具有我们所需的特征。但想想看:当您在寻找它时,您可以采取一切行动,并尽可能多地按不同配置运行。
当然,您需要花费大量时间和精力,才能胜任控制此类 EA 的交易过程。在我的系统中,我使用通用 EA 绕过了这个问题,它是一个便捷的可选项,在已生成的智能系统(设置)里附加组件。此类 EA 的第一个也是最简单的版本包含以下重要的控制变量:
input int DaysToFuture=50;//Days to future
input LOT_VARIATION LotMethod=SIMPLE_LOT;//Lot Style
input bool bInitLotControl=false;//Auto lot bruteforce
input double MinLotE=0.01;//Min Lot
input double LotDE=0.01;//Lot (without variation)
input double MaxLotE=1.0;//Max Lot
input bool CommonE=true;//Common Folder
input string SubfolderE="T_TEYLOR_DIRECT";
input int MinutesAwaitE=2;//Minutes To Check New Settings
input bool bBruteforceInvertTrade=false;//Invert Bruteforce Trade
使用这种技术,我们能为每个浏览器配置具有自己独特周期工具集,而无需在若干个文件夹中复制数据。在这种情况下,只需要一个终端即可操作任意数量的交易终端。如果我们将分析间隔设置为年度,那么更新数据时可能出现的短暂卡顿微不足道。此外,整个系统基于逐根柱线范式,故整件事尽可能可靠,几乎可以抵御任何紧急状况。此机器人只有少量设置:
input bool CommonE=true;//Common Folder/Terminal Folder
input double YearsE=10.0;//Years Of History Data
input int MinutesForNew=2;//Rewrite Timeout In Minutes
EA 写入所有终端的公共文件夹,或写入当前终端自己的文件夹。它写如历史数据的最后几年,我们可从终端当前时间开始指示回溯历史。EA 在指定的超时(以分钟为单位)后写入。这是所有逻辑的最后一个要素。最艰难的部分结束了。剩下的就是实现一款在同一图表上工作的接收器 EA。我已经为它的实现准备好了一多半的功能。