文档视界 最新最全的文档下载
当前位置:文档视界 › 交易开拓者(TB)期货程序化交易编程

交易开拓者(TB)期货程序化交易编程

交易开拓者(TB)期货程序化交易编程
交易开拓者(TB)期货程序化交易编程

交易开拓者(TB)期货程序化交易编程

本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料。

TB里面代码执行

1,代码从第一根K线开始执行,一直到最后一根K线;

2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行;

我们就写个输出每日的收盘价的例子;

打开TB,在左边的TB公式里面,点击新建技术指标,

然后在出来的公式编辑器里面输入

Begin

End

注意,除了参数和变量定义外,所有的代码都必须包含在Begin和End之间

我们再在Begin和End之间输入一些代码,完整的就是:

Begin

("c:\\a.log",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于");

("C:\\a.log",Text(Close));

End

我们再说说这两行代码是什么意思

File就是文件,Append就是添加,现在明白了吧

就是添加一个文件,文件名是什么呢?就是你后面写的a.log,这个文件的路径在哪里呢?就是c:\\a.log里面的C盘,且在这个文件里面添加一行东西,

这行东西的内容就是你后面所写的Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于"

当然,如果这个文件已经存在,他就不会添加文件了,仅仅在这个文件的后面添加一行上面你写的内容

好了,再看看Text,Text的意思就是把那些不是字符串的东西如数字啊,等变成字符串.而Year,Month,Day就代表了

正在执行你写的代码的那一根K线的年,月,日,年月日是数字,我们当然要用Text把它搞成字符串

CloseK线的收盘价啊,如果代码执行到最后的那根K线

我们点公式编辑器上面的工具栏的第五个按钮(打勾的那个东西),校验保存公式,稍微等一下,就OK了

我们在回到K线图里面,TB把K线图叫做超级图表

在K线图里面右键,选择商品设置,然后吧里面的样本数由默认的300改成5,意思是让在超级图表里面仅仅显示5条K线,点确定后,你就看到在K线图里面只显示了5跟K线,

当然现在代码还不能被执行,因为我们现在还需要把我们刚刚所写的那个指标加到K线图上面才能被执行的

我们上面说了,我们这个例子仅仅是把每日的收盘价写到文件里面去啊,那么我们找一找文件在什么地方咯? ("c:\\a.log",很明显,文件是在c盘的,文件的名字是a.log

好了,我们到c盘找到a.log文件,双击打开,我们就会看到下面的内容:

2007年9月24日的收盘价等于

67280

2007年9月25日的收盘价等于

67800

2007年9月26日的收盘价等于

67160

2007年9月27日的收盘价等于

67300

2007年9月28日的收盘价等于

68020

我们现在来分析下:

首先你写的代码在第一根K线上执行,先执行第一行代码:

("c:\\a.log",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于");

这行代码就输出了第一根K线的年,月,日,就在a.log文件里输出成"2007年9月24日的收盘价等于"

然后执行第二行代码:

("C:\\a.log",Text(Close));

折行代码把第一根K线的收盘价输出到a.log文件里面,于是就输出了"67280"

好了,代码在第一根K线上执行完毕,于是再转到第二根K线,再执行第一行代码,再执行第二行代码.........

我一直非常愿意帮助客户们解答在编程中的难点,但是却不大愿意帮助客户写完整的公式策略。这其中有三个原因:

1、别人写的交易策略,你难以调整它。

据统计,90%以上的交易策略会在2年半之内由于种种原因失效或者效率降低。通常的做法是一个季度左右,交易员就需要微调其策略,调整参数或改动某些条件。如果策略不是自己编写的,调整起来就会有困难。

2、别人写的交易策略,你很难彻底执行它。

系统交易最重要的好处在于它的执行能力。它可以使你的交易摆脱人性的弱点,摆脱心理因素的干扰。然而这一切的基础,在于自信。人只会信任自己了解的东西,这是人性。如果一个交易策略是别人写的,无论它的测试报告是多么天花乱坠,你都不会信任它,因为你不了解它。一旦市场出现了危机情况,你就会坐立不安,你就会总怀疑是不是策略有问题,然后就又把策略扔到一边,回到凭感觉去操作的老路上去了。

3、最重要的一点在于:编程就是理解,编写交易策略调试交易策略的过程其实就是理解市场的过程。这是一种非常宝贵的积累。大多数人都是通过在市场中亏钱,靠爆仓来理解市场的。成本高昂,而且难以总结。使用这种方法来了解市场,往往就算你亏了很多钱,交了大把学费,你仍然不知道自己到底输在哪里。你总结不出来,你就不可能有长进,就不可能赢。而通过写交易策略来了解市场你不需要交什么学费,从历史测试报告里很容易分析出来自己到底错在哪里,如此你就很容易改进。把编好的交易策略与模拟帐户交易结合起来就可以为你带来足够逼真的实战经验。

编程其实是一种思想,编程的目的是把你的思想用各种图形表现出来而已

我们期货编程的目的是表现我们的交易思想

是为思想而编程,不是为编程而编程!

现在开始写数据类型,变量和赋值.

数据类型

分字符串类型,数值型,还有布尔型

字符串类型很简单,用分号" "括起来的东西就叫做字符串类型的数据,如"I love you",如"3345",.....

数值型数据类型也同样的简单,数值大家知道吧,如1542啊,1.021啊....这些东西就是数值型的数据类型

当然,如果把一个数值型的东西用分号""括起来了那他就不再是数值型数据了,而是字符串类型的数据

如1688是数值型数据,但是"1688"就是字符串类型的数据了

还有就是布尔型,当然,没有接触过编程的朋友可能不明白布尔型的意思

说白点,布尔型就是真假型,意思就是布尔类型的数据只能取真(True)或假(False)值.

比如2>1,这个东西就是布尔类型的数据,因为2是大于1啊,所以这个表达式返回True(真)

那么2<1,大家说这个表达式是不是个布尔类型的数据呢?

也是,因为2大于1啊,所以2<1是错误的,就返回False(假)

大家明白了吧,就这三个类型,其中最只要的就是数值型数据类型

用的最多的也是数值型数据类型

如果明白了,那么请您就记住在TB里面数值型Numeric

看下TB的帮助,数据类型里面还有个序列型,如果数值序列型,字符串序列型,布尔序列型

序列这个东西看起来很难理解

比如我们的K线图上有10跟K线,Close就是收盘价

但是这个Close包含了第一根K线的收盘价,也包含了第二根K线的收盘价.......一直包含到第五根K线的收盘价

也就是说序列型的数据在每根K线上都有一个值的

说说变量

变量就是一个可以改变的东西

现在这个变量的值是100,但是等下我可以把它改成20, 只要您喜欢,你可以随心所欲的改变这个值

能够修改他的值的东西就叫做变量了

记住:

在TB里面变量都是要先定义的!而且有着他独到的定义方法,而且这个定义必须放到Begin的前面

如我们定义一个数值型变量a.就应该这样

Vars

Numeric a;

Begin

......

End

当然你也可以定义两个或者多个变量,如

Vars

Numeric a;

Numeric b;

//.........更多变量定义

Begin

......

End

大家也许想到了

我定义这个变量a,我要让他等于2,这个东西很简单

你可以在变量定义的时候就给他赋初值让他一开始被定义就等于2,也可以在Begin下面写.如

Vars

Numeric a(2);

Numeric b;

//.........更多变量定义

Begin

......

End

明白了么|?那么变量b呢?我们没有用括号()扩个东西啊,那么这个时候b这个变量等于什么呢?

很简单,如果你在定义变量的时候没有给他初值,那么b这个时候等于0

再看在Begin里面怎么修改这个变量的值

Vars

Numeric a(2);

Numeric b;

//.........更多变量定义

Begin

a = 3;

b = 100;

End

很简单的

现在大家应该知道了变量是什么东西了吧

对了,忘记告诉大家了,在Begin下面给变量复制仅仅只对当前正在执行你的代码的K线有效,到下一根K线他就是初始值了啊

写个例子吧

Vars

Numeric a(100);//定义一个变量,类型是数值类型,变量名字是a,变量的初始值是100

Begin

if(CurrentBar == 0)//如果是第一根K线,就把变量a的值变为1

{

a = 1;

}

("C:\\a.Log",Text(a));

End

我们再来看看输出结果:

1

100

100

100

100

我们再来理解下这个结果(当然这个时候我们的K线图上面只有5跟K线啊,其实随便多少跟K线都一样)

首先代码在第一根K线上面执行,先执行if(CurrentBar == 0)这个东西,CurrentBar代表正在被执行的K线的索引

因为代码现在在第一根K线上执行,所以索引就是0拉,于是这个表达式就成立了啊,既然if(CurrentBar == 0)这个表达式

成立,那么他就会执行{}里面的东西a = 1;把1赋给变量a,也就是说吧变量a的内容改成1,

然后执行("C:\\a.Log",Text(a));

这个时候变量a的值是1,所以当然输出1了啊

代码执行完毕

然后转到第二根K线,

既然是第二根K线,那么这根K线的索引就是1了啊,1肯定不等于0啊

那么表达式if(CurrentBar == 0)就不成立了啊,既然不成立那么他也就不会执行{}里面的东西 a = 1;

于是就直接执行("C:\\a.Log",Text(a));

那么这个时候a的值是多少呢?

很明显是100,就是他的初始值,而不是上一根K线执行代码的时候改变了的a的值!这点千万注意啊

变量赋值

其实我们上面已经说了,记住=和==的区别

=就是把=右边的东西赋给=左边的东西

如a = 100;

就是把=右边的100赋给左边的变量a

如b = 9;

就是把9赋给变量b

等于的符号是==

if(a==b)//就是如果a等于b

{

//做某件事情

}

再看在Begin里面怎么修改这个变量的值

Vars

Numeric a(2);

Numeric b;

//.........更多变量定义

Begin

a = 3;

b = 100;

End

现在我们说说TB中的流程控制

流程控制就是控制代码执行的流程

还说的明白点就是如果满足什么条件就做什么事情

或者不满足什么条件的时候做什么事情

简单说流程控制就是控制语句控制代码

控制语句中分为逻辑控制语句(就是条件控制语句)和循环控制语句条件控制语句中大家记住If这个关键字,翻译成中文就是如果

循环控制语句中大家记住For,就是开始循环了

先说If.

假设一个这样的条件:

如果(收盘价>开盘价)

则输出:今日收红阳线

我们先把这个东西翻译成TB

如果翻译成If

收盘价和开盘价大家都知道会翻译成Close和Open

输出语句就是,则翻译成TB就是:

If(Close>Open)

{

("c:\\a.log","今日收红阳线");

}

是不是很简单呢?

大家记住一点,凡是if(如果)语句中的代码,都给我用{}括起来

我们再把上面的条件加上一点:

如果(收盘价>开盘价)

则输出:今日收红阳线

否则如果(收盘价==开盘价)

则输出:今日收十字线

我们再翻译成TB,把否则翻译成Else,如果翻译成If

If(Close>Open)

{

("c:\\a.log","今日收红阳线");

}

Else If(Close==Open)

{

("C:\\a.log","今日收十字线");

}

同样的简单,我们可以再把上面的条件再加:

如果(收盘价>开盘价)

则输出:今日收红阳线

否则如果(收盘价==开盘价)

则输出:今日收十字线

否则

则输出:今日收绿阴线

上面的否则大家知道翻译成Else吧,有两种翻译方法,因为收盘价和开盘价的比较只存在着三种情况: 收盘价大于开盘价,收盘价等于开盘价,收盘价少于开盘价,我们先这样翻译:

If(Close>Open)

{

("c:\\a.log","今日收红阳线");

}

Else If(Close==Open)

{

("C:\\a.log","今日收十字线");

}

Else If(Close

{

("c:\\a.log","今日收绿阴线");

}

上面的这个语句是很好理解的

但是大家想到了吗?开盘价和收盘价的比较,如果不满足Close>Open,也不满足Close==Open

那么肯定的一点就是:Close

If(Close>Open)

{

("c:\\a.log","今日收红阳线");

}

Else If(Close==Open)

程序化交易系统大全

程序化交易系统大全 (收集了主流程序化交易系统) 一、趋势跟踪类 1、海龟交易系统 2、趋势线突破交易系统 3、波动性突破交易系统 4、通道突破交易系统 5、四周规则 6、NEWS交易系统 7、MACD交易系统 8、EMA交易系统 9、均线交易系统 、三重滤网交易系统 1010、三重滤网交易系统 1111、、SAR交易系统 1212、、OBV交易系统 (另有 克罗均线系统、、时间价格 双均线交易系统、、克罗均线系统 (另有::双均线交易系统 单均线交易系统、、趋势跟踪类全套多空强弱、、单均线交易系统 突破 突破、、LSS多空强弱 鳄鱼法则等系统)) 浮动波动性突破、、鳄鱼法则等系统产品 产品、、不动如山SAR SAR、、浮动波动性突破 二、反趋势振荡类 1、网格交易法 2、海岸线交易系统 3、假突破交易系统

5、薛斯通道交易系统 6、经典K线交易系统 7、RSI交易系统 8、KDJ交易系统 9、乖离率交易系统 、江恩回调带交易系统 1010、江恩回调带交易系统 、技术背离交易系统 1111、技术背离交易系统 、量价背离交易系统 1212、量价背离交易系统 BOLL通道交易、反四周 法则、BOLL (另有:维克多123法则、 规则 单摆震荡原理、、LSS轴点封套 轴点封套、、BIAS交易SLOWKD、、单摆震荡原理 规则、、SLOWKD 动能震荡、、分形交易系统等系价格通道交易、、ROC动能震荡 系统、、价格通道交易 系统 统) 三、波段交易类 1、海浪交易系统 2、天堂地狱交易系统 3、矩形交易系统 4、旗形交易系统 5、楔形交易系统 6、三角形交易系统 7、八段交易系统 8、波浪理论交易系统

周伟谈程序化交易秘诀

周伟谈程序化交易秘诀:纪律是我的赚钱法宝Post By:2010-12-7 16:45:00 操盘风格:程序化交易;稳定盈利 事迹简介: 浙江平湖人,现居上海,近不惑之年,1993年进入中国股票市场,1998年开始从事个人期货交易,几经起伏,也曾爆过仓,目前以程序化交易为主。2008年9月1日至2009年8月31日,在中国金融投资“潜龙出渊”期货实盘大赛中,用严格的程序化交易实现623.86%的收益,以稳定的资金增长,可控的资金回撤摘得”潜龙出渊”年度综合总冠军和A组累计收益率冠军。在第2届蓝海密剑大赛中,周伟收益率为119%,赢利金额为2902944.98元,位列全部选手盈利额第二。市场是系统交易者的朋友,盘整或者无趋势时候患难与共,而当行情灿烂时刻,资金的增长是市场给予的丰厚回报。 经典摘录: 一套完整成功的程序化交易系统应该包括进出的时机、风险控制和资金管理 我的交易系统与海龟交易法则有较大类似,比如价格突破 系统化交易会失去暴利的机会,每年50%-100%的收益 一般来说收益跟风险还是成正比的。比赛帐户基本上单笔风险控制在2.5%左右 想要在期货上赚钱,必须遵守纪律,其次坚决止损,再次多学习 按照系统来做,可以克服恐惧和贪婪 程序化交易成功的秘诀应该将实战和理论结合起来,再加上学习国外新方法 性格偏内向、静心之人适合做程序化交易 访谈实录: 和讯网:各位网友大家好,欢迎收看和讯访谈。蓝海密剑2009—2010实盘精英晋级赛在9月顺利闭幕,这中间涌现出了很多风格各异的期货高手,他们拼杀在无形的期货战场上,练就了一身的硬功。今天我们就请到了一位期货实盘精英周伟先生,周先生您好! 周伟:你好,大家好! 和讯网:我们知道周先生1998年就开始从事期货交易,盈利依靠自动化交易系统,不考虑基本面,而是根据系统的提示进行交易。在这次大赛中,您用了11个月的时间,把240万的资金做到了460万,请问您对这样的成绩满意吗? 周伟:应该差不多,不算特别满意,因为比赛中有好多选手收益率都比较惊人,我这个应该说勉强及格吧。

C17027S_程序化交易系统研究与风险防范

1 . 下列不属于程序化交易优点的是()。 ? A.根据规则自动交易,有利于克服人性弱点 ? B.突破人的生理极限,大幅提高投资效率 ? C.系统性的交易、资金和仓位管理,有利于投资的组合优化管理和风险控制 ? D.交易者只要拥有一套好的交易系统,利用程序化交易平台就可以稳步盈利https://https://www.docsj.com/doc/7615487589.html,/view/9b8934810029bd64783e2c7b.html 2 . ()交易策略是指套利者利用程序化交易系统在指数现货市场与指数衍生产品市场之 间,利用两类产品在不同市场上出现的瞬间定价的不同来迅速实现贱买贵卖的交易,并从中获得价差收益。 ? A.组合保险 ? B.久期平均 ? C.指数套利 ? D.算法交易 ?指数套利(Index Arbitrage)交易策略是指是套利者利用程序化交易在指数现货市场与指数衍生产品市场之间,利用两类产品在不同市场上出现的瞬间定价的不同来迅速实现贱买贵卖的交易,并从中获得价差收益[5]。它一般发生在股票指数的现货市场和与其相对应的股票指数期货市场。当股票指数现货与股票指数期货的价差大到足以超过无风险利率并能够抵补所有的交易费用时,从理论上讲,就可以进行指数套利 3 . ()交易策略是运用较为复杂的数学模型来确定订单最佳的执行路径、执行时间、执 行价格及执行数量的交易方法。 ? A.组合保险 ? B.久期平均 ? C.指数套利 ? D.算法交易

算法交易是指使用计算机来确定订单最佳的执行路径、执行时间、执行价格及执行数量的交易方法。 多选题(共4题,每题10分) 1 . 明确禁止的程序化交易包括()。 ? A.进行股指期货套期保值交易 ? B.频繁报撤且成交较低 ? C.影响收盘价、误导他人交易 ? D.制造趋势以影响价格 https://www.docsj.com/doc/7615487589.html,/content/2015-10/10/content_3939157.htm ?《办法》明确列举了禁止的程序化交易,主要包括证券自买自卖、期货自成交、频繁报撤且成交较低、影响收盘价、误导他人交易、制造趋势以影响价格等。 ? 2 . 在国外程序化交易系统建设及应用中,使用完全自主开发的程序化交易系统具有哪些特 点? ? A.高速、安全、稳定、灵活 ? B.重视界面友好、人机交互 ? C.开发工作量大,业务与技术紧密结合 ? D.策略的技术实现风险和业务管理风险高 3 . 目前开设程序化交易的交易所主要包括()。 ? A.纽约股票交易所 ? B.纳斯达克市场 ? C.芝加哥期货交易所 ? D.芝加哥期权交易所

《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》

《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》中国最著名博客女王干群精美作品编号2016061601 中国最著名博客女王干群精美作品编号2016061601 《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》 期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 一、如何下单 方法:点击“买卖”按钮可以下单。 二、如何指定价格下单 方法:在价格输入框输入价格,下单按钮会自动显示您输入的价格,然后点击“买入”或者“卖出”即可。 三、如何撤单 方法:如需撤掉挂单,只要双击挂单列表中的挂单即可。也可选择挂单合约后点击撤单按钮实现撤单 四、如何平仓 方法一:鼠标点击持仓,光标焦点会根据持仓方向落在“买

卖”按钮上,点击“买卖”按钮即可平仓。同时可以调节数量和价格微调按钮,对平仓手数和平仓价格进行设置 方法二:鼠标点击持仓,点击“平仓”按钮进行平仓。 方法三:双击持仓,实现快速平仓。 五、如何设置默认下单手数 方法:点击一键通交易软件中“数量”后面的“…”即可针对合约设置默认的下单手数 六、如何使用追价下单? 追价下单启动后,系统会自动撤单然后自动按照最新报价重新发出委托,直到完全成交。 方法:将一键通交易界面右上角的“追价下单”勾选即可。可以点击“追价下单” 后面的“…设置触发条件、追价范围和追价机制。 追价触发条件:以时间为条件,即下单后N秒钟没有成交就触发追价下单。 手动开仓、平仓追价范围:系统可以对手动下单设置追价范围,如果价格变化超过设置的追价范围,就停止追价。 追价机制:即对追价触发自动发出委托的委托价格进行设置。

程序化交易内外盘套利

Q-Trader程序化交易平台 Q-Trader平台为程序化交易者和套利对冲交易者提供了交易、行情、分析、研发和资讯为一体的综合平台,其先进的交易技术和强大的研发功能在全球同类产品中领先。 产品简介 Q-Trader程序化交易平台是由宏源寰球科技公司拥有15年华尔街交易技术研发经验的团队为职业投资者和机构开发的一站式多市场交易平台。平台为投资者提供了集下单技术、研发平台和资管平台三位一体的解决方案,帮助用户实现在一个平台进行跨市场跨境的交易投资。投资者可以使用平台程序化编程Q语言开发策略交易,也支持API接口,另外还提供交易工具定制和策略研发服务。宏源寰球公司官网可以通过电话和客服人员申请试用账号可以免费试用Q-Trader平台。 截止到2014年,Q-Trader平台与十多家期货公司、基金和投资机构展开合作,如:南华期货、海通期货、华安期货、天风期货、宝城期货、汇添富基金、铸铭投资、大岩资本等。目前Q-Trader交易平台经纪商通道在天风期货和南华期货已经上线,后续也将在其他合作经纪公司上线交易平台。为机构和基金公司定制的产品陆续交付使用。

产品特点 1.一站式多市场平台 平台集合交易、策略研发、资产管理三大模块功能一体化,支持多账号、不同法人账号、跨市场账号的一站式登录、管理和交易。2.个性化定制功能 Q-Trader平台是基于按需定制的用户体验,用户可以根据自己的需求来定制操作环境。比如,您可以对界面的模块进行自由拖拽组合,多页面卡片式切换,无固化的多屏系统布设以及调用多样化的交易工具。 3.完备的交易工具库 普通单:将行情和交易进行了有机集成,可以方便快捷设置下单参数和预埋多笔订单。 一键单:相比同类型软件的炒单工具,Q-Trader平台提供的一键单有六大亮点,亮点1:预设所有参数。亮点2:鼠标开仓;亮点3:拖拽改单、抢单;亮点4:便捷撤单;亮点5:多账号炒单;亮点6:多屏布置。 程序化下单工具 四种批量单:提供有三种批量单,可以实现在参数设置范围内对每笔订单下单时间间隔和每笔拆单数量智能随机变动,对拆单的价格支持在设定范围随机变动和循环递增两种变化方式。 VWAP批量单,运用成熟的交易量加权平均价格(Volume Weighted

商品期货交易策略的数学模型.

商品期货交易策略的数学模型 摘要 商品期货交易在当前中国的经济体系中占据着很重要的作用,投资者都希望从大量的期货交易中获取一定的利润,但是期货交易作为一种投机行为,交易者置身其中往往要承担很大的风险,本文研究了商品期货交易中的一些问题,给出了获取较大收益的交易方式。 问题一:我们首先利用SPSS中的模型预测方法给出了橡胶期货交易各项指标在9月3号这天随时间推移的波动图,又给出了利用Matlab软件作出的成交价与各个指标的相关性图表。分析所作的图得出的结论是商品期货的成交价与B1价、S1价具有显著相关性,与成交量、持仓增减、B1量、S1量也具有相关性而与总量不具有相关性。最后利用SPSS软件双变量相关分析进一步确认其相关性指标。为了对橡胶期货价格的这些变化特征进行分类,我们作出了成交价19天的波动图,并以持仓量为例分析其他指标的变化特征,将七项指标分成了上涨和周期波动两类。 问题二:本文采用了回归分析的方法建立价格波动预测模型。首先介绍回归分析的基本原理与内容,叙述了回归分析中用到的最小二乘法,之后在第一问的基础上建立回归分析的数学模型,得出函数关系,算得价格的波动趋势并与实际数据对比,再分析模型中的残差数据,验证所建立的回归模型合理性。 问题三:为建立收益最大化的交易模型,本题我们分析价格的波动数据后,借助移动平均线的理论方法,再分析价格的“高位”与“低位”,得出买点卖点。建立交易模型后,利用MATLAB 软件分析出合适的交易时机,并画出图形,利用所给数据根据建立的模型计算收益。 关键词:期货交易波动 SPSS软件回归分析

我国商品期货交易的品种迅速增加,吸引了大量交易者的参与,如何从商品期货的交易中获取相对稳定的收益成为交易者非常关注的问题。商品期货交易实行T+0的交易规则,所开的“多单或空单”可以马上平仓,从而完成一次交易,这样就吸引了大量的投机资金进行商品期货的日内高频交易。某种商品价格在低位时开“多单”,当价格高于开“多单”的价格时平仓,或者,价格在高位时开“空单”,当价格低于开“空单”的价格时平仓,差价部分扣除手续费后就是交易者的盈利;反之则是亏损。 现在题中给出了2012年9月相关商品期货交易的成交数据,让你以所给数据为基础,建立数学模型解决下面的问题: 1、通过数据分析,寻找价格的波动和哪些指标(仅限于表中列出的数据,如持仓量、成交 量等指标)有关,并对橡胶期货价格的波动方式进行简单的分类。(提示:这里的波动方式是指在某一时间段内(简称周期)价格的涨跌、持仓量的增减、成交量的增减等指标的变化特征。周期的选取可以短到几秒钟,长到几十分钟甚至是以天为单位,具体时长通过数据分析确定,较优的周期应该是有利于交易者获取最大的盈利)。 2、在实时交易时,交易者往往是根据交易所提供的实时数据,对价格的后期走势做出预测 来决定是开“多单”还是开“空单”。请在第1问的基础上建立合理的橡胶价格波动预测模型; 3、橡胶期货交易的手续费是20元/手,保证金为交易额的10%,设初始资金为100万。请 利用前面已经得到的相关结果,建立交易模型,使交易者的收益最大; 4、试分析确定合理的评价指标体系,用以评价你的交易模型的优劣。(这一问为选做) 2.模型假设与符号说明 2.1模型的假设 1.由于题中所给指标外的其他因素对期货价格波动影响较小,可以忽略,认为价格的波动只受所给指标影响。 2.假设所给的19天的数据能准确反映期货交易中出现的各种变化特征情况。 3.假设不考虑交易模型中交易者的主观因素。 2.2符号说明 B1价指的是买1价、B1量是指买1量、S1价指卖1价、S1量指卖1量。在问题二的回归分析中,x1指成交量,x2指总量,x3指属性,x4指b1价,x5指s1价,x6指b1量,x7指s1量。

期货程序化交易

1.什么是程序化交易? 程序化交易是交易员根据自己的交易思想,借助市场技术指标,将进场条件和离场条件定量化,形成交易模型。再将交易模型编写成计算机程序,当价格的变化满足预设条件时,由计算机自动激发买入或卖出信号。 2.程序化交易相对于一般交易有哪些特点,其主要解决哪些问题? 凡是交易决策和交易执行过程中的一切环节是程序化的,机械的就是程序化交易。一般来说,程序化交易是指利用计算机语言将人的交易策略和思想编辑成交易模型,当交易模型中设定的买卖条件被满足后,由计算机程序自动发送下单指令完成交易。 程序化交易并不是和计算机必然联系的,它指的是一种交易的决策和执行方式,与它相对应的是主观交易。即使交易决策是基本面分析,交易执行是人工手动下单,但整个流程都是程序化的,那么也属于程序化交易或系统化交易。具体的程序化交易如何进行,取决于投资者自身交易策略的需要。 程序化交易的特点和优势:首先是“死的”不是“活的”。这种客观的,机械的交易决策和执行方式排除了人在交易中的非理性的感情因素,解决了交易中的纪律性问题。这也是程序化交易取得成功的关键。其次是可以做到“心中有底”,而不是交易中人们时常感觉的“没底”。程序化交易的策略具有可验证性,由于交易策略是定量的,因此每一种策略在使用前都可以运用科学方法对其进行历史或实盘的效果测试,做到在正式投入使用前定量地掌握该交易策略的收益、风险对应的概率。不理想的话就重新设计直到认同。

每一个市场参与者都有自己的交易策略,和自己的交易纪律性。让交易策略或计划更科学,更符合客观实际;让充分准备的计划被严格的执行,就是程序化交易主要解决的问题。 3.假设一种程序化交易方式被众多投资者竞相使用,会不会带来程序失效?作为程序化交易的设计者,应如何避免这一类问题? 这要看具体的交易策略。按交易策略可以分为高频交易,趋势性交易,统计套利交易等若干种,他们都采用的是程序化交易的方式。其中一些持仓时间周期短的策略如短期套利交易会出现用的人越多越不利的问题。而人多对趋势交易则没有影响。 如果是短周期交易者的话不能避免这一类问题,只能力争在竞争中取胜。这就需要提高自己交易模型的科学性和自己的交易科技,也就是计算机技术支撑。 4.华西期货从什么时候开始尝试程序化交易,资金量有多大?是不是国内所有的商品期货品种都可以利用程序化交易?在哪种市场环境下,程序化交易的作用可以发挥到最大? 华西期货从2008年8月开始引入程序化交易。现在,程序化交易客户的交易量占华西期货总交易量的60%。 所有期货品种以及股票都可以进行程序化交易,它是一种交易方式。至于有些品种是否适合某些交易策略则要具体分析。

程序化初级交易模型总结

阶段涨幅:(CLOSE-REF(CLOSE,N)/REF(CLOSE,N); 再创新高:HIGH=HHV(HIGH,N); 放量上攻:CLOSE/REF(CLOSE,5)> &&VOL>MA(VOL,5)*3; 窄幅整理:(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE,; 均线多头排列:MA(CLOSE,5)>MA(CLOSE,10) && MA(CLOSE,10)>MA(CLOSE,20);前期高点及其位置:HHV(HIGH,20) HHVBARS(HIGH,20); 60天前到40天前的最高价格: REF(HHV(HIGH,20),40) 动态平均EMA(X,N) SMA(X,N,M) SMA(CLOSE,VOL) 点到面转化 COUNT SUM HHV LLV 面到点转化 CROSS 线性回归 SLOPE(CLOSE,10)/REF(CLOSE,10)>; 之字转向 PEAK TROUGH PEAKBARS TROUGHBARS 大阳线 LOW=OPEN &&CLOSE=HIGH&&CLOSE/OPEN>; 穿头破脚 C/O> &&OPENREF(OPEN,1); 吊颈 O=H && (OPEN-CLOSE)/(HIGH-LOW)<1/3 && (HIGH-LOW)/HIGH>; 低开大阳线 OPEN ; 跳空缺口 LOW>REF(HIGH,1) && LOW/REF(HIGH,1)>;

MA普通金叉 CROSS(MA(CLOSE,5),MA(CLOSE,10)) && MA(CLOSE,5)>MA(CLOSE,10) && MA(CLOSE,10)>MA(CLOSE,20) 3条均线多头排列持续3天CC:= MA(CLOSE,5)>MA(CLOSE,30) && MA(CLOSE,10)>MA(CLOSE,30); EVERY(CC,3)=1 ; 均线死叉 CROSS(MA(CLOSE,10),(CLOSE,5)); 当日成交量放大2倍的金叉 CROSS(MA(CLOSE,5),MA(CLOSE,10)) && VOL/REV(VOL,1)>2 KDJ指标RSV:=(CLOSE-LLV(LOW,N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100; K:=SMA(RSV,N2,1); D:=SMA(K,N3,1); 综合判断条件 CROSS(K,D)&&D ; RSI指标N1[ N2[ := REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100; RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100; WR指标N[ 综合判断条件 CROSS(WR,80) CROSS(WR,20) MACD指标L1[ L2[ L3[ DEA:EMA(DIFF,L1); MACD:2*(DIFF-DEA),COLORSTICK;

期货程序化交易策略研发

.. .. .. 期货程序化交易策略研发 .专业资料.

.. .. .. .专业资料. 摘要 期货程序化交易起源于欧美国家,随着计算机技术的发展,程序化交易得到了快速的发展。程序化交易主要通过阿拉法模型、交易成本模型和风险控制模型三个模型构成,通过对历史数据的分析寻找阿拉法策略,通过多策略组合实现能够收益稳定回撤可控的程序化策略组。本文主要是通过对程序化交易各个环节的特点进行剖析,实现通过数量模型就能稳定盈利的方法。 关键词:阿拉法模型,交易成本模型,风险控制模型,数据,多策略组合

.. .. .. .专业资料. Abstract Futures program trading originated in Europe and the United States, with the development of computer technology, program trading has been rapid development. Program trading is mainly constituted by alpha model, transaction cost model and risk control model of three model, by finding the Alpha strategy for the analysis of historical data, the combination of strategies can yield stable retracement controllable program strategy group. This paper is mainly through the analysis of characteristics of every part of the transaction on the program, through the method of quantitative model can stable profit. Key Words:Alpha model, Transaction cost model, Risk control model, Data, Multiple strategies

文华程序化交易说明文档

国海良时期货 文华财经 程序化交易系统 使用说明书

程序化交易是一种在计算机和网络技术的支持下,瞬间完成你预先设置好的组合交易指令的一种交易手段。您可以将您的交易思路,通过文华提供的函数、语法及编辑平台,编写成交易模型,实现自动开仓、自动止损、自动止赢。程序化交易在投资实战中不仅可以提高下单速度,而且可以帮助投资者在交易过程中避免受到情绪波动的影响,实现理性投资。 Mytrader2009的程序化交易功能在Webstock2008的基础上增加了追踪止损功能、在全自动状态下系统默认按照最后的信号方向执行,解决了交易指令消失不做任何处理的问题、使用算法交易确保下单成交、并且升级了效果测试和参数优化的功能,使程序化交易又前进了一步,让投资更加的轻松和快乐。 启动程序化交易进行自动交易 打开交易软件,输入账号和密码 启动自动交易模型,选择模型后点击加载或新建模型。

使用算法交易 可以选择是否启用“追价下单”“分批下单”“超价下单” 追价下单: 如果下单没有成交,可以设置追价下单,单子在几秒钟之内没有成交,系统会自动撤单并按市场最新价追价下单,直至预设手数全部成交(也可设置追价范围,防范风险)。(模型触发、价格价格条件单、画线条件单都可以支持追价下单)

分批下单: 如果下单手数过大,启动分批下单,系统会根据默认的分批下单手数,将总手数分批下单超价下单:在市价基础上调整[ ]最小变动价位,以提高成交几率。 算法交易参数的设置 点击图中程序化交易窗口的红色方框可以对算法交易功能进行设置 在下图中对算法交易参数进行设置

“程序化交易自动下单”的其他设置说明: “按市价下单,下单手数” :模型每次下单的数量 “只进行多头交易”:选择此项设置后,模型自动过滤掉卖开和买平的交易指令,只进行多头交易。 “只进行空头交易”:选择此项设置后,模型自动过滤掉买开和卖平的交易指令,只进行空头交易。 “双向交易”:选择此项设置后,模型可以发出买开、卖平、卖开和买平指令,进行双向交易。 “下单方式”:可以选择全自动(不需要确认)、半自动(需要确认)或者只显示信号。 “信号确认”:可以设置信号出现后几秒钟发出委托。 在全自动状态下,系统默认使用“程序化交易按最后信号方向执行”来解决指令反复的问题,设置如下图:

期货程序化自动交易教程

期货程序化自动交易教程 自动化交易教程 历经16年金融风雨,经历了全球市场所有商品的真实磨练 准确、迅速、无所不能是投资家的目标 自动化交易教 程 ..................................................................... ............ 错误~未定义书签。 1. 把交易思路告诉计算机 --- 交易公式的创造 ......................... 错误~未定义书签。 2. 让公式跑起来 --- 组装交易策略........................................... 错误~未定义书签。 3. 多种入仓方式 --- 灵活使用先进的武器 ................................ 错误~未定义书签。 入仓...................................................................... ............... 错误~未定义书签。 出仓...................................................................... ............... 错误~未定义书签。 4. 各取所需 --- 价位驱动和时间驱 动 ....................................... 错误~未定义书签。 5. 不可或 缺的所见所得的创作手段 --- 仿真测试...................... 错误~未定义书签。 6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作错误~ 未定义书签。

软件销售十大策略

软件销售十大策略 随着信息时代的来临,市场对软件的需求量飞速增长。2000年,中国软件市场销售额突破200亿元,年均增长率超过了30%,使得软件销售业成为新的投资热点。软件销售的好坏对软件开发商来说尤为重要,它关系到软件开发商能否收回成本、能否取得利润,更事关企业的生死存亡。作为销售人员在拓展软件的销售渠道通路的同时,一定要深入用户市场,分析用户所需,全面拓展渠道,进行广泛合作,才能取得软件销售的成功,而如何合理地运用软件销售的策略则是每位推销员所必备的技能。 一、软件市场分类 按照软件的销售特点,软件市场分为三大块:套装市场、OEM市场和系统集成市场。 1.套装市场 通常看见的软件被包装成一个标准产品,放在零售店面上销售,这种方式称为套装零售。这种购买标准软件产品的市场称为套装市场。它是软件销售的基本方式。 2.OEM市场 软件厂商通过授权允许其他厂商(比如PC厂商)把软件预装在其产品中,这种销售方式的称为OEM(OEM是OriginalEquipmentManufacturer的简称,即原设备制造商)。有些产品的OEM市场大于零售套装市场,如Windows98中文标准版预装在联想、方正、实达电脑中的销售额预计一年可达几亿元人民币,远远大于零售套装市场。目前总体上讲,OEM市场销售额小于其套装零售市场销售额。 3.系统集成市场 针对大用户需求专门为其设计开发软件并负责将软硬件集成一个系统,这种方式称系统集成。通过这种方式销售的软件市场,称为系统集成市场。系统集成市场的软件价值较难准确统计。从目前市场实际情况来看,这是国内软件市场最大的一块。 二、软件销售的策略

第一策略:品牌策略 品牌策略即通过宣传公司的品牌、公司的名称,从而将该品牌留在客户的脑海之中。1.做品牌广告,树形象法 把公司品牌名称做广告,可以将该品牌留在客户的脑海之中,即使产品本身是变化了或者是不连续的,这对企业建立市场领导地位也是关键的。此外,软件商树立起本企业的品牌形象,可以降低客户进行购买决策时的信息成本。再有,品牌有助于一个公司的招聘,因为他们有能力传达公司及其文化的正面形象。 2.办知识竞赛,提高知名度法 与电视台、电台、报刊杂志、协会组织、教育机构合作共同举办软件知识竞赛,提高企业的知名度,品牌的知名度。 3.发行企业刊物法 发行刊物是软件商定期对用户传达信息、保持联系的一种有效做法,也是一种提高企业知名度、品牌知名度的有效手段。通过企业刊物的联系,用户可以了解企业的新产品研究、开发及投产情况。企业也可以了解用户对企业产品的满意程度、偏好以及使用效果等最新动向。如希望集团发行《希望软件用户》杂志,成功地使用了企业刊物发行这一促销方法。 4.合理运用“递增回报法则”法 递增回报法则即你的顾客越多,你得到的回报也就越多。该法则是营销软件产品的极端重要的关键原因之一。获得市场领导地位的品牌甚至会吸引更多的顾客,这样你就取得更大的回报。一旦用户学会了如何使用某一品牌软件,他们就变得不太愿意转到其他竞争者的软件上去。他们甚至会忠诚地从这家公司购买升级版,而不是抓住时机改换门庭。第二策略:产品策略 产品策略即通过开发公司的产品,不断地增加新功能、新系列,从而居于市场领导者的地位。

程序化交易系统仓库

一、趋势跟踪类 ⒈海龟交易系统 ⒉趋势线突破交易系统 ⒊波动性突破交易系统 ⒋通道突破交易系统 ⒌四周规则 ⒍NEWS交易系统 ⒎MACD交易系统 ⒏EMA交易系统 ⒐均线交易系统 ⒑三重滤网交易系统⒒SAR交易系统 ⒓OBV交易系统 二、反趋势振荡类 ⒈网格交易法 ⒉海岸线交易系统 ⒊假突破交易系统 ⒋布林带交易系统 ⒌薛斯通道交易系统 ⒍经典K线交易系统 ⒎RSI交易系统 ⒏KDJ交易系统

⒑江恩回调带交易系统 ⒒技术背离交易系统 ⒓量价背离交易系统 三、波段交易类 ⒈海浪交易系统 ⒉天堂地狱交易系统 ⒊矩形交易系统 ⒋旗形交易系统 ⒌楔形交易系统 ⒍三角形交易系统 ⒎八段交易系统 ⒏波浪理论交易系统 ⒐123法则交易系统 ⒑唉呀跳空交易系统 ⒒江恩轮中轮交易系统 ⒓时间周期交易系统 四、套利套保类 ⒈无风险跨期套利交易系统(分品种) ⒉跨品种套利交易系统 ⒊大豆提油套利交易系统 ⒋跨市场套利交易系统(分品种、分市场)

⒍企业套期保值交易系统 ⒎价差趋势交易系统 五、日内短线交易类 ⒈早盘心理交易系统 ⒉缺口交易系统 ⒊早盘突破交易系统 ⒋横盘突破交易系统 ⒌日内海浪交易系统 ⒍高低点交易系统 ⒎日内趋势线交易系统 ⒏分时图三角形交易系统 ⒐日内网格交易系统 ⒑BTOB交易系统 ⒒100%回撤交易系统 ⒓成交量交易系统 程序化交易的兴起得益于电子计算机的普及,它是借助市场技术指标,由预定的程序计算买卖点位,然后由计算机进行操作的一种交易系统。在发达国家,程序化交易目前已经被广泛的应用于外汇、证券、期货等市场的交易。在美国,程序化起源于于上世纪七十年代。而我国由于期货市场起步较晚,程序化交易的步伐也相对落后发达国家。 程序化交易的优点——避免了人为的主观性,避免人为主观性既是程序化交易的优点也是程序化交易的缺点,在进行期货交易时,正是人的主观判断得以利润的攫取,有一部分非常优秀的炒单手在期货市场的交易中获得了巨大的利润,他们的主观性是程序化交易所不能替代的。但是,更多的投资者的主观性可以说在期货市场的交易中是不合理的,该进场的时候退却,该离场的时候却是犹豫。采用程序化交易可以避免这些思想也就是避免绝大多数人在期货交易中不恰当的主观性。程序化交易最后获得的利润会低于优秀炒单手的利润,却会大

期货交易模型编写经典教程

一、程序化交易的编写 ㈠、交易模型编写规范和一般原则 1、编辑平台支持的操作符 操作符意义例 CLOSE+OPEN 表示求收盘价及开盘价的+加法 和。 CLOSE-OPEN 表示求收盘价及开盘价的-减法 差。 CLOSE*OPEN 表示求收盘价及开盘价的* 乘法 积。 CLOSE/OPEN 表示求收盘价及开盘价的/ 除法 商。 AND 与(并且),也可简写为&& OR 或(或者), 也可简写为|| CLOSE>OPEN 表示判断当前周期是否收> 大于 阳。 CLOSE=OPEN 表示判断当前周期是否平< 小于 盘。 >= 大于等于 <= 小于等于 <> 不等于 = 等于

:= 只定义一个局部变量 (这个变量在画图时是不画的) TMP1:=(OPEN+CLOSE)/2; :MA(TMP1,10); 上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句MA10所求出的结果。相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为A VP,第二条线是均价的简单移动平均线。 A VP:(OPEN+CLOSE)/2; MA(A VP,10); :声明了一个变量, 在画图时画出它并且按这个名字显 示。 2、编辑平台支持的函数 ⑴引用数据 A VPRICE 引用均价(在盘后对于国内三个期货交易 所指结算价) SETTLE 引用结算价(只有在日线周期盘后才能引 用当日的结算价) CLOSE 引用收盘价(在盘中指最新价),也可简写 为 C HIGH 引用最高价,也可简写为H 。 LOW 引用最低价,也可简写为L 。 OPEN 引用开盘价,也可简写为O 。 OPI 引用持仓量 REF(X,N) 引用X在N个周期前的值 例:REF(CLOSE,5);表示引用当前周期前 第5个周期的收盘价 REFX(X,N) 引用N个周期后的数据。(N为大于等于 1的整数)『未来函数』 例:REFX(CLOSE,5);表示引用自当前周 期后第5个周期的收盘价

从一无所知开始学习交易开拓者(TB)期货程序化交易编程

从一无所知开始学习交易开拓者(TB)期货程序化交易编程 经常会看到很多朋友问:帮我写个公式怎么样啊?帮我把某个公式改成TB的怎么样啊? 我想出现这种情况的原因有两种: 一是真的不会,毕竟做期货的会编程的不多; 二是自己如果多花点时间的话是弄的出来,但是有点懒; 我想无论是哪种原因,都应该好好的学习下TB,因为真正的你的交易思路只有你自己才清楚 而且也只有你自己去把你的交易思路用TB表现出来你才能更清楚的知道你的交易思维中有何缺点 但是编程不是一件很容易的事情,当然,如果您入门了,你会发觉TB编程其实和泡妞一样的简单,就看你敢不敢下手了 所以本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料,如果您是高手,请忽略此文,以免耽误您的时间. 我先不说那些专业术语,什么变量,函数和语法的,我们先不管他,以免看的头晕. 我想先说说在TB中代码的执行顺序,也就是说在TB的K线图(TB把K线叫做Bar)里面你写的公式或者指标是如何得到执行的; 我想这个东西是最重要而且也是最好理解的. 在其他的期货软件比如文华飞狐一类,我们是无法知道你写的公式是如何执行的,甚至我们不知道我们写出来的公式是不是真的 就体现出了我们的思想,因为你写的公式或者指标是被这些软件在幕后进行处理的,是黑箱操作! 而TB不同,我们能够清楚的看到你写的代码在任意一根K线上是如何得到执行的!!!! 好了,先说说在TB里面代码是如何得到执行的. 1,代码从第一根K线开始执行,一直到最后一根K线; 2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行; 明白了吧,是不是很简单,我们先看一个小例子,如果您还不明白,那只能说我完全没有任何能力写这文章,您就板砖吧 我们就写个输出每日的收盘价的例子; 打开TB,在左边的TB公式里面,点击新建技术指标,新建其他的也没有关系,然后在出来的对话框的简称里面填入名字,记住,这个名字只能是E文哦 在名字里面填入你喜欢的名字,点确定就OK了啊 然后在出来的公式编辑器里面输入 Begin End 注意,除了参数和变量定义外,所有的代码都必须包含在Begin和End之间 意思很简单 就是Begin后,你的代码就开始执行了,End了,你的代码就执行完毕拉 呵呵 我们再在Begin和End之间输入一些代码,完整的就是: Begin FileAppend("c:\\a.log",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于"); FileAppend("C:\\a.log",Text(Close));

最初的程序化交易策略编写

最初的程序化交易策略编写 作者:杨清婉 一般人第一眼看到程序交易,总觉得太困难又复杂。其实,在避免人性干扰时又可以24hr执行监测,彻底执行设定好的策略,在投入真正资金前可以回测自己交易策略的绩效,即是自动化程序交易的目的。 程序交易的基础其实一点都不难,If A happens, then buy. If B happens, then sell.用中文来解释就是:当符合某种情形时,就买进。当符合某种情形时,就卖出。 所以我们只要去定义A、B,以及更明确地把Buy 、Sell的模式定义出来就好。这已经几乎快要变成咱们MC 认得的easy language 程序语言了。 难道一定要有工程背景的人才能写出程序吗?其实在交易领域里面所使用的程序语言与英文很像,而且使用的都是很简单的英文。 其实,电脑的执行也是依据K棒的价格变化,K棒上最重要的四个价位显示了价格的变化:Low 最低价,Open 开盘价,High 最高价,Close 收盘价。 语法中Close > 100 (表示收盘价大于100 ),Low < 100 (最低价小于100 ),High > Open (最高价大于开盘价)。

上面是平铺直述的直述句,若是加上一点简单的if ...then ...(假如...发生,就....),就可以变成一个可执行的策略, 举例:(先不考虑marketposition目前手中部位的情形) if High > Open then buy next bar at market; //当最高价高于开盘价时,买进1手市价。 if Low < Open then sell next bar at market; //当最低价低于开盘价时,卖出1手市价。 备注: next bar是指下一根K棒,market是指市价。 再进阶一些可以开始使用一些技术分析的指标来协助。例如RSI,中文名称是相对强弱指标Relative Strength Index ,是一个0~100 的指标,50以下代表目前偏空,50以上代表目前偏多。 我们来一起写一个简单的策略: RSI 大于52 买进1口(做多),RSI 小于48 卖出1口(做空or 平仓),(意思是,趋势转向上,我就跟跟看,趋势转向下就快跑), 首先我们得知道什么是变数,望文生义,就像开车时的时速表,就是在程序执行中,会一直变动的数字。 所以我们得先告诉电脑,RSI的定义。这个动作叫做宣告。 所以在策略一开头, inputs: Price(close), Len(12); //input 是未来可以在MC里调整的参数,price(收盘价)以及时间周期Len(在这边是12根K棒), vars: var1(0); //vars 告诉系统我们要宣告变数了,定义一下var1 变数(variable) ,告诉电脑我们有这个变数要侦测。 var1=RSI(Price,len); //定义,var1=RSI 让var1 这个变数等于指标RSI,而且是用上面定义的时间以及价格参数去计算RSI,此例为12根K棒的收盘价。

程序化交易案例

我比较熟悉计算机,但我不是程序员出身。两年前,我首先接触到文华财经交易系统,用了一段时间,感觉它只是为不懂一点程序的人开发的,傻瓜化的,但无法实现比较复杂的实时运算交易委托,半年后放弃了,后采用交易开拓者,不错很好,很快上手,遗憾的是可能是系统本身设计原因,连设计程序中最基本的功能:对同一个变量不能反复赋值,如a:=0;a:=1;a:=a+1;这是不可以的(现在是否可以,我不知道),使得我很难实现我的交易思路,并且是按交易所的收费的一定比例(25%)收费,对于我做日内交易成本特高,勉强用了几个月。直到有一天我到期货公司一个计算机管理员告诉我,金字塔比较容易实现我的思想,更适合懂一点编程知识的人使用,确实如此,因为后来我只用了一周的时间就将程序移植到了金字塔平台,就可以用图表交易了,当然还是花了很长时间才搞定后台交易,因为金字塔的对函数的说明文件太少太简单,对后台交易提供的代码案例太少,很多后台函数和语句的用法只用自己去反复试验才能知道是怎么回事。实事求是的说,金字塔系统应该是我所知道的目前最适合那些有些编程知识背景,想做程式化交易的最合适的平台,但是好像最近也仿照交易开拓者按交易所费用的比例收费了,我认为这可能是一着臭棋,因为做后台程式化交易的用户基本上是做日内短线或高频交易,交易成本会高的离谱。 按照我的期货启蒙老师交我的,其实大家都在用的最简单的进出场思路,采用原始的资金管理方法:做股指日内波段交易,一天自动开平仓次数一般不会超过3次个来回,从不过夜,满仓进满仓出,当日亏损超过总资金5%,自动平仓退出系统,用平仓反手做止损,不设止盈直到收市平仓。胜率45%左右,用大赚抹平众多小亏,最近一年无亏损月份,最大一月盈利18%,最小一月盈利5.1%。我晒这个账单的目的是想告诉众多的小散,不要老是想赚大钱,为什么很多人用测试的程式能赚钱,而且业绩不差,但实战确亏损,这也是我经历过的,主要的原因是没有能充分相信你的系统,老是因为恐惧和贪婪,管不住自己的手去干预,其实如果你放心让系统自己去做,一段时间后你再看你的业绩,其实比你的半自动交易效果要好很多,因为你远离了贪婪和恐惧。说了这么多,只是让大家相信无人值守的程式化交易是能赚钱的。 我的无人值守工作站目前的现状,已平稳运行差不多一年: 一、交易平台:金字塔专业版2.8版,win7-64位系统,实现后台交易。 二、电源和网络保证:计算机放在家中,安装了一台可供一台电脑连续工作(关闭显示器)4小时的UPS(1000多元),网络除了4M的ADSL宽带外,开通了联通的无线网卡(限流量型,每月20多元),保证电源和网络通畅,一年来电源停断过2次,网络因为双接入不知道是否断过,只是有时发生金字塔行情信息掉线,个别时候交易账户断线。 三、在后台交易程序中设置了以下情况发送邮件报警:1、交易账户断线超过时限2、每次开仓平仓时的数量和价格3,收市前5分钟的持仓和盈亏情况(验证系统正常,避免隔夜单产生)。开通了网易的随身邮,所有邮件达到短信通知到手机,基本上收到邮件时间延迟10秒,短信通知时间延迟20秒,包月每月10元费用。 四、在计算机BOIS中设置每天8点50分自动起计算机,设置:将BOIS中Resume By RTC Alarm 菜单设置成[Enabled]后,在Time(hh)Alarm设置小时,在Time(mm)Alarm设置分钟,每个

相关文档
相关文档 最新文档