Ejemplo n.º 1
0
        private void API_OnReceiveTrData(object sender, _DKHOpenAPIEvents_OnReceiveTrDataEvent e)
        {
            if (e.sRQName.Equals("계좌평가잔고내역요청"))
            {
                #region 계좌평가잔고내역요청
                this.dataGridViewAccount.DataSource = null;
                int multiCount = 0;
                List <OPW00018_계좌평가결과> dataSingleList = new List <OPW00018_계좌평가결과>();
                OPW00018_계좌평가결과        dataSingle     = new OPW00018_계좌평가결과();
                dataSingle.총매입금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총매입금액").Trim();
                dataSingle.총수익률    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총수익률(%)").Trim();
                dataSingle.총평가손익금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총평가손익금액").Trim();
                dataSingle.총평가금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총평가금액").Trim();
                dataSingle.총대주금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총대주금액").Trim();
                dataSingle.총대출금    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총대출금").Trim();
                dataSingle.총융자금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총융자금액").Trim();
                dataSingle.추정예탁자산  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "추정예탁자산").Trim();
                dataSingle.조회건수    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "조회건수").Trim();
                dataSingleList.Add(dataSingle);
                dataGridViewAccount.DataSource = dataSingleList;
                if (string.IsNullOrEmpty(dataSingle.조회건수))
                {
                    return;
                }

                multiCount = Int32.Parse(dataSingle.조회건수);

                List <OPW00018_계좌평가잔고개별합산> dataMultiList = new List <OPW00018_계좌평가잔고개별합산>();
                for (int i = 0; i < multiCount; i++)
                {
                    OPW00018_계좌평가잔고개별합산 dataMulti = new OPW00018_계좌평가잔고개별합산();
                    dataMulti.금일매도수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "금일매도수량").Trim();
                    dataMulti.금일매수수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "금일매수수량").Trim();
                    dataMulti.대출일    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "대출일").Trim();
                    dataMulti.매입가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입가").Trim();
                    dataMulti.매입금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입금액").Trim();
                    dataMulti.매입수수료  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입수수료").Trim();
                    dataMulti.보유비중   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유비중(%)").Trim();
                    dataMulti.보유수량   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유수량").Trim();
                    dataMulti.세금     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "세금").Trim();
                    dataMulti.수수료합   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "수수료합").Trim();
                    dataMulti.수익률    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "수익률(%)").Trim();
                    dataMulti.신용구분   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "신용구분").Trim();
                    dataMulti.신용구분명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "신용구분명").Trim();
                    dataMulti.전일매도수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일매도수량").Trim();
                    dataMulti.전일매수수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일매수수량").Trim();
                    dataMulti.전일종가   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일종가").Trim();
                    dataMulti.종목명    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    dataMulti.종목번호   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목번호").Trim();
                    dataMulti.평가금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가금액").Trim();
                    dataMulti.평가손익   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가손익").Trim();
                    dataMulti.평가수수료  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가수수료").Trim();
                    dataMulti.현재가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    dataMulti.매매가능수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매매가능수량").Trim();
                    dataMultiList.Add(dataMulti);
                }
                this.dataGridViewAccountStock.DataSource = dataMultiList;

                foreach (DataGridViewColumn col in dataGridViewAccount.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                dataGridViewAccount.SelectedRows[0].Selected = false;

                foreach (DataGridViewColumn col in dataGridViewAccountStock.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                dataGridViewAccountStock.SelectedRows[0].Selected = false;
                Logger(Log.조회, "계좌평가잔고 완료");
                #endregion
            }
            else if (e.sRQName.Equals("조건검색주식기본정보"))
            {
                #region 조건검색결과
                int    count     = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);
                string stockList = "";

                ConditionResultStockList.Clear();
                for (int i = 0; i < count; i++)
                {
                    this.dataGridViewStockInfo.DataSource = null;
                    OPT10001_주식기본정보 data = new OPT10001_주식기본정보();
                    data.종목코드 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    data.종목명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    data.현재가  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    data.등락율  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "등락율").Trim();
                    data.전일대비 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일대비").Trim();
                    ConditionResultStockList.Add(data);

                    if (i == count - 1)
                    {
                        stockList += data.종목코드;
                    }
                    else
                    {
                        stockList += data.종목코드 + ";";
                    }
                }
                this.dataGridViewStockInfo.DataSource = ConditionResultStockList.Select(x => new { x.종목코드, x.종목명, x.현재가, x.전일대비, x.등락율 }).ToList();
                this.dataGridViewStockInfo.SelectedRows[0].Selected = false;
                Logger(Log.조회, "조건검색결과 완료");

                long lRet = axKHOpenAPI.SetRealReg(GetScreenNum(), // 화면번호
                                                   stockList,      // 종콕코드 리스트
                                                   "10;12",        //FID번호
                                                   "0");           // 0 : 마지막에 등록한 종목만 실시간
                #endregion
            }
            else if (e.sRQName.Equals("계좌평가현황요청"))
            {
                #region 계좌평가현황요청
                this.dataGridViewAccountStock.DataSource = null;

                List <OPW00004_계좌평가현황요청_Single> OPW00004SingleDataList = new List <OPW00004_계좌평가현황요청_Single>();
                OPW00004_계좌평가현황요청_Single        singleData             = new OPW00004_계좌평가현황요청_Single();
                singleData.예수금     = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "예수금").Trim();
                singleData.예탁자산평가액 = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "예탁자산평가액").Trim();
                singleData.가잔고평가액  = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "유가잔고평가액").Trim();
                singleData.총매입금액   = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총매입금액").Trim();
                singleData.추정예탁자산  = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "추정예탁자산").Trim();
                OPW00004SingleDataList.Add(singleData);
                this.dataGridViewAccount.DataSource = OPW00004SingleDataList;
                int count = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);

                List <OPW00004_계좌평가현황요청_Multi> OPW00004_dataList = new List <OPW00004_계좌평가현황요청_Multi>();
                for (int i = 0; i < count; i++)
                {
                    OPW00004_계좌평가현황요청_Multi multiData = new OPW00004_계좌평가현황요청_Multi();
                    multiData.종목코드 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    multiData.종목명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    multiData.보유수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유수량").Trim();
                    multiData.평균단가 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평균단가").Trim();
                    multiData.현재가  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    multiData.평가금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가금액").Trim();
                    multiData.손익금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "손익금액").Trim();
                    multiData.손익율  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "손익율").Trim();
                    multiData.대출일  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "대출일").Trim();
                    multiData.매입금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입금액").Trim();

                    OPW00004_dataList.Add(multiData);
                }

                this.dataGridViewAccountStock.DataSource = OPW00004_dataList;

                foreach (DataGridViewColumn col in dataGridViewAccountStock.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                if (dataGridViewAccountStock.SelectedRows.Count > 0)
                {
                    dataGridViewAccountStock.SelectedRows[0].Selected = false;
                }


                Logger(Log.조회, "계좌정보 조회 성공");
                #endregion
            }
            else if (e.sRQName.Equals("증거금율별주문가능수량조회요청"))
            {
                this.tb매수주문수량.Text = Int32.Parse(this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "증거금100주문가능수량").Trim()).ToString();

                Logger(Log.조회, "증거금율별주문가능수량조회요청 성공");
            }
            else if (e.sRQName.Equals("신용보증금율별주문가능수량조회요청"))
            {
                this.tb매수주문수량.Text = Int32.Parse(this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "보증금40주문가능수량").Trim()).ToString();

                Logger(Log.조회, "신용보증금율별주문가능수량조회요청 성공");
            }
            else if (e.sRQName.Equals("실시간미체결요청"))
            {
                //MessageBox.Show("들어오나?");
                int count = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);

                if (count < 1)
                {
                    MessageBox.Show("미체결주문이 없습니다.");
                    return;
                }

                List <OPT10075_실시간미체결> OPT10075_dataList = new List <OPT10075_실시간미체결>();
                for (int i = 0; i < count; i++)
                {
                    OPT10075_실시간미체결 multiData = new OPT10075_실시간미체결();

                    multiData.계좌번호    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "계좌번호").Trim();
                    multiData.주문번호    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "주문번호").Trim();
                    multiData.관리사번    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "관리사번").Trim();
                    multiData.종목코드    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    multiData.업무구분    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "업무구분").Trim();
                    multiData.주문상태    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "주문상태").Trim();
                    multiData.종목명     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    multiData.주문수량    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "주문수량").Trim();
                    multiData.주문가격    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "주문가격").Trim();
                    multiData.미체결수량   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "미체결수량").Trim();
                    multiData.체결누계금액  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "체결누계금액").Trim();
                    multiData.원주문번호   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "원주문번호").Trim();
                    multiData.주문구분    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "주문구분").Trim();
                    multiData.매매구분    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매매구분").Trim();
                    multiData.시간      = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "시간").Trim();
                    multiData.체결번호    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "체결번호").Trim();
                    multiData.체결가     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "체결가").Trim();
                    multiData.체결량     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "체결량").Trim();
                    multiData.현재가     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    multiData.매도호가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매도호가").Trim();
                    multiData.매수호가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매수호가").Trim();
                    multiData.단위체결가   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "단위체결가").Trim();
                    multiData.단위체결량   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "단위체결량").Trim();
                    multiData.당일매매수수료 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "당일매매수수료").Trim();
                    multiData.당일매매세금  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "당일매매세금").Trim();
                    multiData.개인투자자   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "개인투자자").Trim();

                    OPT10075_dataList.Add(multiData);
                }

                NotConclude nc = new NotConclude(this, OPT10075_dataList);
                nc.Show();

                //this.dataGridViewAccountStock.DataSource = OPW00004_dataList;

                //foreach (DataGridViewColumn col in dataGridViewAccountStock.Columns)
                //{
                //    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                //}
                //if (dataGridViewAccountStock.SelectedRows.Count > 0)
                //    dataGridViewAccountStock.SelectedRows[0].Selected = false;


                Logger(Log.조회, "실시간미체결요청 성공");
            }
        }
Ejemplo n.º 2
0
        private void API_OnReceiveTrData(object sender, _DKHOpenAPIEvents_OnReceiveTrDataEvent e)
        {
            if (e.sRQName.Equals("계좌평가잔고내역요청"))
            {
                #region 계좌평가잔고내역요청
                if (e.nDataLength == 0)
                {
                    return;
                }
                this.dataGridViewAccount.DataSource = null;
                int multiCount = 0;
                List <OPW00018_계좌평가결과> dataSingleList = new List <OPW00018_계좌평가결과>();
                OPW00018_계좌평가결과        dataSingle     = new OPW00018_계좌평가결과();
                dataSingle.총매입금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총매입금액").Trim();
                dataSingle.총수익률    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총수익률(%)").Trim();
                dataSingle.총평가손익금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총평가손익금액").Trim();
                dataSingle.총평가금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총평가금액").Trim();
                dataSingle.총대주금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총대주금액").Trim();
                dataSingle.총대출금    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총대출금").Trim();
                dataSingle.총융자금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총융자금액").Trim();
                dataSingle.추정예탁자산  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "추정예탁자산").Trim();
                dataSingle.조회건수    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "조회건수").Trim();
                dataSingleList.Add(dataSingle);
                dataGridViewAccount.DataSource = dataSingleList;
                if (string.IsNullOrEmpty(dataSingle.조회건수))
                {
                    return;
                }

                multiCount = Int32.Parse(dataSingle.조회건수);

                List <OPW00018_계좌평가잔고개별합산> dataMultiList = new List <OPW00018_계좌평가잔고개별합산>();
                for (int i = 0; i < multiCount; i++)
                {
                    OPW00018_계좌평가잔고개별합산 dataMulti = new OPW00018_계좌평가잔고개별합산();
                    dataMulti.금일매도수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "금일매도수량").Trim();
                    dataMulti.금일매수수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "금일매수수량").Trim();
                    dataMulti.대출일    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "대출일").Trim();
                    dataMulti.매입가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입가").Trim();
                    dataMulti.매입금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입금액").Trim();
                    dataMulti.매입수수료  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입수수료").Trim();
                    dataMulti.보유비중   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유비중(%)").Trim();
                    dataMulti.보유수량   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유수량").Trim();
                    dataMulti.세금     = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "세금").Trim();
                    dataMulti.수수료합   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "수수료합").Trim();
                    dataMulti.수익률    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "수익률(%)").Trim();
                    dataMulti.신용구분   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "신용구분").Trim();
                    dataMulti.신용구분명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "신용구분명").Trim();
                    dataMulti.전일매도수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일매도수량").Trim();
                    dataMulti.전일매수수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일매수수량").Trim();
                    dataMulti.전일종가   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일종가").Trim();
                    dataMulti.종목명    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    dataMulti.종목번호   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목번호").Trim();
                    dataMulti.평가금액   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가금액").Trim();
                    dataMulti.평가손익   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가손익").Trim();
                    dataMulti.평가수수료  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가수수료").Trim();
                    dataMulti.현재가    = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    dataMulti.매매가능수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매매가능수량").Trim();
                    dataMultiList.Add(dataMulti);
                }
                this.dataGridViewAccountStock.DataSource = dataMultiList;

                foreach (DataGridViewColumn col in dataGridViewAccount.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                dataGridViewAccount.SelectedRows[0].Selected = false;

                foreach (DataGridViewColumn col in dataGridViewAccountStock.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                dataGridViewAccountStock.SelectedRows[0].Selected = false;
                Logger(Log.조회, "계좌평가잔고 완료");
                #endregion
            }
            else if (e.sRQName.Equals("조건검색주식기본정보"))
            {
                #region 조건검색결과
                int count = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);

                List <OPT10001_주식기본정보> dataList = new List <OPT10001_주식기본정보>();
                for (int i = 0; i < count; i++)
                {
                    this.dataGridViewStockInfo.DataSource = null;
                    OPT10001_주식기본정보 data = new OPT10001_주식기본정보();
                    data.종목코드 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    data.종목명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    data.현재가  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    data.등락율  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "등락율").Trim();
                    data.거래량  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "거래량").Trim();
                    data.전일대비 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "전일대비").Trim();
                    data.고가   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "고가").Trim();
                    data.저가   = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    data.연중최저 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "연중최저").Trim();
                    data.연중최고 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "연중최고").Trim();
                    dataList.Add(data);
                }
                this.dataGridViewStockInfo.DataSource = dataList.Select(x => new { x.종목코드, x.종목명, x.현재가, x.전일대비, x.등락율 }).ToList();
                this.dataGridViewStockInfo.SelectedRows[0].Selected = false;
                Logger(Log.조회, "조건검색결과 완료");
                #endregion
            }
            else if (e.sRQName.Equals("계좌평가현황요청"))
            {
                #region 계좌평가현황요청
                this.dataGridViewAccountStock.DataSource = null;

                OPW00004_계좌평가현황요청_Single singleData = new OPW00004_계좌평가현황요청_Single();
                singleData.예수금     = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "예수금").Trim();
                singleData.예탁자산평가액 = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "예탁자산평가액").Trim();
                singleData.가잔고평가액  = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "유가잔고평가액").Trim();
                singleData.총매입금액   = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "총매입금액").Trim();
                singleData.추정예탁자산  = this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "추정예탁자산").Trim();

                int count = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);

                List <OPW00004_계좌평가현황요청_Multi> OPW00004_dataList = new List <OPW00004_계좌평가현황요청_Multi>();
                for (int i = 0; i < count; i++)
                {
                    OPW00004_계좌평가현황요청_Multi multiData = new OPW00004_계좌평가현황요청_Multi();
                    multiData.종목코드 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목코드").Trim();
                    multiData.종목명  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim();
                    multiData.보유수량 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "보유수량").Trim();
                    multiData.평균단가 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평균단가").Trim();
                    multiData.현재가  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "현재가").Trim();
                    multiData.평가금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "평가금액").Trim();
                    multiData.손익금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "손익금액").Trim();
                    multiData.손익율  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "손익율").Trim();
                    multiData.대출일  = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "대출일").Trim();
                    multiData.매입금액 = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, i, "매입금액").Trim();

                    OPW00004_dataList.Add(multiData);
                }

                this.dataGridViewAccountStock.DataSource = OPW00004_dataList;

                foreach (DataGridViewColumn col in dataGridViewAccountStock.Columns)
                {
                    col.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
                if (dataGridViewAccountStock.SelectedRows.Count > 0)
                {
                    dataGridViewAccountStock.SelectedRows[0].Selected = false;
                }


                Logger(Log.조회, "계좌정보 조회 성공");
                #endregion
            }
            else if (e.sRQName.Equals("증거금율별주문가능수량조회요청"))
            {
                this.tb매수주문수량.Text = Int32.Parse(this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "증거금100주문가능수량").Trim()).ToString();

                Logger(Log.조회, "증거금율별주문가능수량조회요청 성공");
            }
            else if (e.sRQName.Equals("신용보증금율별주문가능수량조회요청"))
            {
                this.tb매수주문수량.Text = Int32.Parse(this.axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, 0, "보증금40주문가능수량").Trim()).ToString();

                Logger(Log.조회, "신용보증금율별주문가능수량조회요청 성공");
            }
        }