- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动化交易教程
历经16年金融风雨,经历了全球市场所有商品的真实磨练
准确、迅速、无所不能是投资家的目标
自动化交易教程 1
1. 把交易思路告诉计算机 --- 交易公式的创造 1
2. 让公式跑起来 --- 组装交易策略 5
3. 多种入仓方式 --- 灵活使用先进的武器 10
入仓 11
出仓 13
4. 各取所需 --- 价位驱动和时间驱动 14
5. 不可或缺的所见所得的创作手段 --- 仿真测试 15
6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作 16
7. 附录一 博雅语言教材 19
Boya说明 19
变量、数组与序列变量 19
系统关键词、注释和说明 20
输入数据 21
运算符、表达式和赋值 22
控制语句 23
系统函数 24
子程序 25
隐含执行过程和自控循环 26
DLL方式 26
举例 27
8. 附录二 多周期共振公式代码 44
把交易思路告诉计算机 --- 交易公式的创造
交易者一般都有自己一套完备的交易思路,这套思路包括什么条件下开仓、什么条件下加仓、什么条件下平仓、什么条件下止盈止损等等。如果要想把这套思路让计算机自动执行,必须得描述给计算机。这个描述的手段有不少,最主要的手段就是创造交易公式。创造好了交易公式,自动化的工作就完成的大部分。本小节我们就以一个例子为代表,描述一下交易公式的创作过程,具体的语法大家参考附录一。
假设一个期货交易者,交易思路如下:
开多仓的条件:1分钟5分钟15分钟的MACD的DIFF都高于MEA
平多仓的条件:1分钟 MACD的DIFF低于MEA
开空仓的条件:1分钟5分钟15分钟的MACD的DIFF都低于MEA
平空仓的条件:1分钟 MACD的DIFF高于MEA
止盈的条件:无
止损的条件:5个步长动态止损
鉴于商品期货和大盘指数的对应关系,还希望平仓条件加入大盘的因素,比如,大盘1分钟、5分钟均线向上也作为平空单的条件,1分钟、5分钟均线向下也作为平多单的条件。
这个公式怎么创作呢? 为了高效,我们先创作两个子公式,一个MACD的公式,一个是大盘均线方向的描述的公式。当然,MACD这个公式系统里有,我们不需再创作,只是展示出来让大家看一下。
MACD的子公式:
//MACD的算法
DIFF = 对数平均(收盘价,P1) - 对数平均(收盘价,P2);
DEA=对数平均(DIFF,P3);
MACDV=2*(DIFF-DEA);
//三个输出
连线(DIFF,0);#outportdef(DIFF,0xff8040,1,1,1,0,0)
连线(DEA,0);#outportdef(DEA,0xff0080,1,1,1,0,0)
色棒线(MACDV,0);#outportdef(MACD,0x8080ff,1,1,1,0,0,2)
大盘方向的子公式,我们命名它叫”大盘方向”:
//加载上证指数的收盘价
a = 加载数据(0, 1, 收盘价);
//求5周期均线
b = 算术平均(a,5);
//判断均线的方向
d = 0;
if(ab b前面的值(b,1))
d = 1;
if(ab b前面的值(b,1))
d = -1;
//把得到方向的数值输出
连线(d);#outportdef(Dir,0xff0000,1,1,1,0,0)
为什么要先创作这两个子公式?因为这两个部分要被多次引用,为了简洁方便,我们先写两个子公式。从下面主公式的书写就可以看到这一点。
主公式(命名为多周期共振)代码:
//引用1分钟MACD的输出
DIF1 = MACD(12,26,9).DIFF;#period(MIN1)
DEA1 = MACD(12,26,9).DEA;#period(MIN1)
//引用5分钟MACD的输出
DIF5 = MACD(12,26,9).DIFF;#period(MIN5)
DEA5 = MACD(12,26,9).DEA;#period(MIN5)
//引用15分钟MACD的输出
DIF15 = MACD(12,26,9).DIFF;#period(MIN15)
DEA15 = MACD(12,26,9).DEA;#period(MIN15)
//引用大盘方向
DP1 =大盘方向.Dir;#period(MIN1)
DP5 =大盘方向.Dir;#period(MIN5)
大家看,MACD公式被引用了3次,大盘方向被引用了2次。那现在我们就把上面那个交易者的操盘思路描述一下:
//开多仓条件
bOcnd = DIF1DEA1 DIF5DEA5 DIF15DEA15;
//平多仓条件
sCcnd = DIF1DEA1 || (DP10 DP
文档评论(0)