Example #1
0
        private void SendDirectFile(Order_Data order_Data)
        {
            String tmp  = "{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}|{13}|{14}|{15}|{16}|{17}|{18}|{19}|{20}|{21}|{22}|{23}|{24}|{25}";
            String tmp1 = String.Format(tmp,
                                        order_Data.체결시간,    //[0]
                                        order_Data.계좌번호,    //[1]
                                        order_Data.주문번호,    //[2]
                                        order_Data.관리자사번,   //[3]
                                        order_Data.종목코드,    //[4]
                                        order_Data.주문업무분류,  //[5]
                                        order_Data.주문상태,    //[6]
                                        order_Data.종목명,     //[7]
                                        order_Data.주문수량,    //[8]
                                        order_Data.주문가격,    //[9]
                                        order_Data.미체결수량,   //[10]
                                        order_Data.체결누계금액,  //[11]
                                        order_Data.원주문번호,   //[12]
                                        order_Data.주문구분,    //[13]
                                        order_Data.매매구분,    //[14]
                                        order_Data.매도수구분,   //[15]
                                        order_Data.체결번호,    //[16]
                                        order_Data.체결가,     //[17]
                                        order_Data.체결량,     //[18]
                                        order_Data.현재가,     //[19]
                                        order_Data.매도호가,    //[20]
                                        order_Data.매수호가,    //[21]
                                        order_Data.단위체결가,   //[22]
                                        order_Data.단위체결량,   //[23]
                                        order_Data.당일매매수수료, //[24]
                                        order_Data.당일매매세금   //[25]
                                        );

            System.IO.StreamWriter file = new System.IO.StreamWriter(Config.GetPath() + "주문접수.txt", true);
            file.WriteLine(tmp1.ToString());
            file.Close();
        }
Example #2
0
        private void SendDirectDb(Order_Data order_Data)
        {
            using (MySqlConnection conn = new MySqlConnection(Config.GetDbConnStr()))
            {
                string sql = @"INSERT into  orders (
contract_time
,account_number
,order_number
,manager_number
,stock_code
,order_business_classification
,order_status
,stock_name
,order_quantity
,order_price
,not_contract_quantity
,contract_total_amount
,last_order_number
,order_gubun
,trade_gubun
,order_type
,contract_number
,contract_price
,contract_quantity
,current_price
,offered_price
,bid_price
,contract_price_unit
,contract_price_quantity
,today_commission
,today_tax
)
VALUES
(
@체결시간
,@계좌번호
,@주문번호
,@관리자사번
,@종목코드
,@주문업무분류
,@주문상태
,@종목명
,@주문수량
,@주문가격
,@미체결수량
,@체결누계금액
,@원주문번호
,@주문구분
,@매매구분
,@매도수구분
,@체결번호
,@체결가
,@체결량
,@현재가
,@매도호가
,@매수호가
,@단위체결가
,@단위체결량
,@당일매매수수료
,@당일매매세금
);
";
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@체결시간", order_Data.체결시간);
                cmd.Parameters.AddWithValue("@계좌번호", order_Data.계좌번호);
                cmd.Parameters.AddWithValue("@주문번호", order_Data.주문번호);
                cmd.Parameters.AddWithValue("@관리자사번", order_Data.관리자사번);
                cmd.Parameters.AddWithValue("@종목코드", order_Data.종목코드);
                cmd.Parameters.AddWithValue("@주문업무분류", order_Data.주문업무분류);
                cmd.Parameters.AddWithValue("@주문상태", order_Data.주문상태);
                cmd.Parameters.AddWithValue("@종목명", order_Data.종목명);
                cmd.Parameters.AddWithValue("@주문수량", order_Data.주문수량);
                cmd.Parameters.AddWithValue("@주문가격", order_Data.주문가격);
                cmd.Parameters.AddWithValue("@미체결수량", order_Data.미체결수량);
                cmd.Parameters.AddWithValue("@체결누계금액", order_Data.체결누계금액);
                cmd.Parameters.AddWithValue("@원주문번호", order_Data.원주문번호);
                cmd.Parameters.AddWithValue("@주문구분", order_Data.주문구분);
                cmd.Parameters.AddWithValue("@매매구분", order_Data.매매구분);
                cmd.Parameters.AddWithValue("@매도수구분", order_Data.매도수구분);
                cmd.Parameters.AddWithValue("@체결번호", order_Data.체결번호);
                cmd.Parameters.AddWithValue("@체결가", order_Data.체결가);
                cmd.Parameters.AddWithValue("@체결량", order_Data.체결량);
                cmd.Parameters.AddWithValue("@현재가", order_Data.현재가);
                cmd.Parameters.AddWithValue("@매도호가", order_Data.매도호가);
                cmd.Parameters.AddWithValue("@매수호가", order_Data.매수호가);
                cmd.Parameters.AddWithValue("@단위체결가", order_Data.단위체결가);
                cmd.Parameters.AddWithValue("@단위체결량", order_Data.단위체결량);
                cmd.Parameters.AddWithValue("@당일매매수수료", order_Data.당일매매수수료);
                cmd.Parameters.AddWithValue("@당일매매세금", order_Data.당일매매세금);

                cmd.ExecuteNonQuery();  //기존 계좌수익률을 삭제하고
            }
        }
Example #3
0
        public override void ReceivedData(AxKHOpenAPI axKHOpenAPI, _DKHOpenAPIEvents_OnReceiveChejanDataEvent e)
        {
            /*주문체결
             * 9201 계좌번호
             * 9203 주문번호
             * 9205 관리자사번
             * 9001 종목코드, 업종코드
             * 912 주문업무분류(JJ: 주식주문, FJ: 선물옵션, JG: 주식잔고, FG: 선물옵션잔고)
             * 913 주문상태(10:원주문, 11:정정주문, 12:취소주문, 20:주문확인, 21:정정확인, 22:취소확인, 90 - 92:주문거부)
             * 302 종목명
             * 900 주문수량
             * 901 주문가격
             * 902 미체결수량
             * 903 체결누계금액
             * 904 원주문번호
             * 905 주문구분(+현금내수, -현금매도…)
             * 906 매매구분(보통, 시장가…)
             * 907 매도수구분(1:매도, 2:매수)
             * 908 주문 / 체결시간(HHMMSSMS)
             * 909 체결번호
             * 910 체결가
             * 911 체결량
             * 10 현재가, 체결가, 실시간종가
             * 27(최우선)매도호가
             * 28(최우선)매수호가
             * 914 단위체결가
             * 915 단위체결량
             * 938 당일매매 수수료
             * 939 당일매매세금
             */
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 구분 : 주문접수--통보");
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문/체결시간=>" + axKHOpenAPI.GetChejanData(908));             //[0]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 계좌번호=>" + axKHOpenAPI.GetChejanData(9201));               //[1]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문번호=>" + axKHOpenAPI.GetChejanData(9203));               //[2]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 관리자사번=>" + axKHOpenAPI.GetChejanData(9205));              //[3]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목코드, 업종코드=>" + axKHOpenAPI.GetChejanData(9001));         //[4]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문업무분류=>" + axKHOpenAPI.GetChejanData(912));              //[5]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문상태=>" + axKHOpenAPI.GetChejanData(913));                //[6]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목명=>" + axKHOpenAPI.GetChejanData(302));                 //[7]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문수량=>" + axKHOpenAPI.GetChejanData(900));                //[8]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문가격=>" + axKHOpenAPI.GetChejanData(901));                //[9]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 미체결수량=>" + axKHOpenAPI.GetChejanData(902));               //[10]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 체결누계금액=>" + axKHOpenAPI.GetChejanData(903));              //[11]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 원주문번호=>" + axKHOpenAPI.GetChejanData(904));               //[12]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문구분(+현금내수, -현금매도…)=>" + axKHOpenAPI.GetChejanData(905)); //[13]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매매구분(보통, 시장가…)=>" + axKHOpenAPI.GetChejanData(906));      //[14]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매도수구분(1:매도, 2:매수)" + axKHOpenAPI.GetChejanData(907));     //[15]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 체결번호" + axKHOpenAPI.GetChejanData(909));                  //[16]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 체결가=>" + axKHOpenAPI.GetChejanData(910));                 //[17]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 체결량=>" + axKHOpenAPI.GetChejanData(911));                 //[18]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 현재가, 체결가, 실시간종가=>" + axKHOpenAPI.GetChejanData(10));      //[19]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매도호가=>" + axKHOpenAPI.GetChejanData(27));            //[20]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매수호가=>" + axKHOpenAPI.GetChejanData(28));            //[21]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 단위체결가=>" + axKHOpenAPI.GetChejanData(914));               //[22]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 단위체결량=>" + axKHOpenAPI.GetChejanData(915));               //[23]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일매매 수수료=>" + axKHOpenAPI.GetChejanData(938));            //[24]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일매매세금=>" + axKHOpenAPI.GetChejanData(939));              //[25]

            /*카페 정보아래는 확인이 필요*/
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 화면번호=>" + axKHOpenAPI.GetChejanData(920));  //[26]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 터미널번호=>" + axKHOpenAPI.GetChejanData(921)); //[27]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용구분=>" + axKHOpenAPI.GetChejanData(922));  //[28]
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 대출일=>" + axKHOpenAPI.GetChejanData(923));   //[29]
            Order_Data order_Data = new Order_Data();

            String 현재일자    = DateTime.Now.ToString("yyyy-MM-dd");
            String 체결시간TMP = axKHOpenAPI.GetChejanData(908).ToString().Trim();   //[0]
            //체결시간이 6자리이므로 HHMMSS ==> HH:MM:SS로 바꿔야한다.
            String 체결시간 = 체결시간TMP.Substring(0, 2) + ":" + 체결시간TMP.Substring(2, 2) + ":" + 체결시간TMP.Substring(4, 2);

            체결시간 = 현재일자 + " " + 체결시간;

            order_Data.체결시간   = 체결시간;
            order_Data.계좌번호   = axKHOpenAPI.GetChejanData(9201).ToString().Trim();           //[1]
            order_Data.주문번호   = axKHOpenAPI.GetChejanData(9203).ToString().Trim();           //[2]
            order_Data.관리자사번  = axKHOpenAPI.GetChejanData(9205).ToString().Trim();           //[3]
            order_Data.종목코드   = axKHOpenAPI.GetChejanData(9001).ToString().Trim();           //[4]
            order_Data.주문업무분류 = axKHOpenAPI.GetChejanData(912).ToString().Trim();            //[5]
            order_Data.주문상태   = axKHOpenAPI.GetChejanData(913).ToString().Trim();            //[6]
            order_Data.종목명    = axKHOpenAPI.GetChejanData(302).ToString().Trim();            //[7]
            order_Data.주문수량   = int.Parse(axKHOpenAPI.GetChejanData(900).ToString().Trim()); //[8]
            order_Data.주문가격   = int.Parse(axKHOpenAPI.GetChejanData(901).ToString().Trim()); //[9]
            order_Data.미체결수량  = int.Parse(axKHOpenAPI.GetChejanData(902).ToString().Trim()); //[10]
            order_Data.체결누계금액 = int.Parse(axKHOpenAPI.GetChejanData(903).ToString().Trim()); //[11]
            order_Data.원주문번호  = axKHOpenAPI.GetChejanData(904).ToString().Trim();            //[12]
            order_Data.주문구분   = axKHOpenAPI.GetChejanData(905).ToString().Trim();            //[13]
            order_Data.매매구분   = axKHOpenAPI.GetChejanData(906).ToString().Trim();            //[14]
            order_Data.매도수구분  = int.Parse(axKHOpenAPI.GetChejanData(907).ToString().Trim()); //[15]
            order_Data.체결번호   = axKHOpenAPI.GetChejanData(909).ToString().Trim();            //[16]
            String str체결가 = axKHOpenAPI.GetChejanData(910).ToString().Trim();                //[17]

            order_Data.체결가 = 0;
            if (!str체결가.Equals(""))
            {
                order_Data.체결가 = int.Parse(str체결가);
            }
            String str체결량 = axKHOpenAPI.GetChejanData(911).ToString().Trim();//[18]

            order_Data.체결량 = 0;
            if (!str체결량.Equals(""))
            {
                order_Data.체결량 = int.Parse(str체결량);
            }
            order_Data.현재가  = int.Parse(axKHOpenAPI.GetChejanData(10).ToString().Trim()); //[19]
            order_Data.매도호가 = int.Parse(axKHOpenAPI.GetChejanData(27).ToString().Trim()); //[20]
            order_Data.매수호가 = int.Parse(axKHOpenAPI.GetChejanData(28).ToString().Trim()); //[21]

            String str단위체결가 = axKHOpenAPI.GetChejanData(914).ToString().Trim();           //[22]

            order_Data.단위체결가 = 0;
            if (!str단위체결가.Equals(""))
            {
                order_Data.단위체결가 = int.Parse(str단위체결가);
            }
            String str단위체결량 = axKHOpenAPI.GetChejanData(915).ToString().Trim(); //[23]

            order_Data.단위체결량 = 0;
            if (!str단위체결량.Equals(""))
            {
                order_Data.단위체결량 = int.Parse(str단위체결량);
            }
            order_Data.당일매매수수료 = int.Parse(axKHOpenAPI.GetChejanData(938).ToString().Trim());   //[24]
            order_Data.당일매매세금  = int.Parse(axKHOpenAPI.GetChejanData(939).ToString().Trim());   //[25]

            SendDirectFile(order_Data);
            SendDirectDb(order_Data);
        }