Exemplo n.º 1
0
        //수동주문 진입청산 값 수정
        public int clearUpdate(TradingHistoryVo dataLogVo)
        {
            int result = 0;

            using (var conn = new SQLiteConnection(connStr))
            {
                conn.Open();

                StringBuilder sb = new StringBuilder();
                sb.Append("UPDATE trading  SET targClearPrc  = '" + dataLogVo.targClearPrc + "'  "); //목표청산가격
                sb.Append("                   ,secEntPrc     = '" + dataLogVo.secEntPrc + "'  ");    //2차진입가격 - 이값이 설정되어있지않으면 2차진입이 실행 되었거나 설정을 안한 케이스.
                sb.Append("                   ,secEntAmt     = '" + dataLogVo.secEntAmt + "'  ");    //2차진입비중금액
                sb.Append("                   ,stopPrc       = '" + dataLogVo.stopPrc + "'  ");      //손절 가격
                sb.Append("WHERE accno = '" + mainForm.account + "'                              "); //계좌번호
                sb.Append("AND   Isuno = '" + dataLogVo.Isuno + "'                               "); //종목코드
                SQLiteCommand sqlCmd = new SQLiteCommand(sb.ToString(), conn);

                result = sqlCmd.ExecuteNonQuery();

                sqlCmd.Dispose();
                conn.Close();
                conn.Dispose();
            }
            return(result);
        }
Exemplo n.º 2
0
        }//btn_exclWatch_Click END

        //감시제외 대상을 감시대상으로
        private void btn_exclWatchRollback_Click(object sender, EventArgs e)
        {
            EBindingList <T0424Vo> t0424VoList = this.xing_t0424.getT0424VoList();

            String expcode; //종목코드
            int    findIndex;

            for (int i = 0; i < this.grd_t0424Excl.RowCount; i++)
            {
                if (this.grd_t0424Excl.Rows[i].Cells["grd_t0424_excl_check"].FormattedValue.ToString() == "True")
                {
                    expcode = this.grd_t0424Excl.Rows[i].Cells["e_expcode"].Value.ToString(); //종목코드

                    //감시제외 상태 업데이트.
                    TradingHistoryVo tradingHistoryVo = new TradingHistoryVo();
                    tradingHistoryVo.accno       = this.account;
                    tradingHistoryVo.Isuno       = expcode;
                    tradingHistoryVo.exclWatchAt = "N";

                    //감시여부 상태 업데이트 호출
                    this.tradingHistory.watchUpdate(tradingHistoryVo);

                    //0424그리드값을 미리 N으로 업데이트해줘야 바로 제외그리드에서 삭제가 된다.
                    findIndex = t0424VoList.Find("expcode", expcode);
                    this.grd_t0424.Rows[findIndex].Cells["c_exclWatchAt"].Value = 'N';
                }
            }
            this.tradingHistory.dbSync();

            //2.감시제외종목 그리드 동기화
            xing_t0424.exclWatchSync();
        }
Exemplo n.º 3
0
        //읽기
        public DataTable read(TradingHistoryVo dataLogVo)
        {
            DataTable dt = new DataTable();
            //string connStr = @"Data Source=C:\Temp\mydb.db";
            //SQLiteDataAdapter 클래스를 이용 비연결 모드로 데이타 읽기기
            //string sql = "SELECT * FROM member";

            //쿼리정의
            StringBuilder sb = new StringBuilder();

            sb.Append("SELECT  ordno                                ");
            sb.Append("       ,dt                                   "); //일시
            sb.Append("       ,accno                                "); //계좌번호
            sb.Append("       ,Isuno                                "); //종목코드
            sb.Append("       ,Isunm                                "); //종목명
            sb.Append("       ,ordptncode                           "); //주문구분 01:매도|02:매수
            sb.Append("       ,ordqty                               "); //주문수량
            sb.Append("       ,execqty                              "); //체결수량
            sb.Append("       ,ordprc                               "); //주문가격
            sb.Append("       ,execprc                              "); //체결가격
            sb.Append("       ,ordptnDetail                         "); //상세 주문구분 신규매수|반복매수|금일매도|청산|
            sb.Append("       ,upOrdno                              "); //상위 매수 주문번호 -값이없으면 자신의 주문번호로 넣는다.
            sb.Append("       ,upExecprc                            "); //상위체결금액
            sb.Append("       ,sellOrdAt                            "); //매도주문 여부 YN default:N 금일매도일때 의미있다.
            sb.Append("       ,cancelOrdAt                          "); //매도주문 여부
            sb.Append("       ,useYN                                "); //사용여부

            sb.Append("       ,ordermtd                             "); //주문매체
            sb.Append("       ,targClearPrc                         "); //목표청산가격
            sb.Append("       ,secEntPrc                            "); //2차진입가격 - 이값이 설정되어있지않으면 2차진입이 실행 되었거나 설정을 안한 케이스.
            sb.Append("       ,secEntAmt                            "); //2차진입비중금액
            sb.Append("       ,stopPrc                              "); //손절
            sb.Append("       ,exclWatchAt                          "); //감시제외여부
            sb.Append("       ,searchNm                          ");    //검색조건 이름
            sb.Append("       ,maxHisRt                          ");    //최대도달 수익율
            sb.Append("       ,minHisRt                          ");    //최소도달 수익율

            sb.Append("FROM  trading                                "); //사용여부
            sb.Append("WHERE ordno = '" + dataLogVo.ordno + "'      "); //주문번호
            sb.Append("AND   Isuno = '" + dataLogVo.Isuno + "'      "); //종목코드
            sb.Append("AND   accno = '" + dataLogVo.accno + "'      "); //계좌번호

            var adpt = new SQLiteDataAdapter(sb.ToString(), connStr);

            adpt.Fill(dt);
            return(dt);
        }
Exemplo n.º 4
0
        //감시제외.
        private void btn_exclWatch_Click(object sender, EventArgs e)
        {
            String expcode; //종목코드
            String hname;   //종목명
            String orderAt; //매도주문여부

            //EBindingList<T0424Vo> t0424VoList = ((EBindingList<T0424Vo>)this.grd_t0424.DataSource);
            for (int i = 0; i < grd_t0424.RowCount; i++)
            {
                if (this.grd_t0424.Rows[i].Cells["grd_t0424_check"].FormattedValue.ToString() == "True")
                {
                    //{
                    //선택된 종목이 이미 매도주문이 나간 상태인지 체크하는 부분이 없다.(청산 관련 매도주문에는 DataLog 를 참조하지 않고 t0424를 참조한다.

                    expcode = this.grd_t0424.Rows[i].Cells["c_expcode"].Value.ToString();   //종목코드
                    orderAt = this.grd_t0424.Rows[i].Cells["orderAt"].Value.ToString();     //매도주문여부
                    hname   = this.grd_t0424.Rows[i].Cells["c_hname"].Value.ToString();     //매도주문여부

                    //주문여부
                    if (orderAt == "N")
                    {
                        //감시제외 상태 업데이트.
                        TradingHistoryVo tradingHistoryVo = new TradingHistoryVo();
                        tradingHistoryVo.accno       = this.account;
                        tradingHistoryVo.Isuno       = expcode;
                        tradingHistoryVo.exclWatchAt = "Y";

                        this.tradingHistory.watchUpdate(tradingHistoryVo);
                    }
                    else
                    {
                        //이미 매도주문 실행 종목
                        MessageBox.Show(hname + "이미 매도주문이 이루어 졌습니다.");
                    }
                    //미리 Y로 해야 제외그리드로 바로 이동한다.
                    this.grd_t0424.Rows[i].Cells["c_exclWatchAt"].Value = 'Y';
                    //체크박스 초기화.
                    this.grd_t0424.Rows[i].Cells["grd_t0424_check"].Value = false;
                }
            }//grd_t0424 for END

            //DB -> 메모리 리스트 동기화
            this.tradingHistory.dbSync();
            //감시제외종목 동기화
            xing_t0424.exclWatchSync();
        }//btn_exclWatch_Click END
Exemplo n.º 5
0
        //목표 설정및 손절 청산 저장
        private void btn_exclWatchSave_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.grd_t0424Excl.RowCount; i++)
            {
                //감시제외 상태 업데이트.
                TradingHistoryVo tradingHistoryVo = new TradingHistoryVo();
                tradingHistoryVo.accno        = this.account;
                tradingHistoryVo.Isuno        = this.grd_t0424Excl.Rows[i].Cells["e_expcode"].FormattedValue.ToString().Replace("A", "");      //종목코드;
                tradingHistoryVo.targClearPrc = this.grd_t0424Excl.Rows[i].Cells["e_targClearPrc"].FormattedValue.ToString().Replace(",", ""); //목표청산가격
                tradingHistoryVo.secEntPrc    = this.grd_t0424Excl.Rows[i].Cells["e_secEntPrc"].FormattedValue.ToString().Replace(",", "");    //2차진입가격
                tradingHistoryVo.secEntAmt    = this.grd_t0424Excl.Rows[i].Cells["e_secEntAmt"].FormattedValue.ToString().Replace(",", "");    //2차진입비중가격
                tradingHistoryVo.stopPrc      = this.grd_t0424Excl.Rows[i].Cells["e_stopPrc"].FormattedValue.ToString().Replace(",", "");      //손절가격

                //감시여부 상태 업데이트 호출
                this.tradingHistory.clearUpdate(tradingHistoryVo);
            }
            this.tradingHistory.dbSync();
            MessageBox.Show("감시가격을 저장하였습니다.");
        }
Exemplo n.º 6
0
        //취소주문 상태업데이트-종목일괄적용
        public int cancelOrdAtUpdate(TradingHistoryVo dataLogVo)
        {
            int result = 0;

            using (var conn = new SQLiteConnection(connStr))
            {
                conn.Open();

                StringBuilder sb = new StringBuilder();
                sb.Append("UPDATE trading SET cancelOrdAt = '" + dataLogVo.cancelOrdAt + "'  "); //체결수량
                sb.Append("WHERE  Isuno = '" + dataLogVo.Isuno + "'   ");                        //종목코드
                sb.Append("AND    accno = '" + mainForm.account + "'   ");                       //계좌번호
                SQLiteCommand sqlCmd = new SQLiteCommand(sb.ToString(), conn);
                //Log.WriteLine(sb.ToString());
                result = sqlCmd.ExecuteNonQuery();

                sqlCmd.Dispose();
                conn.Close();
                conn.Dispose();
            }

            return(result);
        }
Exemplo n.º 7
0
        }//histoySync END

        //종목매수 정보를 이력 DB에 저장
        public void t0424VoToHistoryInsert(T0424Vo t0424Vo, String index)
        {
            //이력정보가 없으면 이력정보를 등록해준다.
            t0424Vo.expcode.Replace("A", "");
            //t0424Vo.pamt2 = t0424Vo.pamt;    //평균단가2
            t0424Vo.sellCnt = "0"; //매도 횟수.
            t0424Vo.buyCnt  = "1"; //매수 횟수
            //t0424Vo.sellSunik = "0";//중간매도손익
            /////////////////////////DB 신규저장/////////////////////////////

            TradingHistoryVo dataLogVo = new TradingHistoryVo();

            dataLogVo.ordno        = "I" + DateTime.Now.ToString("yyMMddHHmmss") + index; //주문번호
            dataLogVo.dt           = DateTime.Now.ToString("yyyyMMddHHmmss");
            dataLogVo.accno        = mainForm.account;                                    //계좌번호
            dataLogVo.ordptncode   = "02";                                                //주문구분 01:매도|02:매수
            dataLogVo.Isuno        = t0424Vo.expcode.Replace("A", "");                    //종목코드
            dataLogVo.ordqty       = t0424Vo.mdposqt.ToString();                          //주문수량 - 매도가능수량
            dataLogVo.execqty      = t0424Vo.mdposqt.ToString();                          //체결수량 - 매도가능수량
            dataLogVo.ordprc       = t0424Vo.pamt.ToString();                             //주문가격 - 평균단가
            dataLogVo.execprc      = t0424Vo.pamt.ToString();                             //체결가격 - 평균단가
            dataLogVo.Isunm        = t0424Vo.hname;                                       //종목명
            dataLogVo.ordptnDetail = "동기화";                                               //상세 주문구분 신규매수|반복매수|금일매도|청산
            dataLogVo.upOrdno      = dataLogVo.ordno;                                     //상위 매수 주문번호 -값이없으면 자신의 주문번호로 넣는다.
            dataLogVo.upExecprc    = "0";                                                 //상위체결가격
            dataLogVo.sellOrdAt    = "N";                                                 //매도주문 여부 YN default:N     -02:매 일때만 값이 있어야한다.
            dataLogVo.useYN        = "Y";                                                 //사용여부

            dataLogVo.ordermtd = "XING API";

            //2.DB에 해당 주문 정보가 없을때 처리해줘야한다. volist로 변경후 테스트한후에 필요하면 처리로직 추가해주자.
            mainForm.tradingHistory.insert(dataLogVo); //쿼리 호출
            //mainForm.tradingHistory.getTradingHistoryVoList().Add(dataLogVo);
            //mainForm.dataLog.dbSync();
            Log.WriteLine("t0424::최초 이력 등록" + t0424Vo.hname + "(" + t0424Vo.expcode + ") . ");
            //프로그램 최초에만 동작해야 하는데 신규매수 매도시 이력 등록이 잘 안된다는 뜻이다.
        }
Exemplo n.º 8
0
        //public DataTable getHistoryDataTable()
        //{
        //    return this.historyDataTable;
        //}



        //등록
        public int insert(TradingHistoryVo dataLogVo)
        {
            int result = 0;

            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connStr))
                {
                    conn.Open();
                    StringBuilder sb = new StringBuilder();
                    sb.Append("insert into trading          ( ordno                                          ");
                    sb.Append("                             ,dt                                             ");                      //일시
                    sb.Append("                             ,accno                                          ");                      //계좌번호
                    sb.Append("                             ,Isuno                                          ");                      //종목코드
                    sb.Append("                             ,Isunm                                          ");                      //종목명
                    sb.Append("                             ,ordptncode                                     ");                      //주문구분 01:매도|02:매수
                    sb.Append("                             ,ordqty                                         ");                      //주문수량
                    sb.Append("                             ,execqty                                        ");                      //체결수량
                    sb.Append("                             ,ordprc                                         ");                      //주문가격
                    sb.Append("                             ,execprc                                        ");                      //체결가격
                    sb.Append("                             ,ordptnDetail                                   ");                      //상세 주문구분 신규매수|반복매수|금일매도|청산|
                    sb.Append("                             ,upOrdno                                        ");                      //상위 매수 주문번호 -값이없으면 자신의 주문번호로 넣는다.
                    sb.Append("                             ,upExecprc                                      ");                      //상위체결금액
                    sb.Append("                             ,sellOrdAt                                      ");                      //매도주문 여부 YN default:N 금일매도일때 의미있다.
                    sb.Append("                             ,cancelOrdAt                                    ");                      //취소주문 여부 YN
                    sb.Append("                             ,ordermtd                                       ");                      //주문매체
                    sb.Append("                             ,searchNm                                        ");                     //검색조건 이름
                    sb.Append("                             ,maxHisRt                                       ");                      //최대도달 수익율
                    sb.Append("                             ,minHisRt                                       ");                      //최소도달 수익율
                    sb.Append("                             ,exclWatchAt                                    ");                      //감시제외여부
                    sb.Append("                             ,useYN ) VALUES(                                ");                      //사용여부

                    sb.Append("                                         '" + dataLogVo.ordno + "'  ");                               //주문번호
                    sb.Append("                                         ,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'  "); //일시
                    sb.Append("                                         ,'" + dataLogVo.accno + "'  ");                              //계좌번호
                    sb.Append("                                         ,'" + dataLogVo.Isuno + "'  ");                              //종목코드
                    sb.Append("                                         ,'" + dataLogVo.Isunm + "'  ");                              //종목명
                    sb.Append("                                         ,'" + dataLogVo.ordptncode + "'  ");                         //주문구분 01:매도|02:매수
                    sb.Append("                                         ,'" + dataLogVo.ordqty + "'  ");                             //주문수량
                    sb.Append("                                         ,'" + dataLogVo.execqty + "'  ");                            //체결수량
                    sb.Append("                                         ,'" + dataLogVo.ordprc + "'  ");                             //주문가격
                    sb.Append("                                         ,'" + dataLogVo.execprc + "'  ");                            //체결가격
                    sb.Append("                                         ,'" + dataLogVo.ordptnDetail + "'  ");                       //상세 주문구분 신규매수|반복매수|금일매도|청산|
                    sb.Append("                                         ,'" + dataLogVo.upOrdno + "'  ");                            //상위 매수 주문번호 -값이없으면 자신의 주문번호로 넣는다.
                    sb.Append("                                         ,'" + dataLogVo.upExecprc + "'  ");                          //상위체결금액
                    sb.Append("                                         ,'" + dataLogVo.sellOrdAt + "'  ");                          //매도주문 여부 YN default:N 금일매도일때 의미있다.
                    sb.Append("                                         ,'" + dataLogVo.cancelOrdAt + "'  ");                        //매도주문 여부 YN
                    sb.Append("                                         ,'" + dataLogVo.ordermtd + "'  ");                           //주문매체
                    sb.Append("                                         ,'" + dataLogVo.searchNm + "'  ");                           //검색조건 이름
                    sb.Append("                                         ,'0'                                  ");                    //최대도달 수익율
                    sb.Append("                                         ,'0'                                  ");                    //최소도달 수익율
                    sb.Append("                                         ,'" + dataLogVo.exclWatchAt + "'  ");                        //감시여부
                    sb.Append("                                         ,'" + dataLogVo.useYN + "' )");                              //사용여부

                    SQLiteCommand sqlCmd = new SQLiteCommand(sb.ToString(), conn);
                    result = sqlCmd.ExecuteNonQuery();

                    sqlCmd.Dispose();
                    conn.Close();
                    conn.Dispose();
                }
                dbSync();
            }
            catch (Exception e)
            {
                mainForm.log(e.Message);
                Log.WriteLine("t0424 : " + e.StackTrace);
            }
            return(result);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 데이터 응답 처리
        /// </summary>
        /// <param name="szTrCode">조회코드</param>
        void receiveDataEventHandler(string szTrCode)
        {
            //4.주문처리유형코드,ordtrxptncode,
            // 0    정상
            //6    정정확인
            //7    정정거부(채권)
            //8    취소확인
            //9    취소거부(채권)

            realSc1Vo.ordno         = base.GetFieldData("OutBlock", "ordno");      //주문번호
            realSc1Vo.ordptncode    = base.GetFieldData("OutBlock", "ordptncode"); //주문구분 01:매도|02:매수
            realSc1Vo.ordtrxptncode = base.GetFieldData("OutBlock", "ordptncode"); // 0:정상|6:정정확인 |7:정정거부(채권) |8:취소확인 |9:취소거부(채권)
            realSc1Vo.Isuno         = base.GetFieldData("OutBlock", "shtnIsuno");  //종목코드
            realSc1Vo.Isunm         = base.GetFieldData("OutBlock", "Isunm");      //종목명
            realSc1Vo.ordqty        = base.GetFieldData("OutBlock", "ordqty");     //ordqty//주문수량
            realSc1Vo.ordprc        = base.GetFieldData("OutBlock", "ordprc");     //ordprc//주문가격
            realSc1Vo.execqty       = base.GetFieldData("OutBlock", "execqty");    //execqty//체결수량
            realSc1Vo.execprc       = base.GetFieldData("OutBlock", "execprc");    //execprc//체결가격
            realSc1Vo.avrpchsprc    = base.GetFieldData("OutBlock", "avrpchsprc"); //평균매입가 -실서버에서 제공하지 않는필드
            realSc1Vo.pchsant       = base.GetFieldData("OutBlock", "pchsant");    //매입금액  -실서버에서 제공하지 않는필드
            realSc1Vo.accno         = base.GetFieldData("OutBlock", "accno");      //계좌번호

            //1.주문체결유형코드,ordxctptncode
            // 01                   주문
            //02                   정정
            //03                   취소
            //11                   체결
            //12                   정정확인
            //13                   취소확인
            //14                   거부

            mainForm.log("Real:" + realSc1Vo.Isunm + ">" + realSc1Vo.execqty + "주 체결<ordtrxptncode:" + realSc1Vo.ordtrxptncode + ">");

            //int tmpindex = mainForm.tradingHistory.getTradingHistoryVoList().Find("ordno", realSc1Vo.ordno);
            var items = from item in mainForm.tradingHistory.getTradingHistoryDt().AsEnumerable()
                        where item["ordno"].ToString() == realSc1Vo.ordno &&
                        item["Isuno"].ToString() == realSc1Vo.Isuno.Replace("A", "") &&
                        item["accno"].ToString() == mainForm.account
                        //&& item["useYN"].ToString() == "Y"
                        select item;

            //매매이력이없으면 등록해줘야한다.
            if (items.Count() > 0)
            {
                //기존체결수량+체결수량
                items.First()["execqty"] = (int.Parse(items.First()["execqty"].ToString()) + int.Parse(realSc1Vo.execqty)).ToString();
                items.First()["execprc"] = realSc1Vo.execprc.Replace(",", "");//체결가격
                //items.First()["Isunm"] = realSc1Vo.Isunm;
                //dataLogVo.sellOrdAt = "Y";
                //item.Isunm = realSc1Vo.Isunm;//하루확인후 필요하면 주석풀자.
                mainForm.tradingHistory.execqtyUpdate(items.First());//매도주문 여부 상태 업데이트
            }
            else
            {
                //데이타로그에 저장
                //public class dataLogVo
                TradingHistoryVo dataLogVo = new TradingHistoryVo();
                dataLogVo.ordno        = realSc1Vo.ordno;                  //주문번호
                dataLogVo.accno        = mainForm.account;                 //계좌번호
                dataLogVo.ordptncode   = realSc1Vo.ordptncode;             //주문구분 01:매도|02:매수
                dataLogVo.Isuno        = realSc1Vo.Isuno.Replace("A", ""); //종목코드
                dataLogVo.ordqty       = realSc1Vo.ordqty;                 //주문수량
                dataLogVo.execqty      = realSc1Vo.execqty;                //체결수량
                dataLogVo.ordprc       = realSc1Vo.ordprc;                 //주문가격
                dataLogVo.execprc      = realSc1Vo.execprc;                //체결가격
                dataLogVo.Isunm        = realSc1Vo.Isunm;                  //종목명
                dataLogVo.ordptnDetail = "수동매수";                           //상세 주문구분 신규매수|반복매수|금일매도|청산
                dataLogVo.upExecprc    = "0";                              //상위체결가격
                dataLogVo.sellOrdAt    = "N";                              //매도주문 여부 YN default:N     -02:매 일때만 값이 있어야한다.
                dataLogVo.useYN        = "Y";                              //사용여부
                dataLogVo.ordermtd     = "HTS";                            //주문 매체
                dataLogVo.upOrdno      = realSc1Vo.ordno;                  //상위 주문번호
                dataLogVo.exclWatchAt  = "Y";                              //감시제외여부 : 자동매수가 아닌것은 기본으로 감시제외시킨다.

                //주문정보를 주문이력 DB에 저장 - dataInsert호출
                mainForm.tradingHistory.insert(dataLogVo);
                ////mainForm.tradingHistory.getTradingHistoryVoList().Add(dataLogVo);
            }

            //실시간 매도가능수량 업데이트(3초마다업데이트되어서 안해줘도되는데...) ->매도가 이루어지면 실시간으로 매도가능수량을 적용해주자.
            EBindingList <T0424Vo> t0424VoList = mainForm.xing_t0424.getT0424VoList();
            int    findIndex = t0424VoList.Find("expcode", realSc1Vo.Isuno.Replace("A", ""));
            Double 매도가능수     = 0;

            if (findIndex >= 0)
            {
                //mainForm.grd_t0424.Rows[findIndex].Cells["c_mdposqt"].Style.BackColor = Color.Gray;
                //매도 - 매도가능수량-체결수량
                if (realSc1Vo.ordptncode == "01")
                {
                    매도가능수 = t0424VoList.ElementAt(findIndex).mdposqt - int.Parse(realSc1Vo.execqty);
                }
                else if (realSc1Vo.ordptncode == "02")    //매수 - 매도가능수량+체결수량
                {
                    매도가능수 = t0424VoList.ElementAt(findIndex).mdposqt + int.Parse(realSc1Vo.execqty);
                }
                mainForm.grd_t0424.Rows[findIndex].Cells["c_mdposqt"].Value = 매도가능수.ToString();


                //매도가능수량이 0보다 작으면 잔고그리드와 dataLog에서 제거해주자.
                if (매도가능수 <= 0)
                {
                    //2.청산된 종목 사용여부를 db 'N'으로 업데이트한다.
                    if (items.Count() > 0)
                    {
                        items.First()["useYN"] = "N";
                        mainForm.tradingHistory.useYnUpdate(items.First());//종목 일괄적용.
                    }

                    //3.그리드에서 해당 로우 삭제
                    //this.grd_t0424.Rows.Remove(this.grd_t0424.Rows[findIndex]);//그리드에서 삭제하면 바인딩객체도 같이 삭제 되는지 잘모르겠어서 그냥 바인딩객체를 삭제로 바꿔준다.
                    mainForm.xing_t0424.getT0424VoList().RemoveAt(findIndex);

                    Log.WriteLine("real_SC1 deleteCallBack :: 청산된 종목 그리드와 DataLog Line 제거.[종목코드:" + realSc1Vo.Isuno + "]");
                }
                else
                {
                    //수정된 평균단가를 실시간 적용해준다.
                    SummaryVo summaryVo = mainForm.tradingHistory.getSummaryVo(realSc1Vo.Isuno.Replace("A", ""));
                    //Log.WriteLine("TEST Real Sc1 historyvo :[종목코드: " + realSc1Vo.Isuno + "]");
                    if (summaryVo != null)
                    {
                        //mainForm.grd_t0424.Rows[findIndex].Cells["pamt2"].Value = summaryVo.pamt2;//평균단가
                        mainForm.grd_t0424.Rows[findIndex].Cells["sellCnt"].Value = summaryVo.sellCnt; //매도횟수
                        mainForm.grd_t0424.Rows[findIndex].Cells["buyCnt"].Value  = summaryVo.buyCnt;  //매수회수
                        //mainForm.grd_t0424.Rows[findIndex].Cells["sellSunik"].Value = summaryVo.sellSunik;//중간매도손익
                        //여기서는 평균단가만 적용해주자...실시간 현재가 이벤트 발생시에만 수익률을 계산하여 매매를 하자.
                        //평균단가 구한후 평균단가를 기준으로 수익율을 구한다.
                    }
                }
            }
            else  //실시간 체결정보인데 종목그리드에 존재하지 않는 종목일경우 t0424 를 호출해준다.--신규매수일수잇다.
            //mainForm.xing_t0424.call_request(mainForm.accountForm.account, mainForm.accountForm.accountPw);
            {
            }
        }