欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 关于order下单的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3251人关注过本帖树形打印复制链接

主题:关于order下单的问题

帅哥哟,离线,有人找我吗?
dwjgwsm
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
关于order下单的问题  发帖心情 Post By:2014/8/22 14:25:48 [只看该作者]

忽然想到一个有点"杞人忧天"的想法,比如下面的语句:

result=order.buy()
if result=-1 then ....

order下单之后,如果回报较慢,会不会出现明明下单成功了,但由于程序运行速度过快,以致于没有等到成交回报就返回,导致result错误返回-1.可能出现这种情况吗?不知道这个担心是不是很白痴


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/8/22 15:44:44 [只看该作者]

不用担心,返回值是你的报单ID,不是成交回报,报单ID不用等成交回报的


金字塔—专业程序化软件提供商

金字塔-技术部

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

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/9/10 13:25:24 [只看该作者]

这个Result=ORDER.BUY(....)我感觉肯定有问题,我今天早上,不断重复开仓,就是因为下单成功但Result错误返回0造成的.具体来说

  BUYcon=Document.GetPrivateProfileString("OrderCon",tLabel & "BUYCon_" & tIndex,"","D:\SystemSet.ini")               '本次触发条件
  BUYconL=Document.GetPrivateProfileString("OrderCon",tLabel & "BUYConL_" & tIndex,"","D:\SystemSet.ini")            '保存的上次触发条件,以便一根k线一条语句仅执行一遍

  if BUYcon<>BUYconL then
    order.OrderQueue = 1
    orderlog=Date & " " & Time & ",账户:" & tAcc & "," & tMarket & tCode & "在VBABUY中下单,手数:" & Num & ",原因:" & BUYcon & "<>" & BUYconL   '每句下单命令前都要写入下单日志便于查找原因
    Document.DebugFile "D:\OrderLog.txt",orderlog,0
    Result=ORDER.BUY(1,Num,0,0,tCode,tMarket,tAcc,0)

    if Result=0 then
       orderstr="账号:" & tAcc & "," & tMarket & tCode & "," &  Num & "手多开下单失败!重点检查账号是否登录"
       JIANGE tCode & "orderfail1",orderstr
       exit sub
    end if

    Document.WritePrivateProfileString "OrderCon",tLabel & "BUYConL_"& tIndex,BUYcon,"D:\SystemSet.ini"    '我现在是把这句放在if Result=0 then前面,因为发现有时下单成功却result返回0,以致执行了exit sub,后面无法写入tLabel & "BUYConL_"& tIndex,从而不断重复开仓!
    ordermsg tCode,tMarket,Num,1

  end if
[此贴子已经被作者于2014/9/10 13:26:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/9/10 13:25:44 [只看该作者]

请你们再测试一下

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/9/10 22:25:16 [只看该作者]

是否方便将你记录的日志也发过来,最好是别用INI文件,我们需要是那种连续记录的日志,这样可以对历史下单记录进行分析的


金字塔—专业程序化软件提供商

金字塔-技术部

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

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/9/10 22:43:42 [只看该作者]

还有, 下单失败明确的返回记录是 -1, 只要不是 -1值, 都是成功标志



金字塔—专业程序化软件提供商

金字塔-技术部

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

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
dwjgwsm
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:864 积分:607 威望:0 精华:0 注册:2013/3/14 23:16:32
  发帖心情 Post By:2014/9/10 23:27:40 [只看该作者]

帮助上不是写着返回0才表示下单失败吗?怎么又变成-1了?

返回值:         下单失败返回0,否则返回本地订单ID(可能包含负数),通过此ID可以修改订单或者撤单等等操作


日志我明天上班再发


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/9/11 10:16:31 [只看该作者]

order.OrderQueue = 1

 

看到你这句话了, 使用队列下单时,你将无法获得及时的成交回报的,只能是返回0, 这个我们帮助没说明清楚,后面会补上的



金字塔—专业程序化软件提供商

金字塔-技术部

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

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部