关于order下单的问题 [金字塔]
- 咨询内容:
忽然想到一个有点"杞人忧天"的想法,比如下面的语句:
result=order.buy()if result=-1 then ....
order下单之后,如果回报较慢,会不会出现明明下单成功了,但由于程序运行速度过快,以致于没有等到成交回报就返回,导致result错误返回-1.可能出现这种情况吗?不知道这个担心是不是很白痴
- 金字塔客服:
不用担心,返回值是你的报单ID,不是成交回报,报单ID不用等成交回报的
- 用户回复:
这个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编辑过] - 网友回复:
请你们再测试一下
- 网友回复: 是否方便将你记录的日志也发过来,最好是别用INI文件,我们需要是那种连续记录的日志,这样可以对历史下单记录进行分析的
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容