Exemple #1
0
        private void kiwoomApi_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            listBoxLog.Items.Add("로그인 결과 (ErrCode:" + e.nErrCode + ")");

            // 로그인 성공
            if (e.nErrCode == 0)
            {
                // 계좌 비밀번호 입력창 띄움
                kiwoomApi.KOA_Functions("ShowAccountWindow", "");

                // 로그인 완료 후 처리 로직
                getAllStocks();
                getLoginInfo();
                initAccountList();
                requestTrEstimatedAssets(); // 추정자산조회
                loadConditions();           // 조건검색 조회
            }
        }
Exemple #2
0
 public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     if (e.nErrCode == 0)
     {
         string   accountlist = axKHOpenAPI1.GetLoginInfo("ACCLIST");
         string[] account     = accountlist.Split(';');
         for (int i = 0; i < account.Length; i++)
         {
             accountComboBox.Items.Add(account[i]);
         }
         string userId          = axKHOpenAPI1.GetLoginInfo("USER_ID");
         string userName        = axKHOpenAPI1.GetLoginInfo("USER_NAME");
         string connectedServer = axKHOpenAPI1.GetLoginInfo("GetServerGubun");
         idLabel.Text     = userId;
         nameLabel.Text   = userName;
         serverLabel.Text = connectedServer;
     }
 }
Exemple #3
0
        public void OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {   //게좌 리스트 출력
            if (e.nErrCode == 0)
            {
                string   Account_list = axKHOpenAPI1.GetLoginInfo("ACCLIST").Trim(); // 계좌리스트 받아옴
                string[] 계좌목록         = Account_list.Split(';');

                for (int i = 0; i < 계좌목록.Length; i++)
                {
                    accountComboBox.Items.Add(계좌목록[i]);
                }
            }
            lb아이디.Text = axKHOpenAPI1.GetLoginInfo("USER_ID");
            lb이름.Text  = axKHOpenAPI1.GetLoginInfo("USER_NAME");

            //조건식 불러오기
            axKHOpenAPI1.GetConditionLoad();
        }
Exemple #4
0
        public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            stockList = new List <stockInfo>();

            if (e.nErrCode == 0)
            {
                string   accountlist = axKHOpenAPI1.GetLoginInfo("ACCLIST");
                string[] account     = accountlist.Split(';');

                cmbAccount.Items.Clear();
                for (int i = 0; i < account.Length; i++)
                {
                    cmbAccount.Items.Add(account[i]);
                }

                cmbAccount.SelectedIndex = 0;

                string userId          = axKHOpenAPI1.GetLoginInfo("USER_ID");
                string userName        = axKHOpenAPI1.GetLoginInfo("USER_NAME");
                string connectedServer = axKHOpenAPI1.GetLoginInfo("GetServerGubun");

                lblID.Text              = userId;
                lblName.Text            = userName;
                lblServer.Text          = connectedServer;
                btnBalanceCheck.Enabled = true;
                cmbAccount.Enabled      = true;
                txtPassword.Enabled     = true;

                AutoCompleteStringCollection stockcollection = new AutoCompleteStringCollection();
                string   stockCode      = axKHOpenAPI1.GetCodeListByMarket(null);
                string[] stockCodeArray = stockCode.Split(';');
                for (int i = 0; i < stockCodeArray.Length; i++)
                {
                    stockList.Add(new stockInfo(stockCodeArray[i], axKHOpenAPI1.GetMasterCodeName(stockCodeArray[i])));
                }
                for (int i = 0; i < stockList.Count; i++)
                {
                    stockcollection.Add(stockList[i].stockName);
                }
                txtStocks.AutoCompleteCustomSource = stockcollection;
            }
            timer1.Enabled = true;
            this.Enabled   = true;
        }
Exemple #5
0
 //---------------------------------------------------------------------
 // 주식 모듈의 콜벡 델리게이션
 public void axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent apiEvent)
 {
     try {
         if (Error.IsError(apiEvent.nErrCode))
         {
             Logger.getInstance.print(Log.StockAPI콜백, "[로그인 처리결과] " + Error.GetErrorMessage());
             this.loadAccountInfo();
             Program.stockBotDlg_.buttonStart().Enabled = true;
         }
         else
         {
             Logger.getInstance.print(Log.에러, "[로그인 처리결과] " + Error.GetErrorMessage());
         }
     }
     catch (AccessViolationException execption) {
         Logger.getInstance.print(Log.에러, "[로그인 콜백 에러]" + execption.Message);
     }
     this.runNextOrderFlag();
 }
 private void axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     if (e.nErrCode == 0)
     {
         this.listBox1.Items.Add("로그인 성공");
         if (this.axKHOpenAPI1.GetConnectState() == 1)
         {
             this.listBox1.Items.Add("접속상태:연결중");
         }
         else if (this.axKHOpenAPI1.GetConnectState() == 0)
         {
             this.listBox1.Items.Add("접속상태:미연결");
         }
     }
     else
     {
         this.listBox1.Items.Add("로그인 실패");
     }
 }
Exemple #7
0
 public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     if (e.nErrCode == 0)
     {
         string accountlist = axKHOpenAPI.GetLoginInfo("ACCLIST");
         Log(TraderHero.Log.DEBUG, accountlist);
         string[] account = accountlist.Split(';');
         for (int i = 0; i < account.Length; i++)
         {
             comboBox_account.Items.Add(account[i]);
         }
         string userId          = axKHOpenAPI.GetLoginInfo("USER_ID");
         string userName        = axKHOpenAPI.GetLoginInfo("USER_NAME");
         string connectedServer = axKHOpenAPI.GetLoginInfo("GetServerGubun");
         Log(TraderHero.Log.SYSTEM, userName + "님 환영합니다.");
         //idLabel.Text = userId;
         //nameLabel.Text = userName;
         //serverLabel.Text = connectedServer;
     }
 }
Exemple #8
0
        void OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            if (e.nErrCode == 0) // 로그인 성공
            {
                int res = axKHOpenAPI1.GetConditionLoad();

                if (res == 1)
                {
                    Console.WriteLine("조건목록 요청 성공");
                }
                else if (res == 1)
                {
                    Console.WriteLine("조건목록 요청 실패");
                }
            }
            else
            {
                MessageBox.Show("로그인 실패");
            }
        }
Exemple #9
0
        // 로그인 결과 판단
        private void axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            if (e.nErrCode == 0)
            {
                Logger(Log.일반, "[로그인 결과] : 성공");
                lblLogin.Text = "성공";

                _buy       = new Buy(this);
                _sell      = new Sell(this);
                _buyManual = new BuyManual(this);

                // 타이머시작
                ReqThreadStart();
            }
            else
            {
                Logger(Log.에러, "[로그인 결과] : 실패");
                lblLogin.Text = "실패";
            }
        }
Exemple #10
0
 private void onLoginSuccess(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     if (e.nErrCode == 0)
     {
         this.loginStatus.Text = "로그인 성공";
         if (this.kiWoomApi.GetConnectState() == 1)
         {
             this.loginStatus.Text = "접속상태 : 연결중";
             this.collectStart();
         }
         else if (this.kiWoomApi.GetConnectState() == 0)
         {
             this.loginStatus.Text = "접속상태 : 미연결";
         }
     }
     else
     {
         this.loginStatus.Text = "로그인 실패";
     }
 }
Exemple #11
0
        public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            stockList = new List <stockInfo>();

            if (e.nErrCode == 0)
            {
                AutoCompleteStringCollection stockcollection = new AutoCompleteStringCollection();

                string   stockCode      = axKHOpenAPI1.GetCodeListByMarket(null);
                string[] stockCodeArray = stockCode.Split(';');
                for (int i = 0; i < stockCodeArray.Length; i++)
                {
                    stockList.Add(new stockInfo(stockCodeArray[i], axKHOpenAPI1.GetMasterCodeName(stockCodeArray[i])));
                }
                for (int i = 0; i < stockList.Count; i++)
                {
                    stockcollection.Add(stockList[i].stockName);
                }
                stockTextBox.AutoCompleteCustomSource = stockcollection;
            }
        }
Exemple #12
0
        // 커넥션 연결 됐을때
        private void axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            textBox1.Text = KHConnector.Instance.GetLoginInfo("USER_ID").Trim();
            textBox2.Text = KHConnector.Instance.GetLoginInfo("ACCNO").Trim().Split(';')[0];
            textBox3.Text = KHConnector.Instance.GetLoginInfo("GetServerGubun").Trim();

            if (textBox3.Text == "1")
            {
                textBox3.Text = "모의투자 서버";
                IsRealServer  = false;
            }
            else
            {
                textBox3.Text = "실제 서버";
                IsRealServer  = true;
            }

            KHConnector.Instance.SetAccountNo(textBox2.Text);

            LoginEvent.Set();
        }
        public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            if (e.nErrCode == 0)
            {
                string   accountList = axKHOpenAPI1.GetLoginInfo("ACCLIST");
                string[] account     = accountList.Split(';');
                for (int i = 0; i < account.Length; i++)
                {
                    if (i == 0)
                    {
                        // 항상 첫번째 계좌 가져오기 (추후 변경 필요)
                        accno = account[i];
                    }
                }
                string userID          = axKHOpenAPI1.GetLoginInfo("USER_ID");
                string userName        = axKHOpenAPI1.GetLoginInfo("USER_NAME");
                string connectedServer = axKHOpenAPI1.GetLoginInfo("GetServerGubun");

                if (connectedServer == "1")
                {
                    serverType = "모의";
                }
                else
                {
                    serverType = "실서버";
                }

                userIdLabel.Text     = $"접속 유저: {userID}";
                userNameLabel.Text   = $"접속자 이름: {userName}";
                serverTypeLabel.Text = $"서버 종류: {serverType}";
                accountLabel.Text    = $"계좌번호: {accno}";


                GetPortfolioInfo();
                GetCodeList();
                GetFuturesCodeList();
                RegisterRealTimeData();
            }
        }
Exemple #14
0
        private void M_axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            log.Debug("errCode=" + e.nErrCode.ToString());
            Debug.WriteLine("KHOpenAPI_OnEventConnect=" + e.nErrCode.ToString());

            ErrorCode eCode = (ErrorCode)e.nErrCode;

            if (eCode == ErrorCode.OP_ERR_NONE)
            {
                if (OnConnected != null)
                {
                    OnConnected(this);
                }
            }
            else
            {
                if (OnConnectError != null)
                {
                    OnConnectError(this, eCode);
                }
            }
        }
        private void AxKH_OnEventConnection(Object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            string str = AxKH.GetLoginInfo("ACCNO");

            if (e.nErrCode == 0)
            {
                _loginStatus          = true;
                lblLoginStatus.Text   = "접속 중....";
                lblMsgTitle.Text      = "접속정보";
                lblMsg.Text           = "로그인 성공";
                btnDisconnect.Enabled = true;
                Telegram_Send();
            }
            else
            {
                _loginStatus        = false;
                lblLoginStatus.Text = "오프라인....";
                lblMsgTitle.Text    = "접속정보";
                GetErrorMessage(e.nErrCode);
                lblMsg.Text           = GetErrorMessage();
                btnDisconnect.Enabled = false;
            }
        }
Exemple #16
0
 private void OnConnectEvent(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     if (e.nErrCode == 0)
     {
         Console.WriteLine("로그인 성공");
         requestUserInfo();
     }
     else if (e.nErrCode == 100)
     {
         Console.WriteLine("사용자 정보교환 실패");
     }
     else if (e.nErrCode == 101)
     {
         Console.WriteLine("서버 접속 실패");
     }
     else if (e.nErrCode == 102)
     {
         Console.WriteLine("버전처리 실패");
     }
     else
     {
         Console.WriteLine("알수 없는 오류 발생");
     }
 }
Exemple #17
0
        private void axKHOpenAPI1_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            if (e.nErrCode == 0)
            {
                /**
                 * 로그인 성공시:
                 *  - progressbar update
                 *  - DB를 접속해서 어제 수집한 종목들을 gridview에 추가해 준다.
                 *  - Handler 들을 초기화한다?
                 */
                toolStripProgressBar.Value = 100;
                logger.Info($"로그인 성공. {DateTime.Now}");
                toolStripStatusLabel.Text = $"로그인 성공. {DateTime.Now}";

                opw00018EventHandler  = new Opw00018EventHandler(this, axKHOpenAPI1);
                conditionEventHandler = new ConditionEventHandler(this, axKHOpenAPI1);
                accountEventHandler   = new AccountEventHandler(this, axKHOpenAPI1);

                collectItemsViewController = new CollectItemsViewController(this);
                accountAlarmViewController = new AccountAlarmViewController(this);
                settingsViewController     = new SettingsViewController(this, this);
                chejanViewController       = new ChejanViewController(this);
            }
        }
Exemple #18
0
 private void AxKHOpenAPI1_OnEventConnect1(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     Console.WriteLine("Success!!");
     GetLoginInfo();
 }
        private void AxKHOpenAPI1_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            Console.WriteLine("Success");

            throw new NotImplementedException();
        }
Exemple #20
0
        private void axKHOpenAPI1_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
        {
            try
            {
                if (e.nErrCode == 0)
                {
                    string   accountlist = axKHOpenAPI1.GetLoginInfo("ACCLIST");
                    string[] account     = accountlist.Split(';');
                    for (int i = 0; i < account.Length; i++)
                    {
                        comboBox1.Items.Add(account[i]);
                    }

                    if (account.Length > 0)
                    {
                        comboBox1.SelectedIndex = 0;
                    }

                    string userId          = axKHOpenAPI1.GetLoginInfo("USER_ID");
                    string userName        = axKHOpenAPI1.GetLoginInfo("USER_NAME");
                    string connectedServer = axKHOpenAPI1.GetLoginInfo("GetServerGubun");
                    lblUserID.Text   = userId;
                    lblUserName.Text = userName;
                    lblServerNo.Text = connectedServer;

                    string   stockCode      = axKHOpenAPI1.GetCodeListByMarket("0");
                    string[] stockCodeArray = stockCode.Split(';');

                    lblCountOfStocks.Text = stockCodeArray.Length.ToString();

                    for (int i = 0; i < stockCodeArray.Length; i++)
                    {
                        StockCode code = new StockCode();
                        code.stockCode = stockCodeArray[i];
                        code.stockName = axKHOpenAPI1.GetMasterCodeName(stockCodeArray[i]);

                        biz.stockList.Add(code);
                    }

                    Biz.AccountNo = comboBox1.SelectedItem.ToString();

                    if (string.IsNullOrEmpty(Biz.AccountNo))
                    {
                        MessageBox.Show("계좌가 존재하지 않음!!!");
                        return;
                    }

                    if ("Auto".Equals(ExecuteMode))
                    {
                        button3_Click(null, null);

                        this.backgroundWorker1.RunWorkerAsync(10000);
                    }
                    else if ("SetTarget".Equals(ExecuteMode))
                    {
                        trBiz.당일거래량상위요청("1", "3");
                    }
                }
                else
                {
                    MessageBox.Show("연결오류");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #21
0
 public void onEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     CodeList.DataSource = CodeManager.Instance.AllName();
 }
 private void axKHOpenAPI_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
 }
Exemple #23
0
 private void m_gateway_OnEventConnect(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnEventConnectEvent e)
 {
     m_listStrat.Items.Add("FDDL");
     ProgramControl.start(m_gateway);
 }