以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  订单状态有几个问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=175951)

--  作者:滚雪球
--  发布时间:2020/5/10 15:15:40
--  订单状态有几个问题

statusstr订单状态 "submitted"已报单未成交 "tradeing"已成交 "filled"全部成交 "cancelled"已撤单 "inactive"无效单 "connected"已连接 "disconnected"连接断开
问题1:

报单不成功,状态也是submitted,无法区分成功的报单和不成功的报单。在易盛下面如果取不到状态为\'N\',如果报单被拒绝是\'B\',报单成功是\'4\',但是金字塔下面都是submitted

问题2:
不成功的报单会被自动撤销,这没问题,但是订单撤销之后,无法通过订单号获取Order对象,得到的是None。按道理撤单以后仍然可以根据订单号查到订单的
状态,是cancelled

--  作者:滚雪球
--  发布时间:2020/5/10 15:25:22
--  
金字塔在订单状态上太简略了,看看别人怎么做的,N-4一共6种状态,金字塔统统就是submitted,希望能够改进一下
N : 无

0 : 已发送

1 : 已受理

2 : 待触发

3 : 已生效

4 : 已排队

5 : 部分成交

6 : 完全成交

7 : 待撤

8 : 待改

9 : 已撤单

A : 已撤余单

B : 指令失败

C : 待审核

D : 已挂起

E : 已申请

F : 无效单

G : 部分触发

H : 完全触发

I : 余单失败


[此贴子已经被作者于2020/5/10 15:26:50编辑过]

--  作者:yukizzc
--  发布时间:2020/5/10 21:12:38
--  
submitted 是下单的状态,这个时候你是不知道成功与否
"cancelled"已撤单 ,如果单子过去了被拒绝撤销了,不就是这个状态了吗??

你是怎么查询订单的,被撤的单子通过订单id去查是可以查到的

--  作者:滚雪球
--  发布时间:2020/5/11 8:12:53
--  回复:(yukizzc)submitted 是下单的状态,这个时候你...

我就是发单的时候记录返回的订单号,然后用这个订单号去检查状态,如果这个订单提交了但是没有成功,
那么第一次会得到一个submited的状态,第二次再查返回的Order对象就是None了,应该是没有成功的报单
被撤销以后无法再查询状态,现在只能是第二次如果Order对象返回None就认为这个订单已经被撤销了

--  作者:yukizzc
--  发布时间:2020/5/11 9:20:35
--  
本地测试没有任何问题,单子状态一直是已撤
图片点击可在新窗口打开查看此主题相关图片如下:y1)q5$gk96ocrm%`uzy})a.png
图片点击可在新窗口打开查看

--  作者:yukizzc
--  发布时间:2020/5/11 9:21:04
--  

# 本Python代码主要用于策略交易
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
from PythonApi import *

 

#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    # 在context中保存全局变量
    context.mm = buy_open("RB00", "Limit",3300 ,1,serial_id = 1)
   

   

# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass


# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    tt = get_orders_id (context.mm,\'\')
    if tt is not(None):
        print(tt.order_id)
        print(tt.status)


--  作者:滚雪球
--  发布时间:2020/5/11 10:14:14
--  回复:(yukizzc)# 本Python代码主要用于策略交易# 可...


你在非交易时段使用timer触发,看看订单被拒绝以后再检查状态就知道了

--  作者:yukizzc
--  发布时间:2020/5/11 10:50:23
--  

非交易时段,你发的单子根本发不过去。这时候是没有订单信息的。

 

你所要的那么多状态很多都不是柜台反馈的,什么本地发送这个是软件自己去定义一个状态。


--  作者:滚雪球
--  发布时间:2020/5/13 13:44:31
--  回复:(yukizzc)非交易时段,你发的单子根本发不过去...


如果我不知道委托是否成功,我怎么执行后面的撤单动作,或者套利交易另一条腿的操作呢

--  作者:yukizzc
--  发布时间:2020/5/13 17:24:34
--  

上面例子里不是有已撤单的状态吗

你非交易时段单子没有抱出去,这个时候去查订单是没有的

电话我把

021-20339087