Exemplo n.º 1
0
        public override void ReceivedData(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveRealDataEvent e)
        {
            /*
             *
             *  [10] = 현재가              //(0)
             *      [11] = 전일대비            //(1)
             *      [12] = 등락율              //(2)
             *      [27] = (최우선)매도호가    //(3)
             *      [28] = (최우선)매수호가    //(4)
             *      [13] = 누적거래량          //(5)
             *      [14] = 누적거래대금        //(6)
             *      [16] = 시가                //(7)
             *      [17] = 고가                //(8)
             *      [18] = 저가                //(9)
             *      [25] = 전일대비기호        //(10)
             *      [26] = 전일거래량대비(계약,주)   //(11)
             *      [29] = 거래대금증감              //(12)
             *      [30] = 전일거래량대비(비율)      //(13)
             *      [31] = 거래회전율                //(14)
             *      [32] = 거래비용                  //(15)
             *      [311] = 시가총액(억)             //(16)
             *      [567] = 상한가발생시간           //(17)
             *      [568] = 하한가발생시간           //(18)
             *
             */

            FileLog.PrintF(String.Format("현재가 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 10).Trim()));
            FileLog.PrintF(String.Format("전일대비 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 11).Trim()));
            FileLog.PrintF(String.Format("등락율 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 12).Trim()));
            FileLog.PrintF(String.Format("매도호가 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 27).Trim()));
            FileLog.PrintF(String.Format("매수호가 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 28).Trim()));
            FileLog.PrintF(String.Format("누적거래량 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 13).Trim()));
            FileLog.PrintF(String.Format("누적거래대금 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 14).Trim()));
            FileLog.PrintF(String.Format("시가 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 16).Trim()));
            FileLog.PrintF(String.Format("고가 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 17).Trim()));
            FileLog.PrintF(String.Format("저가 : {0}  ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 18).Trim()));
            FileLog.PrintF(String.Format("전일대비기호 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 25).Trim()));
            FileLog.PrintF(String.Format("전일거래량대비_계약_주 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 26).Trim()));
            FileLog.PrintF(String.Format("거래대금증감 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 29).Trim()));
            FileLog.PrintF(String.Format("전일거래량대비_비율 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 30).Trim()));
            FileLog.PrintF(String.Format("거래회전율 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 31).Trim()));
            FileLog.PrintF(String.Format("거래비용 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 32).Trim()));
            FileLog.PrintF(String.Format("시가총액_억 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 311).Trim()));
            FileLog.PrintF(String.Format("상한가발생시간 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 567).Trim()));
            FileLog.PrintF(String.Format("하한가발생시간 : {0} ==>", axKHOpenAPI.GetCommRealData(e.sRealType, 568).Trim()));
            FileLog.PrintF(String.Format("종목코드 : {0} ==>", e.sRealKey.ToString().Trim()));
            FileLog.PrintF(String.Format("RealName : {0} ==>", e.sRealType.ToString().Trim()));
            FileLog.PrintF(String.Format("sRealData : {0} ==>", e.sRealData.ToString().Trim()));

            TB_REAL10001 real10001_data = new TB_REAL10001();

            //String 현재시간 = DateTime.Now.ToString("yyyyMMdd HH:mm:ss:fff");
            real10001_data.현재시간 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            real10001_data.현재가          = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 10).Trim());
            real10001_data.전일대비         = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 11).Trim());
            real10001_data.등락율          = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 12).Trim());
            real10001_data.매도호가         = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 27).Trim());
            real10001_data.매수호가         = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 28).Trim());
            real10001_data.누적거래량        = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 13).Trim());
            real10001_data.누적거래대금       = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 14).Trim());
            real10001_data.시가           = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 16).Trim());
            real10001_data.고가           = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 17).Trim());
            real10001_data.저가           = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 18).Trim());
            real10001_data.전일대비기호       = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 25).Trim());
            real10001_data.전일거래량대비_계약_주 = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 26).Trim());
            real10001_data.거래대금증감       = decimal.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 29).Trim());
            real10001_data.전일거래량대비_비율   = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 30).Trim());
            real10001_data.거래회전율        = float.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 31).Trim());
            real10001_data.거래비용         = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 32).Trim());
            real10001_data.시가총액_억       = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 311).Trim());
            real10001_data.상한가발생시간      = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 567).Trim());
            real10001_data.하한가발생시간      = Int32.Parse(axKHOpenAPI.GetCommRealData(e.sRealType, 568).Trim());
            real10001_data.종목코드         = e.sRealKey.ToString().Trim();
            real10001_data.RealName     = e.sRealType.ToString().Trim();

            //        SendDirectFile(real10001_data);
            //SendDirectDb(real10001_data);
        }
Exemplo n.º 2
0
        private void SendDirectDb(TB_REAL10001 real10001_data)
        {
            using (MySqlConnection conn = new MySqlConnection(Config.GetDbConnStr()))
            {
                String dayTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                string sql = @"INSERT into  realtime_prices (
stock_date
,stock_code
,current_price
,contrast_yesterday
,fluctuation_rate
,offered_price
,bid_price
,accumulated_trade_quantity
,accumulated_trade_price
,start_price
,high_price
,low_price
,contrast_yesterday_symbol
,yesterday_contrast_trade_quantity
,trade_amount_variation
,yesterday_contrast_trade_rate
,trade_turnover_ratio
,trade_cost
,total_market_price
,upper_price_limit_time
,lower_price_limit_time
,created_at
,updated_at
)
VALUES
(
@현재시간
,@종목코드
,@현재가
,@전일대비
,@등락율
,@매도호가
,@매수호가
,@누적거래량
,@누적거래대금
,@시가
,@고가
,@저가
,@전일대비기호
,@전일거래량대비_계약_주
,@거래대금증감
,@전일거래량대비_비율
,@거래회전율
,@거래비용
,@시가총액_억
,@상한가발생시간
,@하한가발생시간
,current_timestamp
,current_timestamp
);
";
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@현재시간", real10001_data.현재시간);
                cmd.Parameters.AddWithValue("@종목코드", real10001_data.종목코드);
                cmd.Parameters.AddWithValue("@현재가", real10001_data.현재가);
                cmd.Parameters.AddWithValue("@전일대비", real10001_data.전일대비);
                cmd.Parameters.AddWithValue("@등락율", real10001_data.등락율);
                cmd.Parameters.AddWithValue("@매도호가", real10001_data.매도호가);
                cmd.Parameters.AddWithValue("@매수호가", real10001_data.매수호가);
                cmd.Parameters.AddWithValue("@누적거래량", real10001_data.누적거래량);
                cmd.Parameters.AddWithValue("@누적거래대금", real10001_data.누적거래대금);
                cmd.Parameters.AddWithValue("@시가", real10001_data.시가);
                cmd.Parameters.AddWithValue("@고가", real10001_data.고가);
                cmd.Parameters.AddWithValue("@저가", real10001_data.저가);
                cmd.Parameters.AddWithValue("@전일대비기호", real10001_data.전일대비기호);
                cmd.Parameters.AddWithValue("@전일거래량대비_계약_주", real10001_data.전일거래량대비_계약_주);
                cmd.Parameters.AddWithValue("@거래대금증감", real10001_data.거래대금증감);
                cmd.Parameters.AddWithValue("@전일거래량대비_비율", real10001_data.전일거래량대비_비율);
                cmd.Parameters.AddWithValue("@거래회전율", real10001_data.거래회전율);
                cmd.Parameters.AddWithValue("@거래비용", real10001_data.거래비용);
                cmd.Parameters.AddWithValue("@시가총액_억", real10001_data.시가총액_억);
                cmd.Parameters.AddWithValue("@상한가발생시간", real10001_data.상한가발생시간);
                cmd.Parameters.AddWithValue("@하한가발생시간", real10001_data.하한가발생시간);
                cmd.ExecuteNonQuery();
            }
        }