以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  tbuy不懂  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=2775)

--  作者:panjian
--  发布时间:2010/9/9 20:01:29
--  tbuy不懂

if bp > 0 and THOLDING>0 then

begin

tSELL(1,0,MKT),ORDERQUEUE;

tBUYSHORT(1, 1,MKT),ORDERQUEUE;

end

 

if sp > 0 and THOLDING<0 then

begin

tSELLSHORT(1,0,MKT),ORDERQUEUE;

tBUY(1,1,MKT),ORDERQUEUE;

end

这里的tbuy后面跟的两个1分别是什么意思 前一个1的意思不明白


--  作者:wattwei
--  发布时间:2010/9/9 20:06:25
--  
 前一个1表示条件永远成立,后一个1表示手数
--  作者:panjian
--  发布时间:2010/9/9 20:17:54
--  
那么我把它直接换成条件也是可以的罗
--  作者:wattwei
--  发布时间:2010/9/9 20:29:55
--  
 一般情况下当然可以换,但是此例是有用意的

if bp > 0 and THOLDING>0 then

begin

tSELL(1,0,MKT),ORDERQUEUE;

tBUYSHORT(1, 1,MKT),ORDERQUEUE;

end


表示当有持仓,且满足平仓和开空条件时,连续执行两个交易操作,一气呵成。而不是先判断平仓条件是否满足进行平仓,再判断开空条件进行开空。



--  作者:panjian
--  发布时间:2010/9/9 21:03:26
--  
这样在平仓和再买入时,它们是否是同时进行的?还是先要tsell结束后,再执行tbuyshort?这样就有一个时间差.
--  作者:panjian
--  发布时间:2010/9/9 21:13:02
--  

if bp > 0 and THOLDING>0 then

begin

tSELL(1,0,MKT),ORDERQUEUE;

tBUYSHORT(1, 1,MKT),ORDERQUEUE;

end
把orderqueue去掉是不是可以使平仓开仓同时进行了


--  作者:wattwei
--  发布时间:2010/9/9 21:15:44
--  
这段代码的关键是ORDERQUEUE。有了它之后,指令流就变成了阻塞式的了。所有报单放入队列中,按次序委托下单,成交一个委托下一个。
如果在资金充足的情况,不会出现因为未平仓而开不了仓的情况,不加
ORDERQUEUE,指令顺序提交,不需等待返回结果,那个时间差可以忽略不计。

--  作者:panjian
--  发布时间:2010/9/9 21:20:22
--  
那要是资金允许是否把orderqueue去掉更好罗?
--  作者:wattwei
--  发布时间:2010/9/9 21:31:42
--  
 嗯,从时效方面考虑是滴
--  作者:panjian
--  发布时间:2010/9/9 21:35:25
--  
谢谢版主耐心指导!!