: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

[章节] 《专业股票交易系统设计与自动化》第十一部分 源代码(Source Code)

[章节] 《专业股票交易系统设计与自动化》第十一部分 源代码(Source Code)

11 源代码

苦与甜
来自外部、
艰辛来自内心、
来自自己的努力。

阿尔伯特-爱因斯坦,《晚年感言

交易史是一个世纪以来构建的知识金字塔。从利弗莫尔(Livermore)到江恩(Gann),再到爱德华兹(Edwards)和马吉(Magee),只有时间会告诉我们,哪些现代技术人员会被人们津津乐道。需要记住的重要一点是,交易是一项集体工作,因为人们从许多来源汲取灵感。本书是对技术分析领域做出贡献的许多人的总结。

交易软件的发展是在短时间内开发新的技术分析原型的催化剂,特别是随着专为交易设计的编程语言的发展。

这里的所有源代码都是用 EasyLanguage 编写的,这是一种用于技术分析和交易管理的语言。代码最初是为 TradeStation 2000i 平台编写的,但可以导入 TradeStation 6。请注意表 11.1 中 TradeStation 2000i 平台与 TradeStation 6 平台信号名称的不同:



11.1库存

所有 EasyLanguage 代码都按功能分组,大致按章节分类。从资金管理代码开始,因为它是其他代码的基础。然后,选择要构建的系统。创建文件后,验证整个埃克代码库,根据平台选择表 11.1 中的适当信号名称。

如果使用 TradeStation 2000i 和 TradeStation 6 平台,使用 PowerEditor 创建源代码,验证源代码,然后将所有带有 Acme 前缀的代码导出到 ELS 档案文件中。最后,将存档导入 TradeStation 6 进行自动转换。

本章中的 EasyLanguage 代码基于 TradeStation 2000i。如果使用 TradeStation 6,信号名称 Sell、ExitLong 和 ExitShort 必须分别替换为信号 SellShort、Sell 和 BuyToCover。

11.1.1 网站

可以从 Acme Trader 网站 http://www.acmetrader.com 购买包含本书源代码的 EasyLanguage 存档文件格式的专业光盘产品。只需将该产品安装到 TradeStation 中,交易者即可打开光盘中提供的预定义工作区。

11.1.2 资金管理

表 11.2. 资金管理模块











11.2 编译

11.2.1 创建存档

在 TradeStation 中创建并验证代码后,用户应创建一个 EasyLanguage 档案文件来存储所有 Acme 代码。此外,如果交易者结合使用 TradeStation 2000i 和 TradeStation 6,则应在 2000i 中创建存档,然后导入 TradeStation 6 中
因为旧的信号名称会自动转换。

TradeStation 2000i

要在 TradeStation 2000i 应用程序中创建存档,请按照以下步骤操作:

1. 在 EasyLanguage PowerEditor 中,选择
文件->导入和导出...
2. 点击
导出 EasyLanguage 存储文件 (ELS) 3.
3. 单击
下一步 > 4.
4. 在分析类型:下拉菜单中,选择
所有技术
5. 向下滚动,直到看到 Acme 前缀。高亮显示:
Acme 所有策略
6. 反复点击 > 按钮,直到所有 Acme 技术都转移到右侧的 "要导出的技术:"窗格中。
7. 单击
下一步 > 8.
8. 输入创建存档文件的位置和名称,例如
c:\temp\Acme.els
9. 单击
完成
10. 将出现一个提醒对话框,提示
您所选功能使用的功能也将自动转移。
11. 单击
确定
12. 传输过程将开始。可能会出现 "确认文件替换 "对话框,询问是否要替换现有的分析技术。单击
全部拒绝
13. 将出现一个提醒对话框,提示
所选策略和信号使用的信号和函数也将自动转移。
14. 点击
确定
15. 将出现一个提醒对话框,提示
您所选研究使用的功能也将自动转移。
16. 点击
确定
17. 导出成功 "对话框将显示: 您已成功导出分析技术:
您已成功导出分析技术
18. 点击
确定
19. 名为 Acme.els 的归档文件已在以下目录中创建:
c:\temp\

存档文件现在可以分发并导入 TradeStation 2000i 和 TradeStation 6。

要在 TradeStation 6 中创建存档,请执行以下步骤:

1. 在 TradeStation 6 应用程序中,选择
文件->导入/导出EasyLanguage...
2. 点击
导出 EasyLanguage 文档文件 (ELD) 3.
3. 单击
下一步 > 4.
4. 在分析类型:下拉菜单中,选择
所有技术
5. 向下滚动,直到看到 Acme 前缀。高亮显示:
Acme 所有策略
6. 反复点击 > 按钮,直到所有 Acme 技术都转移到右侧的 "要导出的技术:"窗格中。
7. 单击
下一步 > 8.
8. 输入创建存档文件的位置和名称,例如
c:\temp\Acme.eld
9. 单击
完成
10. 将出现一个提醒对话框,提示
所选策略使用的策略和函数也将自动转移。
11. 单击
确定
12. 传输过程将开始。导出成功 "对话框将显示: 您已成功导出分析技术:
您已成功导出分析技术
13. 点击
确定
14. 名为 Acme.eld 的归档文件已在以下目录中创建:
c:\temp\
现在可以分发该归档文件并将其导入 TradeStation 6。

11.2.2 将代码导入 TradeStation 6
创建归档文件后,可按以下步骤将其导入 TradeStation 6:
1. 在 TradeStation 6 应用程序中,选择
文件->导入/导出 EasyLanguage...
2. 点击
导入 EasyLanguage 文件(ELD、ELS 或 ELA) 3.
3. 单击
下一步 > 4.
4. 键入存档文件所在的位置和名称,例如
c:\temp\Acme.els
5. 单击
下一步 > 6.
6. 将显示并选中分析类型。如果未选中,请单击
全选
7. 点击
下一步 > 8.
8. 将显示并选中可用的分析技术。如果未选中,请单击全选
9. 单击:
完成
10. 10. 将出现一个提醒对话框,提示
所选策略使用的策略和函数也将自动转移。
11. 单击
确定
12. 传输过程将开始。可能会出现 "确认文件替换 "对话框,询问是否要替换现有的分析技术。根据要导入的文件是否比现有文件新,如果新则选择是,否则选择否。
13. TradeStation 将开始验证所有代码。
14. 出现 "导入成功 "对话框:
您已成功导入分析技术
15. 点击
确定

11.3 使用软件

埃克系统和指标可通过标准 Trade Station 窗口菜单应用:

a 插入-指标...
a 插入->绘制条形图...
a 插入->策略...

11.3.1 埃克所有策略

创建了一个名为 "Acme All Strategies "的策略,它结合了 Acme 系统 F、M、N、R 和 V。该策略可以像其他策略一样插入 TradeStation 图表(Acme P 系统不包括在内,因为它是一个特殊的日内策略)。

11.3.2 埃克价差指标

Acme Spread 指标需要在图表窗口中为两个股票符号绘制四个数据图表。前两个图表为日内图(Datal 和 Data2),后两个图表为日线图(Data3 和 Data4),具体如下:

1. 股票 A:日内
2. 股票 B:日内
3. 股票 A:每日(可选隐藏)
4. 股票 B:每日(隐藏,可选)

价差指标使用每日数据计算历史波动率和相关值。图表窗口中需要日线数据,但无需显示。我们建议配对交易使用 3 分钟或 5 分钟图表。

11.3.3 AcmeGetFloat 函数

Acme F 系统要求使用 AcmeGetFloat 函数。由于浮动值是基本面信息,无法通过 TradeStation 界面获取,因此 AcmeGetFloat 函数包含了超过 1500 种常用交易股票的浮动值。
常用交易股票的浮动值。如果该函数中没有列出某个股票代码,那么浮动值分析技术就什么也做不了,因为浮动值为零。要将股票添加到 AcmeGetFloat 函数的列表中,请执行以下步骤:

1. 打开 EasyLanguage 函数 AcmeGetFloat。

2. 2. 向下滚动文档,按字母顺序插入新符号。
该函数使用二进制排序来快速查找符号,因此必须按字母顺序排列,否则将无法找到。

3. 3. 复制并粘贴函数周围的一行。用新符号和浮点值更新该行(有关获取浮点值的信息,请参阅第 4 章)。

4. 添加符号后,验证函数 (F3)。

5. 现在浮点分析技术应出现在符号的图表窗口中。

11.4 源代码

所有 Acme 代码均按字母顺序排列。每个信号、指标和函数都是用 EasyLanguage 编写的。要创建每个策略,请使用 TradeStation StrategyBuilder?

a 用正确的名称创建新策略。
a 将每个信号添加到策略中。
a 每个策略都应包含各表中显示的信号。

对于 TradeStation 6,将表格中的每个系统插入图表窗口,形成整体策略。

Acme 所有策略

策略

表 11.10. Acme 所有策略


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

本帖隐藏的内容需要回复才可以浏览
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表