コード例 #1
0
        // 콜백 함수 내에서 사용되어야 함
        internal static IList <T> GetMultiData <T>(this AxKHOpenAPI api) where T : EntityBase
        {
            var tAttri     = typeof(T).GetCustomAttribute <TransactionAttribute>(true);
            var properties = typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty);
            var cnt        = api.GetRepeatCnt(tAttri.TRCode, tAttri.Name);
            var datacnt    = api.GetDataCount(tAttri.Name);
            var list       = new List <T>();

            for (int i = 0; i < cnt; i++)
            {
                Console.WriteLine("### Loop = " + i);
                var entity = Activator.CreateInstance <T>();
                foreach (var property in properties)
                {
                    var cAttri = property.GetCustomAttribute <OutputAttribute>(true);

                    if (cAttri == null)
                    {
                        continue;
                    }

                    var result = api.CommGetData(tAttri.TRCode, "", tAttri.Name, i, cAttri.Name).Trim();
                    property.SetValue(entity, result);
                    Console.WriteLine("{0},{1},{2},{3} : {4}", i, tAttri.TRCode, tAttri.Name, cAttri.Name, result);
                }
                list.Add(entity);
            }
            return(list);
        }
コード例 #2
0
        // 콜백 함수 내에서 사용되어야 함
        internal static TOut GetSingleData <TOut>(this AxKHOpenAPI api, TOut instance = null) where TOut : EntityBase
        {
            if (instance == null)
            {
                instance = Activator.CreateInstance <TOut>();
            }
            var type   = instance.GetType();
            var tAttri = type.GetCustomAttribute <TransactionAttribute>(true);

            foreach (var property in instance.GetOutputProperties())
            {
                //var name = property.GetName<OutputAttribute>();
                //if (string.IsNullOrEmpty(name))
                if (string.IsNullOrEmpty(property.Name))
                {
                    continue;
                }

                //var result = api.CommGetData(tAttri.TRCode, "", tAttri.Name, 0, property.Name).Trim();
                var result = api.GetCommData(tAttri.TRCode, tAttri.Name + "요청", 0, property.Name.TrimStart('D')).Trim();
                //Console.WriteLine("[tAttri.TRCode]=" + tAttri.TRCode);
                //Console.WriteLine("[tAttri.Name]=" + tAttri.Name+"요청");
                Console.WriteLine(property.Name + " => " + result);
                //axKHOpenAPI1.SetInputValue("종목코드", obj.itemCode);

                property.SetValue(instance, result);
            }

            return(instance);
        }
コード例 #3
0
ファイル: MartinGailManager.cs プロジェクト: segara/singijeon
 public void Init(AxKHOpenAPI axKHOpenAPI, Form1 form)
 {
     this.axKHOpenAPI1 = axKHOpenAPI;
     this.form1        = form;
     this.axKHOpenAPI1.OnReceiveChejanData += API_OnReceiveChejanData;
     this.axKHOpenAPI1.OnReceiveRealData   += API_OnReceiveRealData;
 }
コード例 #4
0
        public ConditionEventHandler(object sender, AxKHOpenAPI axKHOpenAPI1)
        {
            this.axKHOpenAPI1         = axKHOpenAPI1;
            this.opt10001EventHandler = new Opt10001EventHandler(sender, this.axKHOpenAPI1);

            initialize();
        }
コード例 #5
0
 public static void StartSession(AxKHOpenAPI API = null, _DKHOpenAPIEvents_OnEventConnectEventHandler connect_event = null)
 {
     if (API != null)
     {
         api = API;
     }
     else
     {
         api = new AxKHOpenAPI();
         api.BeginInit();
         api.Enabled = true;
         byte[] bytes = Convert.FromBase64String(@"AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACFTeXN0ZW0uV2luZG93cy5Gb3Jtcy5BeEhvc3QrU3RhdGUBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAJQAAAAIBAAAAAQAAAAAAAAAAAAAAABAAAAACAAEAVgoAACsFAAAAAAAACw==");
         using (MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length))
         {
             ms.Write(bytes, 0, bytes.Length);
             ms.Position  = 0;
             api.OcxState = (AxHost.State)(new BinaryFormatter().Deserialize(ms));
         }
         api.OnEventConnect += new _DKHOpenAPIEvents_OnEventConnectEventHandler((s, e) => {
             Initialized         = true;
             UserId              = api.GetLoginInfo("USER_ID");
             UserName            = api.GetLoginInfo("USER_NAME");
             ServerGubun         = api.GetLoginInfo("GetServerGubun");
             Account.AccountList = api.GetLoginInfo("ACCLIST").Split(';');
             Stock.StockInfo     = api.GetCodeListByMarket(null).Split(';').Select(x => (x, api.GetMasterCodeName(x))).ToList();
         });
         if (connect_event != null)
         {
             api.OnEventConnect += connect_event;
         }
         dummy.Controls.Add(api);
         api.EndInit();
     }
     api.CommConnect();
 }
コード例 #6
0
ファイル: CoreEngine.cs プロジェクト: segara/singijeon
        public void SetAxKHOpenAPI(AxKHOpenAPI axKHOpenAPI)
        {
            this.axKHOpenAPI = axKHOpenAPI;

            axKHOpenAPI.OnEventConnect  += AxKHOpenAPI_OnEventConnect;
            axKHOpenAPI.OnReceiveTrData += axKHOpenAPI_OnReceiveTrData;
            //axKHOpenAPI.OnReceiveRealData += axKHOpenAPI_OnReceiveRealData;
        }
コード例 #7
0
        public Opt10001EventHandler(object sender, AxKHOpenAPI axKHOpenAPI1)
        {
            this.axKHOpenAPI1 = axKHOpenAPI1;
            this.axKHOpenAPI1.OnReceiveTrData += axKHOpenAPI1_OnReceiveTrData;

            db          = new MariaDB();
            googleSheet = new GoogleSheet();
        }
コード例 #8
0
ファイル: ConnectAPI.cs プロジェクト: w1r2p1/GoblinBat
 public void SetAPI(AxKHOpenAPI axAPI)
 {
     AxAPI = axAPI;
     axAPI.OnEventConnect    += OnEventConnect;
     axAPI.OnReceiveTrData   += OnReceiveTrData;
     axAPI.OnReceiveRealData += OnReceiveRealData;
     axAPI.OnReceiveMsg      += OnReceiveMsg;
 }
コード例 #9
0
ファイル: Connect.cs プロジェクト: w1r2p1/GoblinBat
        internal static Connect GetInstance(AxKHOpenAPI axAPI, StreamWriter writer)
        {
            if (API == null && axAPI.CommConnect() == 0)
            {
                API = new Connect(axAPI, writer);
            }

            return(API);
        }
コード例 #10
0
ファイル: Connect.cs プロジェクト: w1r2p1/GoblinBat
 Connect(AxKHOpenAPI axAPI)
 {
     this.axAPI = axAPI;
     request    = Delay.GetInstance(0xCD);
     request.Run();
     Chapter = new 장시작시간 {
         API = axAPI
     };
 }
コード例 #11
0
        internal static int GetCount <T>(this AxKHOpenAPI api) where T : EntityBase
        {
            var tAttri = typeof(T).GetCustomAttribute <TransactionAttribute>(true);

            Console.WriteLine("[tAttri.TRCode]" + tAttri.TRCode);
            Console.WriteLine("[tAttri.Name]" + tAttri.Name);
            var cnt = api.GetRepeatCnt(tAttri.TRCode, tAttri.Name);

            Console.WriteLine("[cnt]" + cnt);
            var datacnt = api.GetDataCount(tAttri.Name);

            return(datacnt);
        }
コード例 #12
0
        public override void ReceivedData(AxKHOpenAPI axKHOpenAPI, _DKHOpenAPIEvents_OnReceiveChejanDataEvent e)
        {
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 구분 : 잔고통보");
            //FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문/기록시간=>" + axKHOpenAPI.GetChejanData(908));
            //시간이 없음
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 계좌번호=>" + axKHOpenAPI.GetChejanData(9201));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목코드, 업종코드=>" + axKHOpenAPI.GetChejanData(9001));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 현재가, 체결가, 실시간종가=>" + axKHOpenAPI.GetChejanData(10));

            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 보유수량=>" + axKHOpenAPI.GetChejanData(930));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매입단가=>" + axKHOpenAPI.GetChejanData(931));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 총매입가=>" + axKHOpenAPI.GetChejanData(932));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문가능수량=>" + axKHOpenAPI.GetChejanData(933));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일순매수량=>" + axKHOpenAPI.GetChejanData(945));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매도 / 매수구분=>" + axKHOpenAPI.GetChejanData(946));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일 총 매도 손익=>" + axKHOpenAPI.GetChejanData(950));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 예수금=>" + axKHOpenAPI.GetChejanData(951));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매도호가=>" + axKHOpenAPI.GetChejanData(27));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매수호가=>" + axKHOpenAPI.GetChejanData(28));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 기준가=>" + axKHOpenAPI.GetChejanData(307));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 손익율=>" + axKHOpenAPI.GetChejanData(8019));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주식옵션거래단위=>" + axKHOpenAPI.GetChejanData(397));


            Balance_Data balance_Data = new Balance_Data();
            String       dayTime      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            balance_Data.기록시간     = dayTime;                                                        //[0]
            balance_Data.계좌번호     = axKHOpenAPI.GetChejanData(9201).ToString().Trim();              //[1]
            balance_Data.종목코드     = axKHOpenAPI.GetChejanData(9001).ToString().Trim();              //[2]
            balance_Data.현재가      = int.Parse(axKHOpenAPI.GetChejanData(10).ToString().Trim());     //[3]
            balance_Data.보유수량     = int.Parse(axKHOpenAPI.GetChejanData(930).ToString().Trim());    //[4]
            balance_Data.매입단가     = int.Parse(axKHOpenAPI.GetChejanData(931).ToString().Trim());    //[5]
            balance_Data.총매입가     = int.Parse(axKHOpenAPI.GetChejanData(932).ToString().Trim());    //[6]
            balance_Data.주문가능수량   = int.Parse(axKHOpenAPI.GetChejanData(933).ToString().Trim());    //[7]
            balance_Data.당일순매수량   = int.Parse(axKHOpenAPI.GetChejanData(945).ToString().Trim());    //[8]
            balance_Data.매도수구분    = int.Parse(axKHOpenAPI.GetChejanData(946).ToString().Trim());    //[9]
            balance_Data.당일총매도손익  = int.Parse(axKHOpenAPI.GetChejanData(950).ToString().Trim());    //[10]
            balance_Data.예수금      = int.Parse(axKHOpenAPI.GetChejanData(951).ToString().Trim());    //[11]
            balance_Data.매도호가     = int.Parse(axKHOpenAPI.GetChejanData(27).ToString().Trim());     //[12]
            balance_Data.매수호가     = int.Parse(axKHOpenAPI.GetChejanData(28).ToString().Trim());     //[13]
            balance_Data.기준가      = int.Parse(axKHOpenAPI.GetChejanData(307).ToString().Trim());    //[14]
            balance_Data.손익율      = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim()); //[15]
            balance_Data.주식옵션거래단위 = axKHOpenAPI.GetChejanData(397).ToString().Trim();               //[16]

            SendDirectFile(balance_Data);
            SendDirectDb(balance_Data);
        }
コード例 #13
0
 // 콜백 함수 내에서 사용되어야 함
 // 수신된 데이터를 가지고 보유종목에 업데이트를 해주면 된다
 //T는 Real_주식체결 Entity이다
 internal static T GetRealData <T>(this AxKHOpenAPI api, T instance) where T : EntityRealBase
 {
     //Console.WriteLine("GetRealData 진입");
     foreach (var property in instance.GetFIDProperties())
     {
         //Console.WriteLine("GetRealData : " + property.Name);
         var fid = property.GetName <FIDAttribute>();
         if (string.IsNullOrEmpty(fid))
         {
             continue;
         }
         var result = APIContext.API.GetCommRealData(instance.Code, int.Parse(fid));
         property.SetValue(instance, result);
     }
     return(instance);
 }
コード例 #14
0
        public static void Init(AxKHOpenAPI api)
        {
            _api = api;

            _api.OnEventConnect      += AxKHOpenAPI1_OnEventConnect;
            _api.OnReceiveTrData     += AxKHOpenAPI1_OnReceiveTrData;
            _api.OnReceiveRealData   += AxKHOpenAPI1_OnReceiveRealData;
            _api.OnReceiveMsg        += AxKHOpenAPI1_OnReceiveMsg;
            _api.OnReceiveChejanData += AxKHOpenAPI1_OnReceiveChejanData;
            _api.CommConnect();

            _timer.Tick    += Timer_Tick;
            _timer.Interval = 200;
            _timer.Start();
            _beginTime = Time();
        }
コード例 #15
0
ファイル: Balance.cs プロジェクト: jijoungsoo/kiumopenapi
        public override void ReceivedData(AxKHOpenAPI axKHOpenAPI, _DKHOpenAPIEvents_OnReceiveChejanDataEvent e)
        {
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 구분 : 잔고통보");
            //FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문/기록시간=>" + axKHOpenAPI.GetChejanData(908));
            //시간이 없음
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 계좌번호=>" + axKHOpenAPI.GetChejanData(9201));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목코드, 업종코드=>" + axKHOpenAPI.GetChejanData(9001));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 현재가, 체결가, 실시간종가=>" + axKHOpenAPI.GetChejanData(10));

            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 보유수량=>" + axKHOpenAPI.GetChejanData(930));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매입단가=>" + axKHOpenAPI.GetChejanData(931));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 총매입가=>" + axKHOpenAPI.GetChejanData(932));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문가능수량=>" + axKHOpenAPI.GetChejanData(933));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일순매수량=>" + axKHOpenAPI.GetChejanData(945));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매도 / 매수구분=>" + axKHOpenAPI.GetChejanData(946));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일 총 매도 손익=>" + axKHOpenAPI.GetChejanData(950));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 예수금=>" + axKHOpenAPI.GetChejanData(951));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매도호가=>" + axKHOpenAPI.GetChejanData(27));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매수호가=>" + axKHOpenAPI.GetChejanData(28));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 기준가=>" + axKHOpenAPI.GetChejanData(307));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 손익율=>" + axKHOpenAPI.GetChejanData(8019));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주식옵션거래단위=>" + axKHOpenAPI.GetChejanData(397));


            Balance_Data balance_Data = new Balance_Data();
            String dayTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            balance_Data.기록시간 = dayTime;   //[0]
            balance_Data.계좌번호 = axKHOpenAPI.GetChejanData(9201).ToString().Trim(); //[1]
            balance_Data.종목코드 = axKHOpenAPI.GetChejanData(9001).ToString().Trim();  //[2]
            balance_Data.현재가 = int.Parse(axKHOpenAPI.GetChejanData(10).ToString().Trim());  //[3]
            balance_Data.보유수량 = int.Parse(axKHOpenAPI.GetChejanData(930).ToString().Trim());  //[4]
            balance_Data.매입단가 = int.Parse(axKHOpenAPI.GetChejanData(931).ToString().Trim());   //[5]
            balance_Data.총매입가 = int.Parse(axKHOpenAPI.GetChejanData(932).ToString().Trim());  //[6]
            balance_Data.주문가능수량 = int.Parse(axKHOpenAPI.GetChejanData(933).ToString().Trim());   //[7]
            balance_Data.당일순매수량 = int.Parse(axKHOpenAPI.GetChejanData(945).ToString().Trim());  //[8]
            balance_Data.매도수구분 = int.Parse(axKHOpenAPI.GetChejanData(946).ToString().Trim());  //[9]
            balance_Data.당일총매도손익 = int.Parse(axKHOpenAPI.GetChejanData(950).ToString().Trim());   //[10]
            balance_Data.예수금 = int.Parse(axKHOpenAPI.GetChejanData(951).ToString().Trim());  //[11]
            balance_Data.매도호가 = int.Parse(axKHOpenAPI.GetChejanData(27).ToString().Trim());  //[12]
            balance_Data.매수호가 = int.Parse(axKHOpenAPI.GetChejanData(28).ToString().Trim()); //[13]
            balance_Data.기준가 = int.Parse(axKHOpenAPI.GetChejanData(307).ToString().Trim());   //[14]
            balance_Data.손익율 = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim());   //[15]
            balance_Data.주식옵션거래단위 = axKHOpenAPI.GetChejanData(397).ToString().Trim();  //[16]

            SendDirectFile(balance_Data);
            SendDirectDb(balance_Data);
        }
コード例 #16
0
ファイル: KiwoomApi.cs プロジェクト: jjorae/KiwoomExample
        private KiwoomApi()
        {
            this.openApi = new AxKHOpenAPI();
            ((System.ComponentModel.ISupportInitialize)(this.openApi)).BeginInit();
            this.SuspendLayout();

            this.initEvent();

            this.Controls.Add(this.openApi);

            ((System.ComponentModel.ISupportInitialize)(this.openApi)).EndInit();
            this.ResumeLayout(false);

            holdings        = new BindingList <Holding>();
            orders          = new List <Order>();
            conditionStocks = new List <ConditionStock>();
            stocks          = new List <Stock>();
        }
コード例 #17
0
ファイル: APIContext.cs プロジェクト: Fitz-DG/Test
 private void InitializeComponent()
 {
     this.axApi = new AxKHOpenAPI();
     ((System.ComponentModel.ISupportInitialize)(this.axApi)).BeginInit();
     this.SuspendLayout();
     //
     // axApi
     //
     this.axApi.Dock    = DockStyle.Fill;
     this.axApi.Enabled = true;
     this.axApi /*axKHOpenAPI1*/.Location = new System.Drawing.Point(0, 0);
     this.axApi.Name     = "axApi";
     this.axApi.Size     = new System.Drawing.Size(150, 150);
     this.axApi.TabIndex = 0;
     this.Controls.Add(this.axApi);
     this.Name = "ApiWrapper";
     ((System.ComponentModel.ISupportInitialize)(this.axApi)).EndInit();
     this.ResumeLayout(false);
 }
コード例 #18
0
 public static void start(AxKHOpenAPI gateway)
 {
     m_log        = log4net.LogManager.GetLogger("ProgramControl");
     m_gateway    = gateway;
     m_server     = new HttpServer(SystemInfo.PORT, DirectExecutionCommands.router);
     m_serverThrd = new Thread(new ThreadStart(m_server.Listen));
     if (PlanManager.loadPlans())
     {
         PlanManager.runPlans();
         m_serverThrd.Start();
     }
     else
     {
         //Info log
         //exit
         m_log.Error("계획을 로드하는데 실패함.");
         systemShutdown();
     }
 }
コード例 #19
0
        internal static int RequestData <T>(this AxKHOpenAPI api, T inputInstance, Type outputInstance, string screenNo) where T : EntityBase
        {
            Console.WriteLine("진입");
            var attri = outputInstance.GetCustomAttribute <TransactionAttribute>();

            Console.WriteLine("[Attri]" + attri.TRCode + " " + attri.TypeId);
            foreach (var property in inputInstance.GetInputProperties())
            {
                ///var id = property.GetName<InputAttribute>(); //원본
                ///APIContext.API.SetInputValue(id, value); //원본
                var value = property.GetValue(inputInstance)?.ToString();
                APIContext.API.SetInputValue(property.Name, value);
                Console.WriteLine("[SetInputValue:" + property.Name + "]=" + value);
                //axKHOpenAPI1.SetInputValue("종목코드", obj.itemCode);
            }

            //return APIContext.API.CommRqData(attri.Name, attri.TRCode, 0, screenNo); //원본
            //return APIContext.API.CommRqData("주식기본정보요청", attri.TRCode, 0, screenNo);
            return(APIContext.API.CommRqData(attri.Name + "요청", attri.TRCode, 0, screenNo));
        }
コード例 #20
0
ファイル: Connect.cs プロジェクト: w1r2p1/GoblinBat
 Connect(AxKHOpenAPI axAPI, StreamWriter server)
 {
     TR         = new HashSet <TR>();
     this.axAPI = axAPI;
     request    = Delay.GetInstance(0xC9);
     request.Run();
     Real = new HashSet <Real>
     {
         new 주식체결
         {
             API    = axAPI,
             Server = server
         },
         new 주식호가잔량
         {
             API    = axAPI,
             Server = server
         },
         new 주식시세
         {
             API    = axAPI,
             Server = server
         },
         new 주식우선호가
         {
             API    = axAPI,
             Server = server
         },
         new 장시작시간
         {
             API    = axAPI,
             Server = server
         },
         new  물시세
         {
             API    = axAPI,
             Server = server
         },
         new  물옵션우선호가
         {
             API    = axAPI,
             Server = server
         },
         new  물호가잔량
         {
             API    = axAPI,
             Server = server
         },
         new 옵션시세
         {
             API    = axAPI,
             Server = server
         },
         new 옵션호가잔량
         {
             API    = axAPI,
             Server = server
         }
     };
     Chejan = new Dictionary <string, Chejan>()
     {
         { ((int)ChejanType.주문체결).ToString("D1"), new 주문체결 {
               API = axAPI
           } }, { ((int)ChejanType.잔고).ToString("D1"), new 잔고 {
                      API = axAPI
                  } }, { ((int)ChejanType.생잔고).ToString("D1"), new  생잔고 {
                             API = axAPI
                         } }
     };
 }
コード例 #21
0
ファイル: KiwoomApi.cs プロジェクト: racingslab/KiwoomExample
 public KiwoomApi(AxKHOpenAPI openApi)
 {
     this.openApi = openApi;
     this.initEvent();
 }
コード例 #22
0
ファイル: KiwoomApi.cs プロジェクト: racingslab/KiwoomExample
 public KiwoomApi()
 {
     openApi = new AxKHOpenAPI();
     this.initEvent();
 }
コード例 #23
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);
        }
コード例 #24
0
 public ContractionInfoWrapper(AxKHOpenAPI gateway, int[] fids, int infotype)
 {
     m_gateway  = gateway;
     m_fids     = fids;
     m_infotype = infotype;
 }
コード例 #25
0
 public KiwoomOpenApiService(){
     axKHOpenAPI = class2.getAxKHOpenAPIInstance();
 }
コード例 #26
0
ファイル: DataController.cs プロジェクト: segara/danju_v1
 public void SetOpenAPI(AxKHOpenAPI _axKHOpenAPI)
 {
     this.axKHOpenAPI = _axKHOpenAPI;
     this.axKHOpenAPI.OnReceiveRealData += AxKHOpenAPI_OnReceiveRealData;
 }
コード例 #27
0
ファイル: Ordered.cs プロジェクト: jijoungsoo/kiumopenapi
        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]
            order_Data.체결가 = int.Parse(axKHOpenAPI.GetChejanData(910).ToString().Trim());    //[17]
            order_Data.체결량 = int.Parse(axKHOpenAPI.GetChejanData(911).ToString().Trim());   //[18]
            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]
            order_Data.단위체결가 = int.Parse(axKHOpenAPI.GetChejanData(914).ToString().Trim());  //[22]
            order_Data.단위체결량 = int.Parse(axKHOpenAPI.GetChejanData(915).ToString().Trim());  //[23]
            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);
        }
コード例 #28
0
 public AccountEventHandler(object sender, AxKHOpenAPI axKHOpenAPI1)
 {
     this.axKHOpenAPI1 = axKHOpenAPI1;
 }
コード例 #29
0
ファイル: Connect.cs プロジェクト: w1r2p1/GoblinBat
 internal static Connect GetInstance(AxKHOpenAPI axAPI)
 {
     if (API == null && axAPI.CommConnect() == 0)
     {
         API          = new Connect(axAPI);
         HoldingStock = new Dictionary <string, Holding>();
         TR           = new HashSet <TR>()
         {
             new KOA_CREATE_FO_ORD {
                 API = axAPI
             },
             new KOA_NORMAL_FO_CANCEL {
                 API = axAPI
             },
             new KOA_NORMAL_FO_MOD {
                 API = axAPI
             },
             new KOA_NORMAL_SELL_KP_ORD {
                 API = axAPI
             },
             new KOA_NORMAL_SELL_KQ_ORD {
                 API = axAPI
             },
             new KOA_NORMAL_BUY_KP_ORD {
                 API = axAPI
             },
             new KOA_NORMAL_BUY_KQ_ORD {
                 API = axAPI
             }
         };
         Real = new HashSet <Real>()
         {
             new 주식체결 {
                 API = axAPI
             },
             new 주식호가잔량 {
                 API = axAPI
             },
             new 주식시세 {
                 API = axAPI
             },
             new 주식우선호가 {
                 API = axAPI
             },
             Chapter,
             new  물시세
             {
                 API = axAPI
             },
             new  물옵션우선호가
             {
                 API = axAPI
             },
             new  물호가잔량
             {
                 API = axAPI
             },
             new 옵션시세
             {
                 API = axAPI
             },
             new 옵션호가잔량
             {
                 API = axAPI
             }
         };
         Chejan = new Dictionary <string, Chejan>()
         {
             {
                 ((int)ChejanType.주문체결).ToString(),
                 new 주문체결 {
                     API = axAPI
                 }
             },
             {
                 ((int)ChejanType.잔고).ToString(),
                 new 잔고 {
                     API = axAPI
                 }
             },
             {
                 ((int)ChejanType.생잔고).ToString(),
                 new  생잔고 {
                     API = axAPI
                 }
             }
         };
     }
     return(API);
 }
コード例 #30
0
 public API()
 {
     Kium = new AxKHOpenAPI();
     ((System.ComponentModel.ISupportInitialize)(this.Kium)).BeginInit();
 }
コード例 #31
0
 public void setAxKHOpenAPIInstance(AxKHOpenAPI axKHOpenAPI)
 {
     this.axKHOpenAPI = axKHOpenAPI;
 }
コード例 #32
0
        public override void ReceivedData(AxKHOpenAPI axKHOpenAPI, _DKHOpenAPIEvents_OnReceiveChejanDataEvent e)
        {
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 구분 : 잔고통보");
            //FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문/기록시간=>" + axKHOpenAPI.GetChejanData(908));
            //시간이 없음
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 계좌번호=>" + axKHOpenAPI.GetChejanData(9201));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목코드, 업종코드=>" + axKHOpenAPI.GetChejanData(9001));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 현재가, 체결가, 실시간종가=>" + axKHOpenAPI.GetChejanData(10));

            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용구분=>" + axKHOpenAPI.GetChejanData(917));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 대출일=>" + axKHOpenAPI.GetChejanData(916));


            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 보유수량=>" + axKHOpenAPI.GetChejanData(930));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매입단가=>" + axKHOpenAPI.GetChejanData(931));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 총매입가=>" + axKHOpenAPI.GetChejanData(932));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문가능수량=>" + axKHOpenAPI.GetChejanData(933));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일순매수량=>" + axKHOpenAPI.GetChejanData(945));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매도 / 매수구분=>" + axKHOpenAPI.GetChejanData(946));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일 총 매도 손익=>" + axKHOpenAPI.GetChejanData(950));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 예수금=>" + axKHOpenAPI.GetChejanData(951));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매도호가=>" + axKHOpenAPI.GetChejanData(27));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매수호가=>" + axKHOpenAPI.GetChejanData(28));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 기준가=>" + axKHOpenAPI.GetChejanData(307));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 손익율=>" + axKHOpenAPI.GetChejanData(8019));


            /*추가-살아있다.*/
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용금액=>" + axKHOpenAPI.GetChejanData(957));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용이자=>" + axKHOpenAPI.GetChejanData(958));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 만기일=>" + axKHOpenAPI.GetChejanData(918));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익(유가)=>" + axKHOpenAPI.GetChejanData(990));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익률(유가) =>" + axKHOpenAPI.GetChejanData(991));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익(신용)  =>" + axKHOpenAPI.GetChejanData(992));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익률(신용)  =>" + axKHOpenAPI.GetChejanData(993));
            FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 담보대출수량  =>" + axKHOpenAPI.GetChejanData(959));



            TB_CHEJAN_BALANCE balance_Data = new TB_CHEJAN_BALANCE();
            String            dayTime      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            balance_Data.acct_num               = axKHOpenAPI.GetChejanData(9201).ToString().Trim();                    //[1]
            balance_Data.stock_cd               = axKHOpenAPI.GetChejanData(9001).ToString().Trim();                    //[2]
            balance_Data.curr_amt               = int.Parse(axKHOpenAPI.GetChejanData(10).ToString().Trim());           //[3]
            balance_Data.loan_dt                = axKHOpenAPI.GetChejanData(916).ToString().Trim();                     //[3]
            balance_Data.credit_gubun           = axKHOpenAPI.GetChejanData(917).ToString().Trim();                     //[3]
            balance_Data.possession_qty         = int.Parse(axKHOpenAPI.GetChejanData(930).ToString().Trim());          //[4]
            balance_Data.purchase_amt           = int.Parse(axKHOpenAPI.GetChejanData(931).ToString().Trim());          //[5]
            balance_Data.tot_purchase_amt       = int.Parse(axKHOpenAPI.GetChejanData(932).ToString().Trim());          //[6]
            balance_Data.order_possible_qty     = int.Parse(axKHOpenAPI.GetChejanData(933).ToString().Trim());          //[7]
            balance_Data.today_net_buy_qty      = int.Parse(axKHOpenAPI.GetChejanData(945).ToString().Trim());          //[8]
            balance_Data.order_type             = int.Parse(axKHOpenAPI.GetChejanData(946).ToString().Trim());          //[9]
            balance_Data.today_sell_profit_loss = int.Parse(axKHOpenAPI.GetChejanData(950).ToString().Trim());          //[10]
            balance_Data.deposit                = int.Parse(axKHOpenAPI.GetChejanData(951).ToString().Trim());          //[11]
            balance_Data.offered_amt            = int.Parse(axKHOpenAPI.GetChejanData(27).ToString().Trim());           //[12]
            balance_Data.bid_amt                = int.Parse(axKHOpenAPI.GetChejanData(28).ToString().Trim());           //[13]
            balance_Data.yesterday_amt          = int.Parse(axKHOpenAPI.GetChejanData(307).ToString().Trim());          //[14]
            balance_Data.profit_loss_rt         = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim());       //[15]

            balance_Data.profit_loss_rt               = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim()); //[15]
            balance_Data.credit_gubun                 = axKHOpenAPI.GetChejanData(917);                                 //[15]
            balance_Data.loan_dt                      = axKHOpenAPI.GetChejanData(916);                                 //[15]
            balance_Data.loan_qty                     = int.Parse(axKHOpenAPI.GetChejanData(959));                      //[15]
            balance_Data.credit_amt                   = int.Parse(axKHOpenAPI.GetChejanData(957));                      //[15]
            balance_Data.credit_interest              = float.Parse(axKHOpenAPI.GetChejanData(958));                    //[15]
            balance_Data.expiry_dt                    = axKHOpenAPI.GetChejanData(918);                                 //[15]
            balance_Data.today_profit_loss_amt        = int.Parse(axKHOpenAPI.GetChejanData(990));                      //[15]
            balance_Data.today_profit_loss_rt         = float.Parse(axKHOpenAPI.GetChejanData(991));                    //[15]
            balance_Data.credit_today_profit_loss_amt = int.Parse(axKHOpenAPI.GetChejanData(992));                      //[15]
            balance_Data.credit_today_profit_loss_rt  = float.Parse(axKHOpenAPI.GetChejanData(993));                    //[15]

            ChejanData chejanData = new ChejanData();

            chejanData.insertChejanBalance(balance_Data);
        }
コード例 #33
0
 public TrInfoWrapper(AxKHOpenAPI gateway, string trcode, string reqName)
 {
     m_gateway = gateway;
     m_trcode  = trcode;
     m_reqName = reqName;
 }
コード例 #34
0
ファイル: AppLib.cs プロジェクト: jijoungsoo/kiumopenapi
 public void setAxKHOpenAPIInstance(AxKHOpenAPI axKHOpenAPI)
 {
     this.axKHOpenAPI = axKHOpenAPI;
 }