1.介绍
今天,在金融市场中获得交易成功使用信息和交易平台已经成为实际要求.与传统交易系统相比他们的优点包括,例如,前所未有的处理速度及信息传递给终端用户,数据提供者的结合水平, 和大量的技术分析工具.
同时,投资者在一家经纪商申请账户不能同时管理实时分析和一周七天24小时在几个市场交易4-6金融工具.这带来了使用自动交易系统在运行时间和客户及服务器管理这些程序的需求 .
2. 问题区域对比分析
多样的软件组成包括了完成的目标领域市场表格分析和复杂的交易及管理预测. 交易平台的组成为其客户-经纪商,交易员,交易者,金融分析和顾问-提供服务,从昼夜访问信息意味着手机客户端,到在主客户端中的多个移动交易选项.
软件市场提供了许多信息和交易平台, 首先,在客户的实用性和服务器部分,账户申请后由金融公司提供的服务器列表.然而,只有很少的一部分软件方案包括自动交易组件.
2.1. MetaTrader4-基本解决方案
世界上最广泛使用的平台产品之一是MetaTrader4,由MetaQuotes 软件公司开发?进行外汇市场交易. 平台包括完整的开发环境(IDE) MetaEd?tor, 为在被称为MetaQuotes语言或缩写MQL4程序语言中编写脚本而设计. 语言的语法来源于C语言,既然上一版本使用MQL II做为系统语言而没有明显改变逻辑流. 新的自动交易框架是,无疑的, 上一版本的进化.2种语言都有良好的实用性特点, 具有最佳内奸交易设置和能完全执行基本交易的有效功能, 以及能帮助执行非标准行为的自定义功能.
从编程的角度看, MQL4 比以前的更加实用;此语言在专业编程中更加的专业,而MQL II, 在我的观点,更适合金融专家创建他们自己的交易系统 (或交易顾问,在 MetaQuotes术语中).
2.2. Omega Research-基础解决方案
在现代世界, 绝大多数公司使用由TradeStation Securities, Inc.开发的Omega Research平台.此平台早已证明在全球市场的价值, 专家认为是最好的技术分析系统.提供的IDE 被称为OmegaResearch PowerEditor打算创建简单语言(EL)中的控制系统.
语言的主要优点是下单和平仓简单醒目.如果我们规划以人类的语言在我们的经纪商处下单, 可以写出与之相符的程序指导.在MQL4, 例如, 开仓下单将包括12个不同的参数.在EasyLanguage, 同样的指令可以使用几个单词表述清楚. 处理技术指标也同样简单.但是不要产生这样的幻觉:当创建这些简单命令时, 语言开发者牺牲了实用性而限制了特殊功能的可能性, 因此事实上剥夺了IDE用户输入实施他们自己程序的机会.
TradeStation决定不创建大范围的内嵌交易和实用功能的的工具但限制成基础设置. 做为平台高级设置, 由内部或第三方扩展的功能,TradeStation只是简单的将他们列为用户自定义功能脚本.结果是,提供给用户的功能不比MetaQuotes产品少.
PowerEditor 提供内嵌词典允许用户搜索并获得帮助. 另一种值得提到的方便工具是strategy builder. 使用 strategy builder, 用户可以很简单的为他们自己的交易系统创建基本运算法则,并进行修改和必要的调整.
EasyLanguage是为股票市场创建自动交易系统领域的创始者.是MQL II开发的基础. EasyLanguage对程序员是一个很好的选择,但对金融专家分析市场仍然更加有效.
2.3. ProTrader-基础解决方案
专业的金融专家可以选择ProTrader2或ProTraderFX 平台作为他们的交易工具, 取决与金融市场的类型-股票或外汇,分别的. 两种平台由PFSoft LLC开发和支持. 当描述ProTrader Language (PTL)开发的特色时, IDE的提供者被称为 PTL Builder也提供机会在 MQLII, MQL4 和 EasyLanguage中创建脚本. 为此, 程序文本被翻译成独立语言编码.因此, 运行时与编写脚本的语言不同. 此技术不仅仅支持创建新脚本而且可以用来免费收集许多有经验的交易者所使用的脚本.
植入新脚本语言的主要想法是保证脚本运行稳定和可预测性的最大化.The PTL语言被创建用于降低用户脚本文本中的错误-在脚本测试或公布前消除潜在的危险脚本.
不管所选择的程序语言,当运行脚本时平台使用认证过的托管代码. 此微软-开发技术在脚本运行前使不能被错误删除.这意味着系统将不会失败并且不会执行由于临界错误或其它程序导致的破坏而不希望的行为.
PTL Builder IDE由于支持不同程序语言和提供例如tester和debugger工具而为金融专家和程序员服务.
2.4.方案对比
上述IDEs具有其特殊的特色. 下表提供了每种方案的简单对比.
3. 创建自动交易系统方法和使用建议
几乎不需要提到的是选择信息和交易平台应该严肃认真. 对那些打算使用自动交易系统的读者,以下是我根据我个人经验推荐考虑的几点.
3.1. 选择工作环境
首先, 明确自动交易系统执行的任务类型.应包含以下:
真实交易: 在选种的品种中开仓和平仓.
二级支持-功能. 这包括下保护订单,创建和发送通知报告.
运用您自己的运算法则利用不同的分析工具分析市场.
现在,在您研究网络上的用户评论和咨询你的经纪商后 ,获得了所提供产品的印象.我强烈建议你不只是匆忙的看一下, 而是测试系统一两天, 幸好,大部分大的公司都允许你注册模拟账户进行测试.关注IDE的实用性和附加的工具,以及IDE控制系统创建的稳定性和安全性.
3.2. 创建控制系统
如果你打算创建你自己的脚本,花费一些时间研究程序语言和IDE的文档. 当然,对一款专业编辑的自动交易系统, 脚本应由编程和金融领域的专家编写. 如果你打算使用经典程序中的一个, 记住他们大部分都经过试验,论证. 用来测试自动交易系统或作为你自己程序的基础非常好,但是作为自立的,准备使用的方案它们用处很少.
如果你决定使用第三方开发者编写的程序,记住好的方案必须需要付出.一种创新策略的价格自$300到 $500, 但使用先进的精准和经济技术编写的高回报的策略特别是自动交易大赛获奖者的价格将超过$1,000.
3.3.测试脚本
当使用一款自动交易系统时,始终测试你的脚本.程序如下:
1.在脚本测试器 (如果此功能在你的IDE中可用) 中多次测试脚本,变化图表周期,交易的品种,和程序设置.尽力设置条件模型接近真实市场环境.
2. 在模拟账户中(如果此机会可用)测试脚本. 在此步骤中, 让系统运行足够长的时间(由图表周期定义)非常重要. 如果系统出现巨大收益或亏损不要停止测试. 脚本的效能只有在运行足够长的时间后才可以评估.
3. 在真实环境中运行脚本. 在此步骤中, 干预脚本是不明智的-例如,平掉脚本建的仓或修改设置-或者你会颠覆程序的内部逻辑.
3.4.选择脚本时如何不成为技巧的牺牲品
记住没有绝对优秀的顾问.因此,不要让他们出售给你布鲁克林大桥- 如果你有一款带来极好收益的系统, 你会卖掉它吗?只有一个建议-精确的全面测试将帮助你获得对脚本正确的评价.
通常,脚本投资方以他们自己的测试结果来描述他们的产品.在大部分情况下,然而, 此结果是非常有偏见的.记住测试应始终在不同的周期下执行, 或者你可以简单的调整到一个周期面板并显示极高结果. 根据NFL定律, 公平的说不可能创建最适合当前所有工具的脚本.
一些专业的程序员使用复杂的数学工具赋予他们的程序人为的智能神经网络,预测和演化运算法则不再惊奇. 我不能建议对此种系统评估过高-复杂的预测运算法则对错误和参数设置非常灵敏,而简单的设计在抓住交易信号时不能对顾问提供更多的帮助,只能用来提高脚本的价格.
4. 总结
本文中, 我既不讨论创建顾问的任何程序规则,也不详细讨论以特殊语言编写的脚本.在这些话题中,有整本的书和文章.我的目的是展示我认为相当重要的在目前的出版物中没有足够重视的几个观点.
因此,自动交易系统是你的盟友或敌人? 当谨慎使用没有草率的决定,自动交易系统会促进金融专家的工作并带来一定收益.但是当不正确使用时,不完全测试,或频繁更改设置,自动交易系统会导致你亏损.
记住自动交易系统不是做你的工作而你不需要任何努力.用来解决你目前的问题并不增加新问题.
5. 参考
1. MetaQuotes developer of MetaTrader, MQL2 and MQL4
2. TradeStation developers of TradeStation and EasyLanguage
3. PFSoft developers of ProTraderFX, ProTrader2 and ProTraderLanguage