请教图表程序交易的若干问题 [金字塔]
- 咨询内容:
交易品种为股指期货,策略是每天下午15点10分比较上证指数当日交易量比前一日缩量达30%以上时,立即进场做多的程序是不是这样写:
a:=OPENMINUTES(CURRENTTIME)>265 and ref("000001$AMOUNT",0)<ref("000001$AMOUNT",1)*0.7;
Buy(holding=0 and a,1,marketr);
多单用昨日最低价止损和次日收盘前(也定在开仓1周期后的开盘后第265分钟)不管涨跌都平仓程序,是不是这样写:
sell(HOLDING>0 and ENTERBARS>0,100%,stopr,ref(low,1));//昨低为多单止损
SELL(holding>0 and ENTERBARS>0 and OPENMINUTES(CURRENTTIME)>265,100%,MARKETR);//次日收盘前平多问题1:上证指数15点已收盘,而股指期货15点15分收盘,15点10分是股指期货当日开盘第265分钟,所以用“OPENMINUTES(CURRENTTIME)>265 ”作为开仓条件,是否可靠?OPENMINUTES(CURRENTTIME)使用的是本地计算机时间?能不能根据交易所的时间更精确让上面的开仓指令运行在15点10分之后,而与本地计算机时间无关?
问题2:金字塔的评测程序中,加了“OPENMINUTES(CURRENTTIME)>265”之后,永远不开仓,不知道是我用错了,还是实盘时能开仓而评测时不能用该函数?
问题3:OPENMINUTES为开盘分钟数,中午休市的1个半小时应不应该算进去,如“股指期货日线”,11:30~13:00期间休市,那么13:10分是第265分钟还是第355分钟?
问题4:交易股指期货合约,但程序中引用了另一品种数据,比如上证当日成交额ref("000001$AMOUNT",0),会不会因为上证指数不是当前图表而无法实时下载更新数据,从而使引用的数据不准确?如果无法实时更新未打开的品种数据如何解决?
问题5:金字塔中,平安银行代码和上证指数代码都是“000001”,如何确保"000001$AMOUNT"是上证的成交额?或者说如何区分平安银行和上证的引用方式?
问题6:我程序中了marketr符号,评测时是在当日收盘开仓,那么在实盘时,应该是在当日开盘第265分钟(即15点10分)时市价开仓,我理解的对吗?
问题7:我用stopr设昨日低点为止损,用ref(low,1)是否正确?像股指期货交易所并不支持止损单,那么该指令是否就无效了?如果无效,那么我是否只能用“固定时间间隔”(例如每10秒调用),并通过程序检查当前价格是否已低于昨日低点,如果是就市价平仓?
像股指期货是否只支持marketr、market、limitr和limit,并且实盘时marketr与market无区别,limitr和limit则生成限价单挂在交易所?但股指期货不支持stopr和stop是吗?问题8:手工交易时,我发现即使要市价平仓也必须先撤销限价单,那么我程序中连续用了两个sell指令,sell发出MARKETR时会不会自动撤销stopr或limitr单?
问题9:如果平仓指令中,marketr会自动撤销stopr或limitr,那第二次发出stopr会不会自动撤销第一次的stopr,limitr呢?
问题10:我开仓前用holding来判断是否有持仓,如果是市价开仓就没问题,但如果我用limitr来采用限价单开仓,那么buy发出的限价单是不是不算持仓(即holding不计算buy发出的限价单)?所以用limitr来开仓的话,是不是容易在未成交时又发了一个限价单(因为holding仍然等于0)?如果是这样,应该如何避免?
- 金字塔客服:
1。可以不用openmintues来定义多少根k线,
直接用time来表示,比如time=151000,就是表示是151000这根k线
2。引用数据直接使用callstock函数,市场合约写成'sh000001',和平安银行进行区分
3。用双引号引用,被引用周期的前一根k线不是用ref方式,而是"sh000001$close##day"一个#表引用当前数据,二个#表引用前一根数据
4。openminutes是否算修盘,这个问题可以自己测试一下
5。marketr在实际开仓时间的市价下单
6.stopr这个函数是用于测评的,并不用于实际下单
7。不自己进行操作或者做系统设定,不会自动撤单的
8.holding是图表上的虚拟持仓,当图表上有了信号,就会算作持仓,和实际交易,下单类型没有关系,所以不论buy下的是market还是limitr,都会计算入持仓
- 用户回复:
先了解一下策略大致情况,便于更具体有效的回答楼主的疑问
环境介绍:
//运行周期:???
//运行模式:走完一根k线,固定时间间隔 ???
//交易品种:IF1303
系统简介:
根据上证指数日线交易量来决定是否开仓(当日日线交易量比前一日日线交易量缩量达30%以上时,开多)?????
止损:多单-昨日最低价
收盘前平仓:次日收盘前五分钟
[此贴子已经被作者于2013-3-12 10:57:29编辑过] - 网友回复:
谢两位客服的热心全面答复。
环境介绍:
运行周期:日K线
交易品种:IF1303
运行模式:固定时间间隔(30秒间隔)
我主要程序都是在开盘后10分钟内,以及收盘前10分钟内进行条件判断。
所以jinzhe讲的time并不能获取开盘分钟数,因为我是在日线上的。
所以,我剩下6个问题:
1、日线Time不能获取分钟数,那日K线周期上,如何判断该K线自开盘后运行了多长时间?只有用本地时间CurrentTime这一个办法是吗?
2、jinzhe用的代码“sh000001”是指平安银行还是上证指数?另外一个该用什么代码?
3、双引号引用用ref,我评测是得出正确结果的,实盘时不准确是吗?
4、"sh000001$close##day"的用法不是很明白,能进一步解释下吗?
5、holding是虚拟持仓,如果holding为0,却用了sell平多,holding会变成负数吗?
6、请对“后台程序交易模式”给予一些学习资料,以及提供可行的评测后台程序的替代方案,我本身是程序员,编写后台程序尽管复杂一点应该也没问题。
再次感谢!
[此贴子已经被作者于2013-3-12 18:15:08编辑过] - 网友回复:
另外还有一个问题忘记回答了:
我交易IF1303合约时,图表显示IF1303日线,而上证(sh000001)指数没有显示出来,如果程序一直运行几天,会不会导致上证指数不更新,所以引用不了数据。该怎么办?
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容