以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  请教实盘交易中的两个问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=10678)

--  作者:xxb398
--  发布时间:2012/3/21 14:31:57
--  请教实盘交易中的两个问题

runmode:0;
variable:cw=0;

input:lots(1,1,100,1);

...

if cw=0 and Short then begin//Short是开空条件
  buyshort(1,lots,limitr,o-JumpOffset);//用开盘价成交
  cw:=cw-lots;

  end

if cw<0 and long then begin//cw是本策略的仓位参数,long是开多条件
  sellshort(1,lots,limitr,o+JumpOffset);//lots是下单手数
  buy(1,lots,limitr,o+JumpOffset);//用开盘价成交
  cw:=cw+2*lots;
  end

请问:1、原帐户里有1手空单、策略已是开1手空单状态,此时才加载帐户、其信号和持仓是同步的(但策略实际并没执行之前的buyshort语句),请问这时cw是0?还是-1?

2、先用sellshort平空单、再用buy开多单,几乎是同步发指令,请问会不会导致开多单资金不足呢?(假设帐户只够1手的保证金的话)

谢谢


--  作者:just
--  发布时间:2012/3/21 14:38:12
--  

1,-1

2,可能会有影响,可以在开平仓语句后面加上orderqueue函数

 


--  作者:xxb398
--  发布时间:2012/3/21 17:25:08
--  

请问Just是这样改吗?

if cw<0 and long then begin//cw是本策略的仓位参数,long是开多条件
  sellshort(1,lots,limitr,o+JumpOffset),orderqueue;//lots是下单手数
  buy(1,lots,limitr,o+JumpOffset);//用开盘价成交
  cw:=cw+2*lots;
  end

谢谢


--  作者:xxb398
--  发布时间:2012/3/21 19:54:10
--  
哪些高手知道的请回复一下吧?谢谢
--  作者:阿火
--  发布时间:2012/3/21 21:44:19
--  

每个下单语句都要加上ordrequeue

如果可以保证第一时间就会成交,可以用orderqueue

否则具体方法见 阿火秘笈  日内满仓下单的方法