private void OnReceiveTrData_Opt10060MaeSu(string stockCode, DataTable dt, int sPreNext)
        {
            ArrayParam arrParam = new ArrayParam();
            Sql        oSql     = new Sql(SDataAccess.ClsServerInfo.VADISSEVER, "KIWOOMDB");

            DataTable   dtDate = new DataTable();
            KiwoomQuery kiwoom = new KiwoomQuery();

            TaskCompletionSource <bool> tcs = null;

            tcs = new TaskCompletionSource <bool>();

            if (tcs == null || tcs.Task.IsCompleted)
            {
                return;
            }

            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    WriteTextSafe(stockCode + "(QTY매수)" + "[" + dr["일자"].ToString() + "] 작업중");

                    arrParam.Clear();
                    arrParam.Add("@ACTION_GB", "A");
                    arrParam.Add("@STOCK_CODE", stockCode);
                    arrParam.Add("@STOCK_DATE", dr["일자"]);
                    arrParam.Add("@MAEME_GB", "1");
                    arrParam.Add("@DATE_SEQNO", 0);
                    arrParam.Add("@NUJUK_TRDAEGUM", dr["누적거래대금"]);
                    arrParam.Add("@GAIN_QTY", dr["개인투자자"]);
                    arrParam.Add("@FORE_QTY", dr["외국인투자자"]);
                    arrParam.Add("@GIGAN_QTY", dr["기관계"]);
                    arrParam.Add("@GUMY_QTY", dr["금융투자"]);
                    arrParam.Add("@BOHUM_QTY", dr["보험"]);
                    arrParam.Add("@TOSIN_QTY", dr["투신"]);
                    arrParam.Add("@GITA_QTY", dr["기타금융"]);
                    arrParam.Add("@BANK_QTY", dr["은행"]);
                    arrParam.Add("@YEONGI_QTY", dr["연기금등"]);
                    arrParam.Add("@SAMO_QTY", dr["사모펀드"]);
                    arrParam.Add("@NATION_QTY", dr["국가"]);
                    arrParam.Add("@BUBIN_QTY", dr["기타법인"]);
                    arrParam.Add("@IOFORE_QTY", dr["내외국인"]);
                    arrParam.Add("@GIGAN_SUM_QTY", Convert.ToInt32(dr["금융투자"]) + Convert.ToInt32(dr["보험"]) + Convert.ToInt32(dr["투신"]) +
                                 Convert.ToInt32(dr["기타금융"]) + Convert.ToInt32(dr["은행"]) + Convert.ToInt32(dr["연기금등"]) +
                                 Convert.ToInt32(dr["사모펀드"]) + Convert.ToInt32(dr["국가"]));
                    arrParam.Add("@R_ERRORCD", -1, SqlDbType.Int, ParameterDirection.InputOutput);

                    oSql.ExecuteNonQuery("p_Opt10060QtyAdd", CommandType.StoredProcedure, arrParam);
                }
            }

            _opt10060.Dispose();

            tcs.SetResult(true);

            ClsAxKH.AxKH_10060_OnReceived -= new ClsAxKH.OnReceivedEventHandler(OnReceiveTrData_Opt10060MaeSu);

            GetOpt10060Caller(Opt10060TransType.QtyMaeDo, stockCode, "", "");
        }
Beispiel #2
0
        private string GetStockCode()
        {
            string reValue;

            if (_StockQueue.Count == 0)
            {
                //MessageBox.Show("작업이 완료되었습니다.");
                return("End");
            }
            reValue = _StockQueue.Dequeue().ToString();

            _seqNo = _seqNo + 1;

            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt          = new DataTable();

            dt = kiwoomQuery.p_Opt10001Query(query: "1", stockCode: reValue, callDate: "", bln3tier: false).Tables[0].Copy();

            if (dt.Rows.Count <= 0)
            {
                return(reValue);
            }
            else
            {
                if (DateTime.Now.ToString("yyyyMMdd") == dt.Rows[0]["CALL_DATE"].ToString().Trim())
                {
                    return("");
                }
                else
                {
                    return(reValue);
                }
            }
        }
Beispiel #3
0
        private string GetStockCode()
        {
            string reValue;

            if (_StockQueue.Count == 0)
            {
                MessageBox.Show("작업이 완료되었습니다.");
                return("End");
            }
            reValue = _StockQueue.Dequeue().ToString();

            _MaxStockDate20068 = "";

            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt          = new DataTable();

            dt = kiwoomQuery.p_Opt20068Query(query: "3", STOCK_CODE: reValue, STOCK_DATE: "", bln3tier: false).Tables[0].Copy();

            if (dt.Rows.Count <= 0)
            {
                _MaxStockDate20068 = "";
            }
            else
            {
                _MaxStockDate20068 = dt.Rows[0]["MAX_STOCK_DATE"].ToString().Trim();
            }


            _seqNo = _seqNo + 1;

            return(reValue);
        }
        private void GetOpt10060Caller(Opt10060TransType opt10060TransType, string stockCode, string MaxDate, string MinDate)
        {
            if (_opt10060 != null)
            {
                _opt10060.Dispose();
                _opt10060 = null;
            }
            _opt10060 = new ClsOpt10060();
            TaskCompletionSource <bool> tcs = null;

            tcs = new TaskCompletionSource <bool>();
            if (tcs == null || tcs.Task.IsCompleted)
            {
                return;
            }

            DataTable   dtDate = new DataTable();
            KiwoomQuery kiwoom = new KiwoomQuery();

            _opt10060.SetInit(_FormId);

            switch (opt10060TransType)
            {
            case Opt10060TransType.PriceMaesu:
                WriteTextSafe(stockCode + "(" + ClsAxKH.GetMasterCodeName(stockCode) + ")" + " Price(매수)_" + _StockQueue.Count.ToString());
                ClsAxKH.AxKH_10060_OnReceived += new ClsAxKH.OnReceivedEventHandler(OnReceiveTrData_Opt10060PriceMaeSu);
                _opt10060.JustRequest(StartDate: _stdDate, StockCode: stockCode, StockName: "", AmountQtyGb: "1", MaeMaeGb: "1", UnitG: "", nPrevNext: 0);
                break;

            case Opt10060TransType.PriceMaedo:
                WaitTime();
                WriteTextSafe(stockCode + " Price(매도)_" + _StockQueue.Count.ToString());
                ClsAxKH.AxKH_10060_OnReceived += new ClsAxKH.OnReceivedEventHandler(OnReceiveTrData_Opt10060PriceMaedo);
                _opt10060.JustRequest(StartDate: _stdDate, StockCode: stockCode, StockName: "", AmountQtyGb: "1", MaeMaeGb: "2", UnitG: "", nPrevNext: 0);
                break;

            case Opt10060TransType.QtyMaesu:
                WaitTime();
                WriteTextSafe(stockCode + " QTY(매수)_" + _StockQueue.Count.ToString());
                ClsAxKH.AxKH_10060_OnReceived += new ClsAxKH.OnReceivedEventHandler(OnReceiveTrData_Opt10060MaeSu);
                _opt10060.JustRequest(StartDate: _stdDate, StockCode: stockCode, StockName: "", AmountQtyGb: "2", MaeMaeGb: "1", UnitG: "", nPrevNext: 0);
                break;

            case Opt10060TransType.QtyMaeDo:
                WaitTime();
                WriteTextSafe(stockCode + " QTY(매도)_" + _StockQueue.Count.ToString());
                ClsAxKH.AxKH_10060_OnReceived += new ClsAxKH.OnReceivedEventHandler(OnReceiveTrData_Opt10060Maedo);
                _opt10060.JustRequest(StartDate: _stdDate, StockCode: stockCode, StockName: "", AmountQtyGb: "2", MaeMaeGb: "2", UnitG: "", nPrevNext: 0);
                break;

            default:
                break;
            }

            tcs.SetResult(true);
        }
Beispiel #5
0
        private void GetOptCallMagamaData(string stdDate)
        {
            if (_dtOptCalMagam != null)
            {
                _dtOptCalMagam = null;
                _dtOptCalMagam = new DataTable();
            }

            KiwoomQuery kiwoomQuery = new KiwoomQuery();

            _dtOptCalMagam = kiwoomQuery.p_OptCaMagamOptCallQuery(query: "1", stockCode: "", optcall: "OPT10015", jobDate: "", jobIngGb: "", bln3tier: false).Tables[0].Copy();
        }
        public OptPeriod CheckValidationOptPeriod(string stockCode, string optCall)
        {
            KiwoomQuery kiwoom   = new KiwoomQuery();
            DataTable   dt       = new DataTable();
            string      strToday = DateTime.Now.ToString("yyyyMMdd");

            dt = kiwoom.p_OptCaEndMagamStockCodeQuery(query: "1", stdDate: "", stockCode: stockCode, optcall: optCall, jobDate: "", jobIngGb: "", bln3tier: false).Tables[0].Copy();

            if (dt == null)
            {
                return(OptPeriod.END_NOT_EXISTS);
            }
            else
            {
                if (Convert.ToInt32(dt.Rows[0]["CHAIN_MAX_DATE"].ToString().Trim()) >= Convert.ToInt32(AvailableTradingDate()))
                {
                    return(OptPeriod.FULL);
                }
                else
                {
                    return(OptPeriod.EMPTY);
                }
            }
        }
Beispiel #7
0
        public FrmOpt90002Caller()
        {
            InitializeComponent();

            _clsDataAccessUtil = new ClsDataAccessUtil();

            ClsAxKH.AxKH_90002_OnReceived += new ClsAxKH.OnReceivedEventHandler(Opt90002_OnReceived);

            //Func<DataTable> funcGetStockData = () =>
            //{
            //    RichQuery oRichQuery = new RichQuery();
            //    return oRichQuery.p_ScodeQuery("1", "", "", false).Tables[0].Copy();
            //};

            //_dtStockCode = funcGetStockData();

            Func <DataTable> funcGetKthGp = () =>
            {
                KiwoomQuery kiwoom = new KiwoomQuery();
                return(kiwoom.p_KthgpQuery("1", "", "", false).Tables[0].Copy());
            };

            _dtKthgp = funcGetKthGp();

            proBar90002.Maximum = _dtKthgp.Rows.Count;

            foreach (DataRow dr in _dtKthgp.Rows)
            {
                _StockQueue.Enqueue(dr["KTH_CODE"].ToString());
            }


            //_dt = new DataTable();
            ///// 999 - 코스피, 코스닥
            //_dt = _clsGetKoaStudioMethod.GetCodeListByMarketCallBackDataTable("0").Copy();
        }
Beispiel #8
0
        private void GetThemaByStockCode()
        {
            RichQuery   richQuery   = new RichQuery();
            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt4         = new DataTable();
            string      strMaxDate  = richQuery.p_TDATEQuery(query: "2", tradeDate: "", fromDate: "", toDate: "", bln3tier: false).Tables[0].Rows[0]["MAX_TRADE_DATE"].ToString();

            richQuery = null;
            richQuery = new RichQuery();

            DataTable dt  = richQuery.p_ThemaQuery(query: "1", THEMA_CODE: lblThema.Text, TGPSEQ_NO: lblThemaGroup.Text, THEMA_NAME: "", WORK_ID: "", bln3tier: false).Tables[0].Copy();
            int       row = 0;

            _clsDataGridViewUtil.RemoveGridViewRow(dgvThemaPerStock);

            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    dgvThemaPerStock.Rows.Add();

                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_THEMA_NAME"].Value = dr["THEMA_NAME"].ToString().Trim();
                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_STOCK_NAME"].Value = dr["STOCK_NAME"].ToString().Trim();
                    dgvThemaPerStock.Rows[row].Cells["ThemaByStock_STOCK_CODE"].Value = dr["STOCK_CODE"].ToString().Trim();

                    dt4 = kiwoomQuery.p_StockCodeOptInfoQuery(query: "1", stockCode: dr["STOCK_CODE"].ToString().Trim(), stockDate: "", bln3tier: false).Tables[0].Copy();

                    if (dt4 != null)
                    {
                        if (dt4.Rows.Count > 0)
                        {
                            if (_firstCall == false)
                            {
                                foreach (DataColumn dc in dt4.Columns)
                                {
                                    System.Windows.Forms.DataGridViewColumn dgvColumn = new System.Windows.Forms.DataGridViewColumn();
                                    System.Windows.Forms.DataGridViewCell   cell      = new System.Windows.Forms.DataGridViewTextBoxCell();

                                    if (dc.ColumnName.ToString() == "STOCK_CODE" || dc.ColumnName.ToString() == "CALL_TIME")
                                    {
                                        continue;
                                    }

                                    if (dc.ColumnName.ToString() == "CALL_DATE")
                                    {
                                        dgvColumn.CellTemplate = cell;
                                        dgvColumn.HeaderText   = "기준일자";
                                        dgvColumn.Name         = "OPT10001_CALL_DATE";

                                        dgvThemaPerStock.Columns.Add(dgvColumn);

                                        dgvColumn = null;

                                        dgvColumn = new DataGridViewColumn();

                                        dgvColumn.CellTemplate = cell;
                                        dgvColumn.HeaderText   = "대금대비시총";
                                        dgvColumn.Name         = "대금대비시총";

                                        dgvThemaPerStock.Columns.Add(dgvColumn);

                                        continue;
                                    }


                                    dgvColumn.CellTemplate = cell;
                                    dgvColumn.HeaderText   = dc.ColumnName.ToString();
                                    dgvColumn.Name         = dc.ColumnName.ToString();

                                    dgvThemaPerStock.Columns.Add(dgvColumn);
                                }

                                _firstCall = true;
                            }

                            foreach (DataColumn dc in dt4.Columns)
                            {
                                if (dc.ColumnName.ToString() == "STOCK_CODE" || dc.ColumnName.ToString() == "CALL_TIME")
                                {
                                    continue;
                                }

                                if (dc.ColumnName.ToString() == "CALL_DATE")
                                {
                                    dgvThemaPerStock.Rows[row].Cells["OPT10001_CALL_DATE"].Value = dt4.Rows[0][dc.ColumnName.ToString()].ToString();
                                }
                                else
                                {
                                    dgvThemaPerStock.Rows[row].Cells[columnName : dc.ColumnName.ToString()].Value = dt4.Rows[0][dc.ColumnName.ToString()].ToString();
                                }
                            }
                        }
                    }

                    dt = null;
                    dt = new DataTable();

                    row = row + 1;
                }
                SetDataGridView();
            }
        }
        private string GetStockCode()
        {
            string reValue;

            _NoJob10015 = false;
            _NoJob10060 = false;
            _NoJob10081 = false;

            if (_StockQueue.Count == 0)
            {
                MessageBox.Show("작업이 완료되었습니다.");
                return("End");
            }
            reValue = _StockQueue.Dequeue().ToString();

            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt          = new DataTable();

            dt = kiwoomQuery.p_Opt10015Query("3", reValue.ToString().Trim(), "", "", "", false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["MAX_STOCK_DATE"].ToString().Trim() != "" && dt.Rows[0]["MIN_STOCK_DATE"].ToString().Trim() != "")
                {
                    if (dt.Rows[0]["MAX_STOCK_DATE"].ToString().Trim() == _stdDate && Convert.ToInt16(dt.Rows[0]["MIN_STOCK_DATE"].ToString().Trim()) < Convert.ToInt16(_minDate))
                    {
                        _NoJob10015 = true;
                    }
                }
            }

            dt = null;

            dt = kiwoomQuery.p_Opt10060MinMaxQuery("1", reValue.ToString().Trim(), "", "", false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["MAESU_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MEADO_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MAESU_QTY"].ToString().Trim() != "19990101" && dt.Rows[0]["MAEDO_QTY"].ToString().Trim() != "19990101")
                {
                    if (dt.Rows[0]["MAESU_PRICE"].ToString().Trim() != _stdDate && dt.Rows[0]["MEADO_PRICE"].ToString().Trim() != _stdDate && dt.Rows[0]["MAESU_QTY"].ToString().Trim() != _stdDate && dt.Rows[0]["MAEDO_QTY"].ToString().Trim() != _stdDate)
                    {
                        _NoJob10060 = true;
                    }
                }
            }

            dt = null;

            dt = kiwoomQuery.p_Opt10060MinMaxQuery("2", reValue.ToString().Trim(), "", "", false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["MAESU_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MEADO_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MAESU_QTY"].ToString().Trim() != "19990101" && dt.Rows[0]["MAEDO_QTY"].ToString().Trim() != "19990101")
                {
                    if (Convert.ToInt16(dt.Rows[0]["MAESU_PRICE"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MEADO_PRICE"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MAESU_QTY"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MAEDO_QTY"].ToString().Trim()) < Convert.ToInt16(_minDate))
                    {
                        _NoJob10060 = true;
                    }
                }
            }

            dt = null;

            dt = kiwoomQuery.p_Opt10060MinMaxQuery("2", reValue.ToString().Trim(), "", "", false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["MAESU_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MEADO_PRICE"].ToString().Trim() != "19990101" && dt.Rows[0]["MAESU_QTY"].ToString().Trim() != "19990101" && dt.Rows[0]["MAEDO_QTY"].ToString().Trim() != "19990101")
                {
                    if (Convert.ToInt16(dt.Rows[0]["MAESU_PRICE"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MEADO_PRICE"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MAESU_QTY"].ToString().Trim()) < Convert.ToInt16(_minDate) && Convert.ToInt16(dt.Rows[0]["MAEDO_QTY"].ToString().Trim()) < Convert.ToInt16(_minDate))
                    {
                        _NoJob10060 = true;
                    }
                }
            }

            dt = null;

            dt = kiwoomQuery.p_Opt10081MinMaxQuery("3", reValue.ToString().Trim(), "", false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["MAX_STOCK_DATE"].ToString().Trim() != "" && dt.Rows[0]["MIN_STOCK_DATE"].ToString().Trim() != "")
                {
                    if (dt.Rows[0]["MAX_STOCK_DATE"].ToString().Trim() == _stdDate && Convert.ToInt16(dt.Rows[0]["MIN_STOCK_DATE"].ToString().Trim()) < Convert.ToInt16(_minDate))
                    {
                        _NoJob10081 = true;
                    }
                }
            }

            dt = null;

            return(reValue);
        }
Beispiel #10
0
        private void GetOpt10060Caller(string strStockCode)
        {
            switch (strStockCode)
            {
            case "Finish":
            {
                MessageBox.Show("작업이 완료되었습니다.");
                return;
            }

            case "None":
            {
                MessageBox.Show("작업할 내역이 없습니다.");
                return;
            }

            case "":
            {
                MessageBox.Show("작업이 완료되었습니다.");
                return;
            }

            default:
                break;
            }

            _LastPsDate = "";
            _LastPdDate = "";
            _LastQsDate = "";
            _LastQdDate = "";

            _FirstPsDate = "";
            _FirstPdDate = "";
            _FirstQsDate = "";
            _FirstQdDate = "";

            bool      blnChk = false;
            DataTable dtDate = new DataTable();

            Func <DataTable> funcOpt10060MaxQuery = () =>
            {
                KiwoomQuery kiwoomQuery = new KiwoomQuery();
                return(kiwoomQuery.p_Opt10060MinMaxQuery("1", strStockCode, "", "", false).Tables[0].Copy());
            };

            Func <DataTable> funcOpt10060MinQuery = () =>
            {
                KiwoomQuery kiwoomQuery = new KiwoomQuery();
                return(kiwoomQuery.p_Opt10060MinMaxQuery("2", strStockCode, "", "", false).Tables[0].Copy());
            };

            dtDate = funcOpt10060MaxQuery();

            if (dtDate != null)
            {
                // 한개라도 작업을 돌리게 있으면 돌려라.
                if (Convert.ToInt32(_stdDate) > Convert.ToInt32(dtDate.Rows[0]["MAESU_PRICE"].ToString()))
                {
                    blnChk = true;
                }
                if (Convert.ToInt32(_stdDate) > Convert.ToInt32(dtDate.Rows[0]["MEADO_PRICE"].ToString()))
                {
                    blnChk = true;
                }
                if (Convert.ToInt32(_stdDate) > Convert.ToInt32(dtDate.Rows[0]["MAESU_QTY"].ToString()))
                {
                    blnChk = true;
                }
                if (Convert.ToInt32(_stdDate) > Convert.ToInt32(dtDate.Rows[0]["MAEDO_QTY"].ToString()))
                {
                    blnChk = true;
                }

                _LastPsDate = dtDate.Rows[0]["MAESU_PRICE"].ToString();
                _LastPdDate = dtDate.Rows[0]["MEADO_PRICE"].ToString();
                _LastQsDate = dtDate.Rows[0]["MAESU_QTY"].ToString();
                _LastQdDate = dtDate.Rows[0]["MAEDO_QTY"].ToString();
            }

            // 기준일자보다 크므로 작업할게 없다.
            if (blnChk == false)
            {
                dtDate = null;
                dtDate = new DataTable();
                return;
            }

            dtDate = null;
            dtDate = new DataTable();

            dtDate = funcOpt10060MinQuery();

            if (dtDate != null)
            {
                _FirstPsDate = dtDate.Rows[0]["MAESU_PRICE"].ToString();
                _FirstPdDate = dtDate.Rows[0]["MEADO_PRICE"].ToString();
                _FirstQsDate = dtDate.Rows[0]["MAESU_QTY"].ToString();
                _FirstQdDate = dtDate.Rows[0]["MAEDO_QTY"].ToString();
            }

            dtDate = null;

            ExecPs(stockCode: strStockCode);
        }
        private void GetOptStockInfo(string stockCode)
        {
            if (stockCode == null)
            {
                return;
            }

            if (stockCode == "")
            {
                return;
            }
            KiwoomQuery kiwoomQuery = new KiwoomQuery();
            DataTable   dt          = new DataTable();

            ClsCollectOptDataFunc clsCollectOptDataFunc = new ClsCollectOptDataFunc();
            string stdDate = clsCollectOptDataFunc.AvailableTradingDate();

            dt = kiwoomQuery.p_StockCodeOptInfoQuery(query: "1", stockCode: stockCode, stockDate: stdDate, bln3tier: false).Tables[0].Copy();

            if (dt.Rows.Count > 0)
            {
                dgvStockInfo.Rows.Add();

                DataRow dr = dt.Rows[0];

                dgvStockInfo.Rows[_row].Cells["STOCK_CODE"].Value = dr["STOCK_CODE"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["종목명"].Value        = ClsAxKH.GetMasterCodeName(dr["STOCK_CODE"].ToString().Trim());
                dgvStockInfo.Rows[_row].Cells["현재가"].Value        = dr["현재가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["거래량"].Value        = dr["거래량"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["거래대금"].Value       = dr["거래대금"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["시가"].Value         = dr["시가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["고가"].Value         = dr["고가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["저가"].Value         = dr["저가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["기준일"].Value        = dr["CALL_DATE"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["결산월"].Value        = dr["결산월"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["액면가"].Value        = dr["액면가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["자본금"].Value        = dr["자본금"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["상장주식"].Value       = dr["상장주식"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["신용비율"].Value       = dr["신용비율"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["연중최고"].Value       = dr["연중최고"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["연중최저"].Value       = dr["연중최저"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["시가총액"].Value       = dr["시가총액"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["시가총액비중"].Value     = dr["시가총액비중"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["외인소진률"].Value      = dr["외인소진률"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["대용가"].Value        = dr["대용가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["PER"].Value        = dr["PER"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["EPS"].Value        = dr["EPS"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["ROE"].Value        = dr["ROE"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["PBR"].Value        = dr["PBR"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["EV"].Value         = dr["EV"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["BPS"].Value        = dr["BPS"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["매출액"].Value        = dr["매출액"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["영업이익"].Value       = dr["영업이익"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["당기순이익"].Value      = dr["당기순이익"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최고250"].Value      = dr["최고250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최저250"].Value      = dr["최저250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최고가일250"].Value    = dr["최고가일250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최고가대비율250"].Value  = dr["최고가대비율250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최저가일250"].Value    = dr["최저가일250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["최저가대비율250"].Value  = dr["최저가대비율250"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["유통주식"].Value       = dr["유통주식"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["유통비율"].Value       = dr["유통비율"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["종가"].Value         = dr["종가"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["전일대비기호"].Value     = dr["전일대비기호"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["전일대비"].Value       = dr["전일대비"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["등락율"].Value        = dr["등락율"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["거래량"].Value        = dr["거래량"].ToString().Trim();
                dgvStockInfo.Rows[_row].Cells["거래대금"].Value       = dr["거래대금"].ToString().Trim();
                dgvStockInfo.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

                _row = _row + 1;
            }

            dt = null;
        }