以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 实盘当中能否使用limitr命令 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=5803) |
-- 作者:wangwatercup -- 发布时间:2011/3/21 20:00:17 -- 实盘当中能否使用limitr命令 例如 buy(1,30%,limitr,buyprice) 使用该命令进行交易,历史回测很好,因此想在真实图表交易当中也使用该命令,但是希望能够盘中满足交易条件就即时成交,而不受到走完一根K线的限制。 1)使用buy,将该命令应用于实际图表交易当中是否可行?该命令是否只能用于历史回测? 2)使用buy,但是使用limit配合设定固定时间间隔(1秒)能否在实际图表交易当中实现本命令的功能? 3)或者使用enter,配合设定固定时间间隔(1秒)能否实现实盘图表交易? 4)在上面2)、3)当中又如何避免反复开仓的问题(设holding为0的条件有问题,因为有时取到的holding是错的)? 5)或者放弃图表交易,通过vbs的程序才能实现? [此贴子已经被作者于2011-3-21 20:13:29编辑过]
|
-- 作者:阿火 -- 发布时间:2011/3/21 20:42:36 -- 问题好多 1,可以执行 2,也可以执行 3,没有enter指令。有enterlong指令,可以实盘 4,一个K线只能下一次单,不会反复开仓。 holding没有问题 ,你说的问题是什么,可以发帖,让我们帮你看看什么问题 5 VBA也能实现交易(至少专业版才可) |
-- 作者:wangwatercup -- 发布时间:2011/3/22 16:46:45 -- 关于上面的问题4) 今天模拟交易试了一下,存在反复开仓的情况,在14:52分反复的开仓,而且都是在一根K线里面。使用的是enterlong配合固定时间间隔(1秒) 序号 时间 品种 类型 方向 价格 数量 开平 帐户 投保 1 2011/03/22 14:58:23 RU09 橡胶1109 卖出 35515 30 平 85436 投机 2 2011/03/22 14:52:10 RU09 橡胶1109 买入 35530 1 开 85436 投机 3 2011/03/22 14:52:09 RU09 橡胶1109 买入 35530 1 开 85436 投机 4 2011/03/22 14:52:09 RU09 橡胶1109 买入 35530 1 开 85436 投机 5 2011/03/22 14:52:09 RU09 橡胶1109 买入 35530 1 开 85436 投机 6 2011/03/22 14:52:07 RU09 橡胶1109 买入 35530 2 开 85436 投机 7 2011/03/22 14:52:07 RU09 橡胶1109 买入 35550 8 开 85436 投机 8 2011/03/22 14:52:04 RU09 橡胶1109 买入 35565 8 开 85436 投机 9 2011/03/22 14:52:04 RU09 橡胶1109 买入 35570 5 开 85436 投机 10 2011/03/22 14:52:04 RU09 橡胶1109 买入 35570 3 开 85436 投机 还有问题6)为什么在收盘前不平仓?代码如下 input:volatility(××); input:P(××); input:S(××; input:M(××; entertime:=time>=091500 and time<=145500; exittime:=time>145500; dist:=barslast(date<>ref(date,1)); oo:=ref(open,dist);//开盘价 mindif:=5; highest:oo+volatility*mindif; lowest:oo-volatility*mindif; ///////////////////////////////////////////////////////////////////// DIFF : EMA(CLOSE,S) - EMA(CLOSE,P),noaxis; DEA : EMA(DIFF,M),noaxis; if dist+1<=max(P,S) then begin DIFF:=0; DEA:=0; end ///////////////////////////////////////////////////////////////////// buycond:=entertime and high>=highest and diff>dea; buyshortcond:=entertime and low<=lowest and diff<dea; sellbuycond:=entertime and cross(dea,diff); sellshortcond:=entertime and cross(diff,dea); enterlong:buycond,TFILTER; entershort:buyshortcond,TFILTER; exitlong:exittime or sellbuycond,TFILTER; exitshort:exittime or sellshortcond,TFILTER; [此贴子已经被作者于2011-3-22 16:48:12编辑过]
|
-- 作者:fly -- 发布时间:2011/3/22 17:03:36 -- 最小变动价位直接可以写成MINDIFF
dist:=barslast(date<>ref(date,1)); 不知道楼主的是几分钟K线周期.楼主最好先使用K线走完,等策略稳定了,再加以改进.
//以下公式适合1分钟和5分钟周期.收盘前平仓情况正常.提供给楼主做参考 ma5:ma(close,5); {开多}ENTERLONG:CROSS(ma5,ma15) AND time>091500 and time<145500 ,TFILTER; [此贴子已经被作者于2011-3-22 17:29:28编辑过]
|
-- 作者:wangwatercup -- 发布时间:2011/3/22 18:03:04 -- 感谢楼上提出意见,但是经测试,的确是开盘价(集合竞价),而不是昨天最后一根K线的开盘价 使用历史回测,走完K线的办法是亏钱的(很多),但是如果能够在K线内即时交易,则利润可以达到1300%,所以还是想在采用固定轮寻的方式实现! |
-- 作者:王锋 -- 发布时间:2011/3/22 18:07:46 -- 出现反复开仓一定是楼主此时再做某些操作,比如清空了交易记录,补充数据,重启交易等等 |
-- 作者:yanxc -- 发布时间:2012/6/29 14:09:53 -- 以下是引用wangwatercup在2011-3-22 18:03:04的发言:
感谢楼上提出意见,但是经测试,的确是开盘价(集合竞价),而不是昨天最后一根K线的开盘价 使用历史回测,走完K线的办法是亏钱的(很多),但是如果能够在K线内即时交易,则利润可以达到1300%,所以还是想在采用固定轮寻的方式实现! 你是如何测试出轮询交易能达到1300%的? 是实盘测试的结果吗? |
-- 作者:fantasynew -- 发布时间:2014/7/26 15:03:37 -- limitr无法精确回测的,当同一k线同时满足止损和止盈时,你无法知道它们的触发顺序。 |
-- 作者:jinzhe -- 发布时间:2014/7/28 8:47:16 -- 这个是可以知道的,如果真的是在一根k线上同时满足止损止盈,那么写在前面的先触发 |
-- 作者:fantasynew -- 发布时间:2014/7/31 22:11:56 -- 指的是代码的书写顺序,还是构成K线的分笔先后顺序呢?(比如分笔价格先破了1%止损点,又达到2%止盈点,从k线上看不出价格的先后) |