以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]K线走完至轮询修改 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=56431) |
-- 作者:netfox -- 发布时间:2013/9/10 9:14:19 -- [求助]K线走完至轮询修改 K线走完至轮询修改,有点概念迷糊了。
目前程序是K线走完模式,通过nextopen 模式操作也就是 信号成立下个周期开盘价立即成交。 实际测试中发现止损时候最好是信号出现立即平仓,我止损和价格变化无关,因此基本不存在信号偏移。 但是K线走完模式必定导致所有交易后移,也就是止损会悲剧的。
因此就考虑改轮询模式~ 轮询要实现开仓是直接用了 REF(开仓,1) 这样模式, 那么止损可以直接thisclose 信号出现立即成交 交易符就会变化成thisclose ,导致测试时候价格为close,而不是本来open
那么我疑问在于 1, 程序改成了thisclose 理因等于 nextopen 成交对吧 2, 可有变成当跟K线的nextopen 测试办法? 或者说用测试时候用 LIMITR,open 这样写法 ,程序运行时候用thisclose ? |
-- 作者:jinzhe -- 发布时间:2013/9/10 9:26:06 -- 这些函数最大的区别就是在测评里面的价位,但是实际交易的情况下就差异不大了
nextopen对应的是limit,open thisclose对应但是limitr,close |
-- 作者:qwer123 -- 发布时间:2013/9/10 12:15:50 -- netfox:我是这样做的,你可以试一试。 其他的东西都不要动,单独在前面加一个触发价止损就行了,以大k线止损为例。 hd:=if(islastbar,5,1.0); if holding<0 and h-o>15 then begin sellshort(holding<0,abs(holding),limitr,o+15+hd); end if holding>0 and o-l>15 then begin sell(holding>0,holding,limitr,o-15-hd); end 这样测试结果和实际跑出来的就基本一致了。 注意:1.触发价发单的程序段必须放在k线走完交易程序段的前面,否则测试结果和真实的有很大的差别。 2.如果程序中有触发价发单的情况我都勾选“高频扫描”。 |
-- 作者:qwer123 -- 发布时间:2013/9/10 12:19:14 -- 如果勾选“高频扫描”一定要看一下CPU的情况,否则得不偿失。 |
-- 作者:netfox -- 发布时间:2013/9/10 19:44:10 -- qwer123
o+15+hd 最后K线 O+15+5 ,不然 O+15+1 盘中15+5 20点。。。 我靠这是市价抢单啊 好吧,我主要也就Fg,RB的 。。。 这合适单子怕是 3+2 最好吧 ~ 话说 多5位限价入场 一般是 +1 买到还是+5买到了?
重点在于 hd:=if(islastbar,5,1.0); 对吧
然后直接只要 limitr,o+15+hd 这里控制 ,例如我可以改成 limitr,o+hd
话说这实盘这么抢,一般点差在多少1-3个内吗?
然后轮询用10秒或者15秒吗? 我主要在15分钟后30分钟周期活动 , 话说我对开仓信号一直没啥怨言,主要是K线走完后不适合大波动逃跑,信号出现要等15分钟很很可能已经悲剧。 才有了改到轮询模式下交易想法。 |
-- 作者:qwer123 -- 发布时间:2013/9/11 9:34:17 -- 这样写,是用再股指期货的,主要是为了测试和实盘一致。有触发价发单,用10秒轮询太大了吧,没有做过商品,价格波动不大师可以的,股指期货肯定不行,我一般用高频。 |