以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  再谈 反手开仓资金不足  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=60011)

--  作者:deni977
--  发布时间:2013/12/17 11:46:28
--  再谈 反手开仓资金不足
账户资金15万,够开1手的时候,图表策略实盘,

if  Buycond then begin
    Sellshort(holding<0,0,thisclose),Orderqueue;  // 平空
    Buy(holding=0,1,thisclose),Orderqueue;  // 开多
end

实盘过程中,几乎每次都是资金不足,只平仓了,没有开到仓。(查看交易日志所知道)。

分析原因:
      用了Orderqueue指令,只是等待有成交回应,就开始报单,但是,会不会因为资金返回到账户可能需要一点时间,或者是0.5秒,所以才导致资金不足呢?

       Orderqueue这个指令能不能带一个参数,比如Orderqueue(0.2)就是等待成交回应后0.2秒开始报单,这样就可以完美解决资金不足的问题。

我相信很多朋友都会碰到这样的问题,也请大家把好的经验介绍出来。(当然,论坛里面也有很多关于这方面的帖子,但是还是没有能够理想解决这个问题。)


--  作者:qwer123
--  发布时间:2013/12/17 11:56:20
--  
问题不在这里,是你的下单方法问题,你使用了thisclose下单,有时候很难成交,你可能有做了其他设置 (比如列队等待时间,撤单时间等) ,导致开仓不成功。orderqueue是你平仓后得到回报指令之后,再下开仓指令,所以参数显然没有必要。
--  作者:deni977
--  发布时间:2013/12/17 13:35:01
--  
不见得是这样,我就算平仓用指定价格,比如平空是sellshort(holding<0,0,limitr,close+0.4)结果也是一样的。愿听Qwer123指导
--  作者:fly
--  发布时间:2013/12/17 13:45:53
--  

同意2楼,

1.推荐楼主加2-5个最小变动价位下单

 

2.

楼主也可以把反应该现象的下单日志,贴出来,大家一起分析

多贴些日志

[此贴子已经被作者于2013/12/17 13:48:04编辑过]

--  作者:qwer123
--  发布时间:2013/12/17 14:28:19
--  
以下是引用deni977在2013/12/17 13:35:01的发言:
不见得是这样,我就算平仓用指定价格,比如平空是sellshort(holding<0,0,limitr,close+0.4)结果也是一样的。愿听Qwer123指导

这个没有问题,对于股指期货,第一个单子(队列第一个)要尽快成交,你就是使用market,滑点也不大,我一直使用oderqueue一点问题也没有。为了减少滑点最好放足资金,两个单子同时下去。你好好研究一下你的交易日志,会找到原因的。


--  作者:deni977
--  发布时间:2013/12/17 15:22:39
--  
放足资金,当然是最好的,也没有这个资金不足的问题。目前我实盘的7个账户,大部分是资金超出的,个别是不够资金才有这个问题。

贴出此贴目的是:
1、把这个问题反馈出来,让后来的朋友不走弯路
2、征集各程序化高手的优秀应对措施
3、给到金字塔,作为金字塔软件开发方,为了不断提高客户的服务质量,应该或者也许以后的升级有更好的改进
……
总之,集思广益,如果金字塔软件开发能够给予这个Orderqueue的参数便利,那是最好,如果短期内没有这个修改的计划,我们也会从各方面来解决,最简单有效的方法,就是充足资金。

但是,我觉得,这个不能够理想表现Orderqueue指令的好处。




--  作者:fly
--  发布时间:2013/12/17 15:46:20
--  

感谢大家的支持和关注

 

短期内没有这个修改计划


--  作者:deni977
--  发布时间:2013/12/23 11:40:07
--  

核对交易日记,实盘的时候,发现单独采用Orderqueue确实是资金没有返回到账户,导致资金不足,开不了仓。(我说的是实盘,模拟的时候是可以的,资金很快到,几乎没有延迟,不管是金字塔自身的模拟账户,还是期货公司的仿真账户,我测试的是海通仿真账户)      

 

 

 

  

 

 


--  作者:deni977
--  发布时间:2013/12/23 11:53:34
--  

目前我的应对方法是:

1、将平仓开仓条件改成上一周期成立,如:

   

   开多条件:=……

   BUYCOND:=ref(开多条件,1);

 

2、平空开多增加资金检测:

     NewPrice

     平空:=SELLSHORT(BUYCOND && HOLDING<0,0,LIMITR,NewPrice);

     开多:=BUY((BUYCOND && HOLDING=0 && TACCOUNT( 3)>110000),Ordvol,limitr,NewPrice);//增加判断资金是否大于11万

 

3、设置图表实盘模式

     采用固定轮询模式(不要用K线走完模式,实际也是K线走完,在下周期的开始平仓、开仓)   

     运行选项,选择“高频(秒和分笔周期请选择该选项)”

  

目前运行良好。也盼望能够得到更多的方法来借鉴。

 

 

 


--  作者:admin
--  发布时间:2013/12/23 12:09:23
--  

3.1 Beta3版本以上

新增了下单偏移的功能  

你可以把这个+多少点的偏移放到设置里填写 这样测试等就方便了