以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]图表交易跟后台自动交易 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8219) |
-- 作者:saintlucifer -- 发布时间:2011/9/27 9:19:31 -- [求助]图表交易跟后台自动交易 我的一个策略,条件主题部分完全相同,以下是开平仓部分,分别用在图表交易跟后台自动交易上面,其中\'0011\'是一个账号组,里面包含两个账号,TRADE_NUM就是参数输入控制开仓手数; 问题就是为什么图表交易就可以运行,对账号进行开平仓操作,后台自动交易就老是不作用呢?求教一下
INPUT : TRADE_NUM(1,1,100,1);
INPUT : TRADE_NUM(1,1,100,1); |
-- 作者:jinzhe -- 发布时间:2011/9/27 9:34:23 -- 持仓应该用THOLDING吧 |
-- 作者:just -- 发布时间:2011/9/27 9:38:43 -- 15、有关后台自动交易THOLDING的使用 初学者在使用后台自动交易时,通常认为将函数前简单加T就可以,但实际不行的,比如: tSELL(bp and THOLDING>0,0,LMT,C); tSELLSHORT(sp and THOLDING<0,0,LMT,C); tBUY(bk and THOLDING=0,1,LMT,C); tBUYSHORT(sk and THOLDING=0, 1,LMT,C);
THOLDING与图表HOLDING最大的不同在于,THOLDING是与你真实持仓一致的函数,只有当我们的委托下单成交后才会有所变化,而HOLDING是虚拟持仓,BUY执行过后立即变化。 由于我们前面的代码在执行了平仓操作后,THOLDING不会马上变成0,故会导致TBUY的THOLDING=0条件不被成立,导致没有反手信号。 正确的反手写法
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
有关这部分的用户详细讨论,详见http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=2775
清注意上述代码使用了市价委托,如在CTP接口上模拟交易,请注意一定要在上期所品种下进行
THOLING与THODING2的不同:THOLING会返回我们当前的可用持仓,发出平仓指令之后,即便没有成交,持仓也会被扣掉,故如果用THOLING做为开仓条件,会有前次平仓没有成交而马上开仓带来的资金不足情况,如果用户需要知道当前自己的实际持仓,那么请用THODING2,他不会因为你的挂单未成交而导致的实际持仓被扣情况。
|