以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  后台交易问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=154496)

--  作者:zengxing
--  发布时间:2017/6/1 10:00:25
--  后台交易问题

账户:=\'1000\';
套利品种1:=\'TA09\';
套利品种2:=\'TA10\';


JC:"TA09$CLOSE"-"TA10$CLOSE";


//下单
IF JC<100 AND TBUYHOLDINGEX(账户,套利品种2,0)=0 and TSELLHOLDINGEX(账户,套利品种1,0)=0 then 
begin
TBUYSHORT(1,1,MKT ,0,0,账户,套利品种1);
TBUY(1,1,MKT ,0,0,账户,套利品种2);
END

IF JC<100 AND TBUYHOLDINGEX(账户,套利品种2,0)>0 and TSELLHOLDINGEX(账户,套利品种1,0)>0 then
begin
Tsell(1,1,MKT ,0,0,账户,套利品种2);
TSELLSHORT(1,1,MKT ,0,0,账户,套利品种1);
END


这样,为什么每次开机重新启动之后,重新启动预警,在有持仓的情况下都会再开一手?有什么解决办法吗?

--  作者:pyd
--  发布时间:2017/6/1 10:19:45
--  

有下单日志吗?贴下重复开仓对应时间的下单日志


--  作者:zengxing
--  发布时间:2017/6/1 10:29:14
--  
这个。。没有存,这个直接看代码就能明白吧, TSELLHOLDINGEX这个函数读取的是实盘账户的数据吗?还是模型的信号数据?
--  作者:wenarm
--  发布时间:2017/6/1 10:41:39
--  

TSELLHOLDINGEX是账户的。

你是不是先启动的交易,然后紧接着登录账户?(两者之间间隔比较短)

你可以增加一个条件判断账户是否正常登录。

TACCOUNT( 3)<>0;//通过判断账户资金不为0,(即已经可以获取到持仓数量)


--  作者:zengxing
--  发布时间:2017/6/1 11:26:36
--  
应该先登录账户,在启动模型,就不会重复发单了是吗?
--  作者:wenarm
--  发布时间:2017/6/1 12:46:07
--  

由于你使用了账号函数,但是账号登录后,需要一定的时间从柜台获取账号持仓等信息。

如果时间太短可能获取不到实际仓位信息,所以让你在条件中增加上面的条件进行处理。就不应该再有重复下单的动作了