Exemple #1
0
 def OnRtnOrder(self, pOrder):
     print 'ks_OnRtnOrder:', repr(pOrder)
     #报单操作请求
     pOrder = KSUserApiStruct.CThostFtdcOrderField()
     if pOrder.OrderStatus == KSUserApiType.THOST_FTDC_OST_NoTradeQueueing and int(
             PyString_AsString(pOrder.OrderSysID)) != 0:
         ord = KSUserApiStruct.CThostFtdcInputOrderActionField()
         # broker id
         ord.BrokerID = broker_id
         # investor ID
         ord.InvestorID = investor_id
         # order action refernce
         ord.OrderActionRef = 000000000001
         # order reference
         ord.OrderRef = pOrder.OrderRef  # *必传1
         # front id
         ord.FrontID = pOrder.FrontID  # *必传2
         # session id
         ord.SessionID = pOrder.SessionID  # *必传3
         # 或者
         # exchange ID
         ord.ExchangeID = pOrder.ExchangeID  # *必传1
         # action order ID
         ord.OrderSysID = pOrder.OrderSysID  # *必传2
         #  action order num(unavailable yet)
         ord.VolumeChange = 0
         # instrument ID
         ord.InstrumentID = pOrder.InstrumentID
         # user id
         ord.UserID = investor_id
         self.requestid
         r = self.api.ReqOrderAction(ord, self.requestid)
         if r == 0: print u"报单操作请求: 成功\n"
         else: print u"报单操作请求: 失败\n"
Exemple #2
0
 def Req_QryExchange(self, investor_id):
     req = KSUserApiStruct.CThostFtdcQryExchangeField()
     req.ExchangeID = investor_id
     self.requestid += 1
     r = self.api.ReqQryExchange(req, self.requestid)
     if r == 0: print u"请求查询交易所: 成功\n"
     else: print u"请求查询交易所: 失败\n"
Exemple #3
0
 def Req_QryDepthMarketData(self, instrument_id):
     req = KSUserApiStruct.CThostFtdcQryDepthMarketDataField()
     req.InstrumentID = instrument_id
     self.requestid += 1
     r = self.api.ReqQryDepthMarketData(req, self.requestid)
     if r == 0: print u"请求查询行情: 成功\n"
     else: print u"请求查询行情: 失败\n"
Exemple #4
0
 def Req_QryAccountregister(self, broker_id):
     req = KSUserApiStruct.CThostFtdcQryAccountregisterField()
     req.BrokerID = broker_id
     self.requestid += 1
     r = self.api.ReqQryAccountregister(req, self.requestid)
     if r == 0: print u"请求查询银期签约关系: 成功\n"
     else: print u"请求查询银期签约关系: 失败\n"
Exemple #5
0
 def Req_QryBrokerTradingAlgos(self, broker_id):
     req = KSUserApiStruct.CThostFtdcQryBrokerTradingAlgosField()
     req.BrokerID = broker_id
     self.requestid += 1
     r = self.api.ReqQryBrokerTradingAlgos(req, self.requestid)
     if r == 0: print u"请求查询经纪公司交易算法: 成功\n"
     else: print u"请求查询经纪公司交易算法: 失败\n"
Exemple #6
0
 def Req_QryNotice(self, broker_id):
     req = KSUserApiStruct.CThostFtdcQryNoticeField()
     req.BrokerID = broker_id
     self.requestid += 1
     r = self.api.ReqQryNotice(req, self.requestid)
     if r == 0: print u"请求查询客户通知: 成功\n"
     else: print u"请求查询客户通知: 失败\n"
Exemple #7
0
 def Req_QryContractBank(self, broker_id):
     req = KSUserApiStruct.CThostFtdcQryContractBankField()
     req.BrokerID = broker_id
     self.requestid += 1
     r = self.api.ReqQryContractBank(req, self.requestid)
     if r == 0: print u"请求查询签约银行: 成功\n"
     else: print u"请求查询签约银行: 失败\n"
Exemple #8
0
 def Req_UserLogout(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcUserLogoutField(BrokerID=broker_id,
                                                     UserID=investor_id)
     self.requestid += 1
     r = self.api.ReqUserLogout(req, self.requestid)
     if r == 0: print u"发送用户录出请求: 成功\n"
     else: print u"发送用户录出请求: 失败\n"
Exemple #9
0
 def Req_QueryInvestorOpenPosition(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryInvestorPositionDetailField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQueryInvestorOpenPosition(req, self.requestid)
     if r == 0: print u"请求查询开盘前持仓: 成功\n"
     else: print u"请求查询开盘前持仓: 失败\n"
Exemple #10
0
 def Req_UserLogin(self, broker_id, investor_id, passwd):
     req = KSUserApiStruct.CThostFtdcReqUserLoginField(BrokerID=broker_id,
                                                       UserID=investor_id,
                                                       Password=passwd)
     self.requestid += 1
     r = self.api.ReqUserLogin(req, self.requestid)
     if r == 0: print u"发送用户登录请求: 成功\n"
     else: print u"发送用户登录请求: 失败\n"
Exemple #11
0
 def Req_QryTradingAccount(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryTradingAccountField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryTradingAccount(req, self.requestid)
     if r == 0: print u"请求查询资金账户: 成功\n"
     else: print u"请求查询资金账户: 失败\n"
Exemple #12
0
 def Req_QryInstrument(self, instrument_id):
     req = KSUserApiStruct.CThostFtdcQryInstrumentField()
     req.InstrumentID = ''
     req.ExchangeID = "SHFE"
     self.requestid += 1
     r = self.api.ReqQryInstrument(req, self.requestid)
     if r == 0: print u"ReqQryInstrument\n"
     else: print u"请求查询合约: 失败\n"
Exemple #13
0
 def Req_QryBrokerTradingParams(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryBrokerTradingParamsField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryBrokerTradingParams(req, self.requestid)
     if r == 0: print u"请求查询经纪公司交易参数: 成功\n"
     else: print u"请求查询经纪公司交易参数: 失败\n"
Exemple #14
0
 def Req_QryInvestor(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryInvestorField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryInvestor(req, self.requestid)
     if r == 0: print u"请求查询投资者: 成功\n"
     else: print u"请求查询投资者: 失败\n"
Exemple #15
0
 def Req_QrySettlementInfoConfirm(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcSettlementInfoField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQrySettlementInfoConfirm(req, self.requestid)
     if r == 0: print u"请求查询结算信息确认: 成功\n"
     else: print u"请求查询结算信息确认: 失败\n"
Exemple #16
0
 def Req_QryCFMMCTradingAccountKey(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryCFMMCTradingAccountKeyField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryCFMMCTradingAccountKey(req, self.requestid)
     if r == 0: print u"请求查询保证金监管系统经纪公司资金账户密钥: 成功\n"
     else: print u"请求查询保证金监管系统经纪公司资金账户密钥: 失败\n"
Exemple #17
0
 def Req_QryEWarrantOffset(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryEWarrantOffsetField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryEWarrantOffset(req, self.requestid)
     if r == 0: print u"请求查询仓单折抵信息: 成功\n"
     else: print u"请求查询仓单折抵信息: 失败\n"
Exemple #18
0
 def Req_QryInvestorPositionCombineDetail(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryInvestorPositionCombineDetailField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryInvestorPositionCombineDetail(req, self.requestid)
     if r == 0: print u"请求查询投资者持仓明细: 成功\n"
     else: print u"请求查询投资者持仓明细: 失败\n"
Exemple #19
0
 def Req_QueryMaxOrderVolume(self, broker_id, investor_id, instrument_id):
     req = KSUserApiStruct.CThostFtdcQueryMaxOrderVolumeField()
     req.BrokerID = broker_id
     req.InvestorID = investor_id
     req.InstrumentID = instrument_id
     self.requestid += 1
     r = self.api.ReqQueryMaxOrderVolume(req, self.requestid)
     if r == 0: print u"请求查询最大报单数量: 成功\n"
     else: print u"请求查询最大报单数量: 失败\n"
Exemple #20
0
 def Req_QryTransferSerial(self, broker_id, investor_id):
     req = KSUserApiStruct.CThostFtdcQryTransferSerialField()
     req.AccountID = investor_id
     req.BrokerID = broker_id
     #银行代码
     req.BankID = "5"
     self.requestid += 1
     r = self.api.ReqQryTransferSerial(req, self.requestid)
     if r == 0: print u"请求查询转帐流水: 成功\n"
     else: print u"请求查询转帐流水: 失败\n"
Exemple #21
0
 def Req_QryTrade(self, broker_id, investor_id, instrument_id):
     req = KSUserApiStruct.CThostFtdcQryTradeField()
     req.BrokerID = broker_id
     req.ExchangeID = investor_id
     req.InstrumentID = instrument_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryTrade(req, self.requestid)
     if r == 0: print u"交易查询请求: 成功\n"
     else: print u"交易查询请求: 失败\n"
Exemple #22
0
 def Req_TradingAccountPasswordUpdate(self, broker_id, investor_id, passwd):
     req = KSUserApiStruct.CThostFtdcTradingAccountPasswordUpdateField()
     req.BrokerID = broker_id
     req.AccountID = investor_id
     req.OldPassword = passwd
     req.NewPassword = passwd
     self.requestid += 1
     r = self.api.ReqTradingAccountPasswordUpdate(req, self.requestid)
     if r == 0: print u"资金账户口令更新请求: 成功\n"
     else: print u"资金账户口令更新请求: 失败\n"
Exemple #23
0
 def Req_QryInstrumentMarginRate(self, broker_id, investor_id,
                                 instrument_id):
     req = KSUserApiStruct.CThostFtdcQryInstrumentMarginRateField()
     req.BrokerID = broker_id
     req.InstrumentID = instrument_id
     req.InvestorID = investor_id
     self.requestid += 1
     r = self.api.ReqQryInstrumentMarginRate(req, self.requestid)
     if r == 0: print u"请求查询合约保证金率: 成功\n"
     else: print u"请求查询合约保证金率: 失败\n"
Exemple #24
0
 def Req_UserPasswordUpdate(self, broker_id, investor_id, passwd):
     req = KSUserApiStruct.CThostFtdcUserPasswordUpdateField()
     req.BrokerID = broker_id
     req.UserID = investor_id
     req.OldPassword = passwd
     req.NewPassword = passwd
     self.requestid += 1
     r = self.api.ReqUserPasswordUpdate(req, self.requestid)
     if r == 0: print u"用户口令变更请求: 成功\n"
     else: print u"用户口令变更请求: 失败\n"
Exemple #25
0
    def OnRtnOrder(self, pOrder):
        print 'ks_OnRtnOrder:', repr(pOrder)
        #插入报单数据库
        '''
	connection=pymongo.Connection('localhost',27017)
	db=connection.commodityTrading
	res={"CombOffsetFlag":pOrder.CombOffsetFlag,"CombHedgeFlag":pOrder.CombHedgeFlag,"InstrumentID":pOrder.InstrumentID,"OrderPriceType":pOrder.OrderPriceType,"Direction":pOrder.Direction,"OrderRef":pOrder.OrderRef,"LimitPrice":pOrder.LimitPrice,"VolumeTotalOriginal":pOrder.VolumeTotalOriginal,"RequestID":pOrder.RequestID,"InsertTime":pOrder.InsertTime,"InsertDate":pOrder.InsertDate}
	db.RtnOrder.insert(res)
	'''
        #报单操作请求
        pOrder = KSUserApiStruct.CThostFtdcOrderField()
        if pOrder.OrderStatus == KSUserApiType.THOST_FTDC_OST_NoTradeQueueing and int(
                str(pOrder.OrderSysID)) != 0:
            ord = KSUserApiStruct.CThostFtdcInputOrderActionField()
            # broker id
            ord.BrokerID = self.broker_id
            # investor ID
            ord.InvestorID = self.investor_id
            # order action refernce
            ord.OrderActionRef = 000000000001
            # order reference
            ord.OrderRef = pOrder.OrderRef  # *必传1
            # front id
            ord.FrontID = pOrder.FrontID  # *必传2
            # session id
            ord.SessionID = pOrder.SessionID  # *必传3
            # 或者
            # exchange ID
            ord.ExchangeID = pOrder.ExchangeID  # *必传1
            # action order ID
            ord.OrderSysID = pOrder.OrderSysID  # *必传2
            #  action order num(unavailable yet)
            ord.VolumeChange = 0
            # instrument ID
            ord.InstrumentID = pOrder.InstrumentID
            # user id
            ord.UserID = investor_id
            self.requestid
            r = self.api.ReqOrderAction(ord, self.requestid)
            if r == 0: print u"报单操作请求: 成功\n"
            else: print u"报单操作请求: 失败\n"
Exemple #26
0
 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"
Exemple #27
0
    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
Exemple #28
0
def ks_spi_init():

    user = KSTraderApi.CreateKSTraderApi("log_cos")
    #global spi
    spi = myTraderSpi(instruments="IF1303",
                      broker_id="6A89B428",
                      investor_id="80006",
                      passwd="123456")
    user.RegisterSpi(spi)
    user.SubscribePublicTopic(2)
    user.SubscribePrivateTopic(2)
    user.RegisterFront("tcp://10.253.117.107:13153")
    user.Init()
    time.sleep(3)
    cosspi = myCosSpi(broker_id="6A89B428",
                      investor_id="80006",
                      passwd="123456")
    cosapi = user.LoadExtApi(cosspi, "KSCosApi")

    #条件单录入请求
    req = KSUserApiStruct.CTKSConditionalOrderInitInsert()
    #print req
    req.BrokerID = "6A89B428"
    req.ExchangeID = "CFFEX"
    req.InvestorID = "80006"
    req.InstrumentID = "IF1303"
    req.Direction = '0'
    req.CombOffsetFlag = '0'
    req.CombHedgeFlag = '1'
    req.VolumeTotalOriginal = 2
    req.LimitPrice = 200
    req.OrderPriceType = '1'
    req.ConditionalType = '1'
    req.ConditionalPrice = 300
    req.TriggeredTimes = 2
    req.OrderType = '1'
    req.ActiveTime = "142010"
    req.InActiveTime = "162010"
    req.CurrencyID = "RMB"
    #print req
    requestid = 1
    requestid += 1
    r = cosapi.ReqInitInsertConditionalOrder(req, requestid)
    if r == 0: print "ReqInitInsertConditionalOrder succeed\n"
    else: print "ReqInitInsertConditionalOrder failed\n"

    #条件单查询请求
    req = KSUserApiStruct.CTKSConditionalOrderQuery(BrokerID="6A89B428",
                                                    InvestorID="80006")
    print req
    requestid += 1
    r = cosapi.ReqQueryConditionalOrder(req, requestid)
    if r == 0: print "ReqQueryConditionalOrder succeed\n"
    else: print "ReqQueryConditionalOrder failed\n"

    #条件单修改请求
    req = KSUserApiStruct.CTKSConditionalOrderModify()
    print req
    req.BrokerID = "6A89B428"
    req.ExchangeID = "CFFEX"
    req.InvestorID = "80006"
    req.ConditionalOrderID = 16
    req.InstrumentID = "IF1303"
    req.Direction = '1'
    req.CombOffsetFlag = '3'
    req.CombHedgeFlag = '1'
    req.VolumeTotalOriginal = 9
    req.LimitPrice = 1000
    req.OrderPriceType = '1'
    req.ConditionalType = '1'
    req.ConditionalPrice = 3000
    req.TriggeredTimes = 10
    req.OrderType = '1'
    requestid += 1
    r = cosapi.ReqModifyConditionalOrder(req, requestid)
    if r == 0: print "ReqModifyConditionalOrder succeed\n"
    else: print "ReqModifyConditionalOrder failed\n"

    #条件单删除请求
    req = KSUserApiStruct.CTKSConditionalOrderRemove(BrokerID="6A89B428",
                                                     InvestorID="80006",
                                                     ConditionalOrderID=5)
    print req
    requestid += 1
    r = cosapi.ReqRemoveConditionalOrder(req, requestid)
    if r == 0: print "ReqRemoveConditionalOrder succeed\n"
    else: print "ReqRemoveConditionalOrder failed\n"

    #条件单暂停或激活请求
    req = KSUserApiStruct.CTKSConditionalOrderStateAlter()
    print req
    req.BrokerID = "6A89B428"
    req.InvestorID = "80006"
    req.ConditionalOrderID = 18
    req.ConditionalOrderStateAlter = '0'
    requestid += 1
    r = cosapi.ReqStateAlterConditionalOrder(req, requestid)
    if r == 0: print "ReqStateAlterConditionalOrder succeed\n"
    else: print "ReqStateAlterConditionalOrder failed\n"

    #选择条件单请求
    req = KSUserApiStruct.CTKSConditionalOrderSelect()
    print req
    req.BrokerID = "6A89B428"
    req.InvestorID = "80006"
    req.ConditionalOrderID = 2
    req.SelectResult = KSUserApiType.KSCOS_Select_AGAIN
    requestid += 1
    r = cosapi.ReqSelectConditionalOrder(req, requestid)
    if r == 0: print "ReqSelectConditionalOrder succeed\n"
    else: print "ReqSelectConditionalOrder failed\n"

    #止损止盈单录入请求
    req = KSUserApiStruct.CTKSProfitAndLossOrderInsert()
    print req
    req.BrokerID = "6A89B428"
    req.ExchangeID = "CFFEX"
    req.InvestorID = "80006"
    req.OrderLocalID = '6'
    req.StopLossPrice = 2100
    req.TakeProfitPrice = 2500
    req.BusinessUnit = "cffex"
    req.TriggeredTimes = 2
    req.CloseMode = '1'
    req.FiguresPrice = 0.2
    req.OffsetValue = '0'
    req.SpringType = '1'
    req.CurrencyID = "RMB"
    requestid += 1
    r = cosapi.ReqInsertProfitAndLossOrder(req, requestid)
    if r == 0: print "ReqInsertProfitAndLossOrder succeed\n"
    else: print "ReqInsertProfitAndLossOrder failed\n"

    #止损止盈单修改请求
    req = KSUserApiStruct.CTKSProfitAndLossOrderModify()
    print req
    req.BrokerID = "6A89B428"
    req.InvestorID = "80006"
    req.ProfitAndLossOrderID = 9
    req.StopLossPrice = 2999
    req.TakeProfitPrice = 3999
    req.CloseMode = '1'
    req.FiguresPrice = 0.2
    req.OffsetValue = '0'
    req.SpringType = '1'
    req.TriggeredTimes = 30
    requestid += 1
    r = cosapi.ReqModifyProfitAndLossOrder(req, requestid)
    if r == 0: print "ReqModifyProfitAndLossOrder succeed\n"
    else: print "ReqModifyProfitAndLossOrder failed\n"

    #止损止盈单删除请求
    req = KSUserApiStruct.CTKSProfitAndLossOrderRemove()
    print req
    req.BrokerID = "6A89B428"
    req.InvestorID = "80006"
    req.ProfitAndLossOrderID = 2
    req.OrderLocalID = "8"
    req.ExchangeID = "CFFEX"
    req.BusinessUnit = "cffex"
    requestid = 1
    requestid += 1
    r = cosapi.ReqRemoveProfitAndLossOrder(req, requestid)
    if r == 0: print "ReqRemoveProfitAndLossOrder succeed\n"
    else: print "ReqRemoveProfitAndLossOrder failed\n"

    time.sleep(3)