以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  为什么用tholding2=0不能控制开仓?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=5902)

--  作者:longbow
--  发布时间:2011/3/28 19:58:58
--  为什么用tholding2=0不能控制开仓?
一个日内的模型,主要是用 tholding2来检测是否持有仓位,如果有,则不开仓。 代码实例如下: dist:=barslast(date<>ref(date,1)); openprice:=ref(open,dist); rangebreak:=openprice*N/100; highest:=openprice+rangebreak; lowest:=openprice-rangebreak; entertime:=currenttime>092500 and currenttime<145000; exittime:=currenttime>150000; buycond:=entertime and high >= highest; buyshortcond:=entertime and low <= lowest; if tholding2=0 and buycond and not(多止损)and not (buyshortcond) then begin TBUY(1,2,MKT,0,0,\'8xxxxx\',\'IF04\'); end if tholding2=0 and buyshortcond and not(空止损) and not (buycond) then begin TBUYSHORT(1,4,MKT,0,0,\'80000000\',\'IF04\'); end 现象: 1、当第一个开仓信号来的时候能够顺利开仓。 2、用一秒轮询,平时能够控制不再产生开仓信号。 3、可是每隔10分钟(模型用10分钟K线),不知道触发了哪里,总是重新给出开仓信号。 问题: 1、这时已经用 Tholding2=0来判断已经持有了仓位,又为什么重新给出买卖动作呢?这是没有道理的。 2、由于每隔10分钟重新给出一次,一定是跟10分钟K线重新获取开盘价有关,但是为什么Tholding2=0不能挡住这个信号呢?又有什么比较简介的方法获取并记住当日的开盘价呢?
--  作者:longbow
--  发布时间:2011/3/28 20:08:19
--  不能用设计模式
不知道为什么,发表话题只用选用代码模式,造成上面的问题不能分行,非常抱歉。
--  作者:阿火
--  发布时间:2011/3/28 21:40:35
--  
今日开盘价:dynainfo(4)
--  作者:longbow
--  发布时间:2011/3/28 21:46:35
--  
谢谢 leevolvo.
--  作者:阿火
--  发布时间:2011/3/28 21:47:09
--  

有没有下单日志,发上来看看

 

你的代码好像没啥问题

[此贴子已经被作者于2011-3-28 21:49:26编辑过]

--  作者:longbow
--  发布时间:2011/3/28 22:07:39
--  
没有记录日志。平时工作正常,只是每10分钟重新开仓一次。
--  作者:admin
--  发布时间:2011/3/28 22:15:56
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题15

如果不是上述问题,那么还是DEBUGFILE输出中间变量和打开交易日志,这样方能查出问题

[此贴子已经被作者于2011-3-28 22:17:09编辑过]

--  作者:longbow
--  发布时间:2011/3/28 22:43:41
--  
不是问题15的问题,这个已经研究很久了。只是每隔一根K线周期出问题,甚是奇怪。
--  作者:longbow
--  发布时间:2011/3/29 9:36:43
--  

2011-03-29 09:09:56.698    【后台】RU00 运行结束
2011-03-29 09:09:56.713    【后台】ZN00 运行结束
2011-03-29 09:09:57.712    【后台】RU00 运行结束
2011-03-29 09:09:57.727    【后台】ZN00 运行结束
2011-03-29 09:09:58.726    【后台】RU00 运行结束
2011-03-29 09:09:58.741    【后台】ZN00 运行结束
2011-03-29 09:09:59.740    【后台】RU00 运行结束
2011-03-29 09:09:59.755    【后台】ZN00 运行结束
2011-03-29 09:10:00.754    【后台】RU00 运行结束
2011-03-29 09:10:00.769    【后台】ZN00 运行结束
2011-03-29 09:10:01.768    【后台】RU09 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户:83060601 品种:RU09
2011-03-29 09:10:01.768    【后台】指定了委托账户或者组: 83060601
2011-03-29 09:10:01.768    【后台】RU00 运行结束
2011-03-29 09:10:01.768    【后台】CTP组 83060601 下单类型 1 - 1
2011-03-29 09:10:01.768    【后台】指定账户 83060601 下单
2011-03-29 09:10:01.783    【后台】下单已发送
2011-03-29 09:10:01.783    【下单】RU09 价0.000000 量1 买卖0 类型1 开平0 账户83060601 Formula 1
2011-03-29 09:10:01.783    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.783    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.783    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.783    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.783    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.924    【后台】ZN06 TBuy 已成功触发下单操作 价格:0.000000 数量:2 类型:1 账户:83060601 品种:ZN06
2011-03-29 09:10:01.924    【后台】ZN00 运行结束
2011-03-29 09:10:01.945    【回报】83060601 : ru1109 - 已报单 1 价格:33885 开 买
2011-03-29 09:10:01.949    【后台】指定了委托账户或者组: 83060601
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 1 - 1
2011-03-29 09:10:01.949    【后台】指定账户 83060601 下单
2011-03-29 09:10:01.949    【后台】下单已发送
2011-03-29 09:10:01.949    【下单】ZN06 价0.000000 量2 买卖0 类型1 开平0 账户83060601 Formula 1
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:01.949    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:10:02.109    【回报】83060601 : ru1109 - 已成交 1 价格:33870 开 买
2011-03-29 09:10:03.109    【回报】83060601 : zn1106 - 已报单 2 价格:18240 开 买
2011-03-29 09:10:03.159    【回报】83060601 : zn1106 - 已成交 2 价格:18225 开 买
2011-03-29 09:10:05.758    【后台】RU00 运行结束
2011-03-29 09:10:05.836    【后台】ZN00 运行结束
2011-03-29 09:10:07.131    【后台】RU00 运行结束
2011-03-29 09:10:07.193    【后台】ZN00 运行结束
2011-03-29 09:10:07.911    【后台】RU00 运行结束
2011-03-29 09:10:07.911    【后台】ZN00 运行结束
2011-03-29 09:10:08.862    【后台】RU00 运行结束
2011-03-29 09:10:08.878    【后台】ZN00 运行结束
2011-03-29 09:10:09.876    【后台】RU00 运行结束
2011-03-29 09:10:10.032    【后台】ZN00 运行结束
2011-03-29 09:10:10.890    【后台】RU00 运行结束
2011-03-29 09:10:10.906    【后台】ZN00 运行结束
2011-03-29 09:10:11.904    【后台】RU00 运行结束
2011-03-29 09:10:11.920    【后台】ZN00 运行结束
2011-03-29 09:10:13.121    【后台】RU00 运行结束
2011-03-29 09:10:13.137    【后台】ZN00 运行结束
2011-03-29 09:10:14.946    【后台】RU00 运行结束
2011-03-29 09:10:14.962    【后台】ZN00 运行结束

 

2011-03-29 09:20:02.053    【后台】IF00 运行结束
2011-03-29 09:20:02.116    【后台】IF00 运行结束
2011-03-29 09:20:02.131    【后台】RU09 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户:83060601 品种:RU09
2011-03-29 09:20:02.131    【后台】指定了委托账户或者组: 83060601
2011-03-29 09:20:02.131    【后台】RU00 运行结束
2011-03-29 09:20:02.131    【后台】CTP组 83060601 下单类型 1 - 1
2011-03-29 09:20:02.147    【后台】指定账户 83060601 下单
2011-03-29 09:20:02.147    【后台】下单已发送
2011-03-29 09:20:02.147    【下单】RU09 价0.000000 量1 买卖0 类型1 开平0 账户83060601 Formula 1
2011-03-29 09:20:02.147    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.147    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.147    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.147    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.147    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.272    【后台】ZN06 TBuy 已成功触发下单操作 价格:0.000000 数量:2 类型:1 账户:83060601 品种:ZN06
2011-03-29 09:20:02.287    【后台】ZN00 运行结束
2011-03-29 09:20:02.287    【回报】83060601 : ru1109 - 已报单 1 价格:33870 开 买
2011-03-29 09:20:02.305    【后台】指定了委托账户或者组: 83060601
2011-03-29 09:20:02.306    【后台】CTP组 83060601 下单类型 1 - 1
2011-03-29 09:20:02.307    【后台】指定账户 83060601 下单
2011-03-29 09:20:02.308    【后台】下单已发送
2011-03-29 09:20:02.309    【下单】ZN06 价0.000000 量2 买卖0 类型1 开平0 账户83060601 Formula 1
2011-03-29 09:20:02.311    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.311    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.312    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.313    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.313    【后台】CTP组 83060601 下单类型 0 - 0
2011-03-29 09:20:02.401    【回报】83060601 : ru1109 - 已成交 1 价格:33855 开 买
2011-03-29 09:20:02.461    【回报】83060601 : zn1106 - 已报单 2 价格:18270 开 买
2011-03-29 09:20:02.501    【回报】83060601 : zn1106 - 已成交 1 价格:18255 开 买
2011-03-29 09:20:02.561    【回报】83060601 : zn1106 - 已成交 1 价格:18255 开 买
2011-03-29 09:20:03.501    【后台】IF00 运行结束
2011-03-29 09:20:03.561    【后台】IF00 运行结束
2011-03-29 09:20:03.581    【后台】RU00 运行结束
2011-03-29 09:20:03.601    【后台】ZN00 运行结束
2011-03-29 09:20:04.131    【后台】IF00 运行结束
2011-03-29 09:20:04.209    【后台】IF00 运行结束
2011-03-29 09:20:04.225    【后台】RU00 运行结束
2011-03-29 09:20:04.240    【后台】ZN00 运行结束
2011-03-29 09:20:05.145    【后台】IF00 运行结束
2011-03-29 09:20:05.207    【后台】IF00 运行结束
2011-03-29 09:20:05.223    【后台】RU00 运行结束

 

 

可以明显看到,每隔10分钟就会重复发单,(10分钟为K线周期),用Tholding2=0没有控制住。 而且当天的开盘价用的是dynainfo(4).

 

谢谢!

 

 


--  作者:longbow
--  发布时间:2011/3/29 9:40:42
--  日内模型,如何控制开仓与多品种
这个模型是日内的模型,用了Tholding2=0判断是否持仓,这个“=”号对吗? 如果对同一个品种运行两个策略,如何不使用tholding2来控制开仓呢?