void m_SKOOQuoteLib_OnNotifyQuote(short sIndex) { SKFOREIGN pForeign = new SKFOREIGN(); m_nCode = m_SKOOQuoteLib.SKOOQuoteLib_GetStockByIndex(sIndex, ref pForeign); SKFOREIGN pForeign2 = new SKFOREIGN(); m_nCode = m_SKOOQuoteLib.SKOOQuoteLib_GetStockByNo(pForeign.bstrExchangeNo + "," + pForeign.bstrStockNo, ref pForeign2); OnUpDateDataQuote(pForeign); }
void OnQuoteUpdate(short sStockidx) { SKFOREIGN pForeign = new SKFOREIGN(); try { m_nCode = m_SKOSQuoteLib.SKOSQuoteLib_GetStockByIndex(sStockidx, ref pForeign); } catch (Exception ex) { string msg = ex.Message; } OnUpDateDataQuote(pForeign); }
void OnUpDateDataQuote(SKFOREIGN pForeign) { short sStockIdx = pForeign.sStockIdx; DataRow drFind = m_dtForeigns.Rows.Find(sStockIdx); if (drFind == null) { DataRow myDataRow = m_dtForeigns.NewRow(); myDataRow["m_sStockidx"] = pForeign.sStockIdx; myDataRow["m_sDecimal"] = pForeign.sDecimal; myDataRow["m_nDenominator"] = pForeign.nDenominator; myDataRow["m_cMarketNo"] = pForeign.bstrMarketNo.Trim(); myDataRow["m_caExchangeNo"] = pForeign.bstrExchangeNo.Trim(); myDataRow["m_caExchangeName"] = pForeign.bstrExchangeName.Trim(); myDataRow["m_caStockNo"] = pForeign.bstrStockNo.Trim(); myDataRow["m_caStockName"] = pForeign.bstrStockName.Trim() + " " + pForeign.nStrikePrice.ToString() + " " + pForeign.bstrCallPut; myDataRow["m_nOpen"] = pForeign.nOpen / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nHigh"] = pForeign.nHigh / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nLow"] = pForeign.nLow / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nClose"] = pForeign.nClose / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_dSettlePrice"] = pForeign.nSettlePrice / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nTickQty"] = pForeign.nTickQty; myDataRow["m_nRef"] = pForeign.nRef / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nBid"] = pForeign.nBid / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nBc"] = pForeign.nBc; myDataRow["m_nAsk"] = pForeign.nAsk; myDataRow["m_nAc"] = pForeign.nAc / (Math.Pow(10, pForeign.sDecimal)); myDataRow["m_nTQty"] = pForeign.nTQty; m_dtForeigns.Rows.Add(myDataRow); } else { drFind["m_sStockidx"] = pForeign.sStockIdx; drFind["m_sDecimal"] = pForeign.sDecimal; drFind["m_nDenominator"] = pForeign.nDenominator; drFind["m_cMarketNo"] = pForeign.bstrMarketNo.Trim(); drFind["m_caExchangeNo"] = pForeign.bstrExchangeNo.Trim(); drFind["m_caExchangeName"] = pForeign.bstrExchangeName.Trim(); drFind["m_caStockNo"] = pForeign.bstrStockNo.Trim(); drFind["m_caStockName"] = pForeign.bstrStockName.Trim() + " " + pForeign.nStrikePrice.ToString() + " " + pForeign.bstrCallPut; drFind["m_nOpen"] = pForeign.nOpen / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nHigh"] = pForeign.nHigh / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nLow"] = pForeign.nLow / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nClose"] = pForeign.nClose / (Math.Pow(10, pForeign.sDecimal)); drFind["m_dSettlePrice"] = pForeign.nSettlePrice / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nTickQty"] = pForeign.nTickQty; drFind["m_nRef"] = pForeign.nRef / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nBid"] = pForeign.nBid / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nBc"] = pForeign.nBc; drFind["m_nAsk"] = pForeign.nAsk / (Math.Pow(10, pForeign.sDecimal)); drFind["m_nAc"] = pForeign.nAc; drFind["m_nTQty"] = pForeign.nTQty; } }