Example #1
0
        public void RequestItem(string ItemCode, ReceiveAfter delFunc, CHART_TYPE typeChart = CHART_TYPE.TICK_30)
        {
            if (!string.IsNullOrEmpty(ItemCode))
            {
                afterEventFunction        = delFunc;
                chartItemCodeTextBox.Text = ItemCode;
                ItemName.Text             = axKHOpenAPI1.GetMasterCodeName(ItemCode);

                switch (typeChart)
                {
                case  CHART_TYPE.TICK_30:
                    Task requestItemInfoTask = new Task(() =>
                    {
                        axKHOpenAPI1.SetInputValue("종목코드", ItemCode);
                        axKHOpenAPI1.SetInputValue("틱범위", "30");
                        axKHOpenAPI1.SetInputValue("수정주가구분", "0");
                        int result = axKHOpenAPI1.CommRqData(ConstName.RECEIVE_TR_DATA_TICK_CHART + ":" + screenNumber, "opt10079", 0, "1080");
                        if (result != ErrorCode.정상처리)
                        {
                            Core.CoreEngine.GetInstance().SendLogErrorMessage("ERROR : " + result.ToString());
                        }
                    });
                    Core.CoreEngine.GetInstance().requestTrDataManager.RequestTrData(requestItemInfoTask);
                    break;

                case CHART_TYPE.MINUTE_5:
                    Task requestItemInfoTaskMinute = new Task(() =>
                    {
                        axKHOpenAPI1.SetInputValue("종목코드", ItemCode);
                        axKHOpenAPI1.SetInputValue("틱범위", "5");
                        axKHOpenAPI1.SetInputValue("수정주가구분", "0");
                        int result = axKHOpenAPI1.CommRqData(ConstName.RECEIVE_TR_DATA_MINUTE_CHART + ":" + screenNumber, "opt10080", 0, "1080");
                        if (result != ErrorCode.정상처리)
                        {
                            Core.CoreEngine.GetInstance().SendLogErrorMessage("ERROR : " + result.ToString());
                        }
                    });
                    Core.CoreEngine.GetInstance().requestTrDataManager.RequestTrData(requestItemInfoTaskMinute);
                    break;

                default:
                    break;
                }
            }
        }
Example #2
0
        private Dictionary <String, String> getCodeDictionaryByMarketNum(String marketNum)
        {
            DataUtil      util     = new DataUtil();
            String        codeData = kiWoomApi.GetCodeListByMarket(marketNum);
            List <String> codeList = util.parseCodeData(codeData);
            Dictionary <String, String> codeDic = new Dictionary <String, String>();

            codeList.RemoveAt(codeList.Count - 1);

            foreach (String code in codeList)
            {
                String name = kiWoomApi.GetMasterCodeName(code);
                if (marketNum.Equals("0") && code[0] == '5')
                {
                    continue;
                }
                codeDic.Add(code, name);
            }
            return(codeDic);
        }