以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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));
oo:=ref(open,dist);//开盘价--------楼主的写法,求的是昨天最后一根K线的开盘价

不知道楼主的是几分钟K线周期.楼主最好先使用K线走完,等策略稳定了,再加以改进.

 

//以下公式适合1分钟和5分钟周期.收盘前平仓情况正常.提供给楼主做参考

ma5:ma(close,5);
ma15:ma(close,15);

{开多}ENTERLONG:CROSS(ma5,ma15) AND time>091500 and time<145500 ,TFILTER;
{平多}EXITLONG:CROSS(ma15,ma5) OR time>=145500 ,TFILTER;
{开空}ENTERSHORT:CROSS(ma15,ma5) AND time>091500 and time<145500 ,TFILTER ;
{平空}EXITSHORT:CROSS(ma5,ma15) OR 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线上看不出价格的先后)