以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 |
-- 作者: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 -- 谢谢版主耐心指导!! |