以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  平仓成交价返回值异常  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=69041)

--  作者:kknd_cn
--  发布时间:2014/8/21 10:18:42
--  平仓成交价返回值异常

   IF TSELLHOLDINGEX(\'\',STKLABEL,1)=0 THEN BEGIN
  
 
   DEBUGFILE(\'test.txt\',\'[平空]理论价:\'&NUMTOSTR(Pkprice,2)&\' 实际成交价:\'&NUMTOSTR(TEXITPRICE,2)&\' 平仓盈亏:\'&NUMTOSTR(TNUMPROFIT(1),2),0); 

   END

 

------------------

 

实际结果如下:

    [平空]理论价:2331.00 实际成交价:-1.#R 平仓盈亏:0.00

 

请问是哪里出了问题,为什么没有返回值。

 


--  作者:jinzhe
--  发布时间:2014/8/21 10:23:14
--  

 返回-1.#R就是表示无效值,说明还没有平仓记录


--  作者:kknd_cn
--  发布时间:2014/8/21 10:50:53
--  

实际已经平仓了,有记录

2014-08-21 09:59:55.747    【后台】RM01 TSellShort 已成功触发下单操作 价格:2426.000000 数量:1 类型:0 账户: 品种:RM01
2014-08-21 09:59:55.747    【后台】实际账户持仓 1
2014-08-21 09:59:55.747    【后台】下单已发送
2014-08-21 09:59:55.747    【后台】RM01 TSellShort 已成功触发下单操作 价格:2426.000000 数量:1 类型:0 账户: 品种:RM01
2014-08-21 09:59:55.747    【后台】实际账户持仓 1
2014-08-21 09:59:55.747    【后台】下单已发送
2014-08-21 09:59:56.013    【后台】RM01 运行结束
2014-08-21 09:59:56.262    【后台】L01 运行结束
2014-08-21 09:59:56.262    【下单】RM01 价2426.000000 量1 买卖0 类型0 开平2 账户** Formula 1
2014-08-21 09:59:56.262    【下单】确认报单已发送 ID=112499541 RefID = 66
2014-08-21 09:59:56.262    【后台】FG01 运行结束
2014-08-21 09:59:56.262    【下单】实际持仓为0下单失败
2014-08-21 09:59:56.262    【指令】收到回报指令 ID = 112499541 RefID = 66
2014-08-21 09:59:56.293    【指令】收到回报指令 ID = 112499541 RefID = 66
2014-08-21 09:59:56.293    【指令】收到回报指令 ID = 112499541 RefID = 66
2014-08-21 09:59:56.293    【指令】收到回报指令 ID = 112499541 RefID = 66
2014-08-21 09:59:56.293    【指令】收到成交回报指令 REFID = 66
2014-08-21 09:59:56.325    【后台】RM01 运行结束
2014-08-21 09:59:56.325    【后台】L01 运行结束
2014-08-21 09:59:56.325    【后台】FG01 运行结束
2014-08-21 09:59:56.325    【后台】RM01 运行结束
2014-08-21 09:59:56.325    【后台】L01 运行结束
2014-08-21 09:59:56.325    【后台】FG01 运行结束
2014-08-21 09:59:56.325    【回报】**: RM501 - 已报单 1 价格:2426 平 买
2014-08-21 09:59:56.340    【回报】**: RM501 - 已成交 1 价格:2331 平 买
2014-08-21 09:59:56.340    【后台】RM01 运行结束


--  作者:jinzhe
--  发布时间:2014/8/21 11:05:14
--  
本地测试没问题,你看看这段输出值是不是在成交之前
--  作者:kknd_cn
--  发布时间:2014/8/21 11:15:12
--  

我的程序结构是这样

 

TSELLSHORT.....

 

   IF TSELLHOLDINGEX(\'\',STKLABEL,1)=0 THEN BEGIN
  
 
   DEBUGFILE(\'test.txt\',\'[平空]理论价:\'&NUMTOSTR(Pkprice,2)&\' 实际成交价:\'&NUMTOSTR(TEXITPRICE,2)&\' 平仓盈亏:\'&NUMTOSTR(TNUMPROFIT(1),2),0); 

   END

 

--------------------------

 

分笔轮询模式,是不是因为TSELLSHORT下完单,虽然没有成交但是TSELLHOLDINGEX已经返回持仓为0,所以暂时得不到成交价?

 


--  作者:jinzhe
--  发布时间:2014/8/21 11:17:18
--  

单独的这样一句

debugfile(\'d:\\test.txt\',\'tenterprice = \'+numtostr(texitprice,2),0);

你看看有没有问题


--  作者:kknd_cn
--  发布时间:2014/8/21 11:20:57
--  
ok,等没有其他持仓时试验,谢谢