def __SendOrder_Click(self, bAsyncOrder): try: if self.__dOrder['boxBuySell'].get() == "買進": sBuySell = 0 elif self.__dOrder['boxBuySell'].get() == "賣出": sBuySell = 1 if self.__dOrder['boxNewClose'].get() == "新倉": sNewClose = 0 if self.__dOrder['boxFlag'].get() == "非當沖": sDayTrade = 0 elif self.__dOrder['boxFlag'].get() == "當沖": sDayTrade = 1 if self.__dOrder['boxPeriod'].get() == "ROD": sTradeType = 0 if self.__dOrder['boxSpecialTradeType'].get() == "LMT(限價)": sSpecialTradeType = 0 elif self.__dOrder['boxSpecialTradeType'].get() == "MKT(市價)": sSpecialTradeType = 1 elif self.__dOrder['boxSpecialTradeType'].get() == "STL(停損限價)": sSpecialTradeType = 2 elif self.__dOrder['boxSpecialTradeType'].get() == "STP(停損市價)": sSpecialTradeType = 3 # 建立下單用的參數(OVERSEAFUTUREORDER)物件(下單時要填商品代號,買賣別,委託價,數量等等的一個物件) oOrder = sk.OVERSEAFUTUREORDER() # 填入完整帳號 oOrder.bstrFullAccount = self.__dOrder['boxAccount'] # 填入交易所代號 oOrder.bstrExchangeNo = self.__dOrder['txtExchangeNo'].get() # 填入期權代號 oOrder.bstrStockNo = self.__dOrder['txtStockNo'].get() # 近月商品年月 oOrder.bstrYearMonth = self.__dOrder['txtYearMonth'].get() # 委託價 oOrder.bstrOrder = self.__dOrder['txtOrder'].get() # 委託價分子 oOrder.bstrOrderNumerator = self.__dOrder['txtOrderNumerator'].get( ) # 觸發價 oOrder.bstrTrigger = self.__dOrder['txtTrigger'].get() # 觸發價分子 oOrder.bstrTriggerNumerator = self.__dOrder[ 'txtTriggerNumerator'].get() # 委託數量 oOrder.nQty = int(self.__dOrder['txtQty'].get()) # 買賣別 oOrder.sBuySell = sBuySell # 新倉 oOrder.sNewClose = sNewClose # 非當沖、當沖 oOrder.sDayTrade = sDayTrade # ROD oOrder.sTradeType = sTradeType # LMT(限價)、MKT(市價)、STL(停損限價)、STP(停損市價) oOrder.sSpecialTradeType = sSpecialTradeType message, m_nCode = skO.SendOverSeaFutureOrder( self.__dOrder['txtID'], bAsyncOrder, oOrder) self.__oMsg.SendReturnMessage("Order", m_nCode, "SendOverSeaFutureOrder", self.__dOrder['listInformation']) except Exception as e: messagebox.showerror("error!", e)
def __SendOrder_Click(self, bAsyncOrder): try: if self.__dOrder['boxCallPut'].get() == "CALL": sCallPut = 0 elif self.__dOrder['boxCallPut'].get() == "PUT": sCallPut = 1 if self.__dOrder['boxBuySell'].get() == "買進": sBuySell = 0 elif self.__dOrder['boxBuySell'].get() == "賣出": sBuySell = 1 if self.__dOrder['boxNewClose'].get() == "新倉": sNewClose = 0 elif self.__dOrder['boxNewClose'].get() == "平倉": sNewClose = 1 if self.__dOrder['boxFlag'].get() == "非當沖": sDayTrade = 0 elif self.__dOrder['boxFlag'].get() == "當沖": sDayTrade = 1 if self.__dOrder['boxPeriod'].get() == "ROD": sTradeType = 0 if self.__dOrder['boxSpecialTradeType'].get() == "LMT(限價)": sSpecialTradeType = 0 # 建立下單用的參數(OVERSEAFUTUREORDER)物件(下單時要填商品代號,買賣別,委託價,數量等等的一個物件) oOrder = sk.OVERSEAFUTUREORDER() # 填入完整帳號 oOrder.bstrFullAccount = self.__dOrder['boxAccount'] # 填入交易所代號 oOrder.bstrExchangeNo = self.__dOrder['txtExchangeNo'] .get() # 填入期權代號 oOrder.bstrStockNo = self.__dOrder['txtStockNo'].get() # 近月商品年月 oOrder.bstrYearMonth = self.__dOrder['txtYearMonth'].get() # 履約價 oOrder.bstrStrikePrice = self.__dOrder['txtStrikePrice'].get() # Call Put oOrder.sCallPut = sCallPut # 委託數量 oOrder.nQty = int(self.__dOrder['txtQty'].get()) # 委託價 oOrder.bstrOrder = self.__dOrder['txtOrder'].get() # 委託價分子 oOrder.bstrOrderNumerator = self.__dOrder['txtOrderNumerator'].get() # 買賣別 oOrder.sBuySell = sBuySell # 新倉、平倉 oOrder.sNewClose = sNewClose # 非當沖、當沖 oOrder.sDayTrade = sDayTrade # ROD oOrder.sTradeType = sTradeType # LMT(限價) oOrder.sSpecialTradeType = sSpecialTradeType # 觸發價 oOrder.bstrTrigger = self.__dOrder['txtTrigger'].get() # 觸發價分子 oOrder.bstrTriggerNumerator = self.__dOrder['txtTriggerNumerator'].get() message, m_nCode = skO.SendOverSeaOptionOrder(Global.Global_IID, bAsyncOrder, oOrder) self.__oMsg.SendReturnMessage("Order", m_nCode, "SendOverSeaOptionOrder", self.__dOrder['listInformation']) if bAsyncOrder == False and m_nCode == 0: strMsg = "海選委託: " + str(message) self.__oMsg.WriteMessage( strMsg, self.__dOrder['listInformation']) except Exception as e: messagebox.showerror("error!", e)