def Req_OrderInsert(self, broker_id, investor_id): data = KSUserApiStruct.CThostFtdcInputOrderField() #经纪公司代码 data.BrokerID = broker_id #投资者代码 data.InvestorID = investor_id #合约代码 data.InstrumentID = "IF1312" #instrument_id #报单引用 data.OrderRef = "9" #报单价格条件: 限价 data.OrderPriceType = KSUserApiType.THOST_FTDC_OPT_LimitPrice #买卖方向: data.Direction = KSUserApiType.THOST_FTDC_D_Buy #组合开平标志: 开仓 data.CombOffsetFlag = KSUserApiType.THOST_FTDC_OF_Open #组合投机套保标志 data.CombHedgeFlag = KSUserApiType.THOST_FTDC_HF_Speculation #价格 data.LimitPrice = 2450 #数量: 1 data.VolumeTotalOriginal = 1 #有效期类型: 当日有效 data.TimeCondition = KSUserApiType.THOST_FTDC_TC_GFD #成交量类型: 任何数量 data.VolumeCondition = KSUserApiType.THOST_FTDC_VC_AV #最小成交量: 0 data.MinVolume = 0 #触发条件: 立即 data.ContingentCondition = KSUserApiType.THOST_FTDC_CC_Immediately #强平原因: 非强平 data.ForceCloseReason = KSUserApiType.THOST_FTDC_FCC_NotForceClose #自动挂起标志: 否 data.IsAutoSuspend = 0 #请求编号 data.RequestID = self.requestid #用户强评标志: 否 data.UserForceClose = 0 self.requestid += 1 print repr(data) r = self.api.ReqOrderInsert(data, self.requestid) if r == 0: print u"报单录入请求: 成功\n" else: print u"报单录入请求: 失败\n"
def inputOrderField(self, broker_id, investor_id, instrument_id, volume, limitPrice, orderPriceType, direction, combOffSetFlag, combHedgeFlag): data = KSUserApiStruct.CThostFtdcInputOrderField() #经纪公司代码 data.BrokerID = broker_id #投资者代码 data.InvestorID = investor_id #合约代码 data.InstrumentID = instrument_id #instrument_id #报单引用 data.OrderRef = self.orderRef #报单价格条件: 限价 data.OrderPriceType = orderPriceType #买卖方向: data.Direction = direction #组合开平标志: 开仓 data.CombOffsetFlag = combOffSetFlag #组合投机套保标志 data.CombHedgeFlag = combHedgeFlag #价格 data.LimitPrice = limitPrice #数量: 1 data.VolumeTotalOriginal = volume #有效期类型: 当日有效 data.TimeCondition = KSUserApiType.THOST_FTDC_TC_GFD #成交量类型: 任何数量 data.VolumeCondition = KSUserApiType.THOST_FTDC_VC_AV #最小成交量: 0 data.MinVolume = 0 #触发条件: 立即 data.ContingentCondition = KSUserApiType.THOST_FTDC_CC_Immediately #强平原因: 非强平 data.ForceCloseReason = KSUserApiType.THOST_FTDC_FCC_NotForceClose #自动挂起标志: 否 data.IsAutoSuspend = 0 #请求编号 self.spi.requestid += 1 data.RequestID = self.spi.requestid #用户强评标志: 否 data.UserForceClose = 0 #用户强评标志: 否 data.UserForceClose = 0 #continue to insert to the table of tradingRecord connection = pymongo.Connection('localhost', 27017) db = connection.commodityTrading res = { "InvestorID": data.InvestorID, "BrokerID": data.BrokerID, "StrategyName": self.strategyName, "OrderRef": self.orderRef, "TradingDay": self.tradingDay, "Volume": data.VolumeTotalOriginal, "InstrumentID": data.InstrumentID, "Direction": data.Direction, "OrderPriceType": data.OrderPriceType, "CombOffsetFlag": data.CombOffsetFlag } db.tradingRecord.insert(res) return data