def OrderInsert(self, InstrumentID):
print(">>>>>>报单录入请求")
orderfield = api.CThostFtdcInputOrderField()
orderfield.BrokerID = g.BrokerID # *必填 经纪公司代码
orderfield.InvestorID = g.InvesterID # *必填 投资者代码
orderfield.InstrumentID = "rb2310" # *必填 合约代码
orderfield.ExchangeID = "SHFE" # *必填 交易所代码 这里查询本地字典获取
orderfield.CombOffsetFlag = "0" # *必填 开平标志。字符串0开仓,1平仓/平昨,3平今。除了上期所/能源中心外,不区分平今平昨,平仓统一使用THOST_FTDC_OF_Close(字符串1)。
orderfield.Direction = "0" # *必填 买卖方向。字符串0买1卖
orderfield.OrderPriceType = "2" # *必填 报单价格类型。字符串1市价2限价
orderfield.LimitPrice = 3750 # 限价类型时 填写报单价格
orderfield.VolumeTotalOriginal = 1 # *必填 数量
orderfield.OrderRef = 0 # 可自定义或不填 最大报单引用
# 以下一般不改
orderfield.ContingentCondition = api.THOST_FTDC_CC_Immediately # *必填 触发条件 这里填立即生效,另外还有损盈单,预埋单,条件单
orderfield.TimeCondition = api.THOST_FTDC_TC_GFD # *必填 有效期类型 这里填当日有效,另外还能设置FAK或FOK
orderfield.VolumeCondition = api.THOST_FTDC_VC_AV # *必填 成交量类型 这里填普通
# 以下不用改
orderfield.ForceCloseReason = api.THOST_FTDC_FCC_NotForceClose # *必填 强平原因 不用改
orderfield.IsAutoSuspend = 0 # *必填 自动挂起标志 不用改
orderfield.CombHedgeFlag = "1" # *必填 投机套保标志 多数投资者是'1' 表示为投机仓
ret = self.tapi.ReqOrderInsert(orderfield, 0)
if ret == 0:
print('下单成功!')
else:
print(f'下单失败!')
标签:CTP,FTDC,必填,api,THOST,详解,orderfield,报单 From: https://www.cnblogs.com/yuyanc/p/17691902.html