11. 분봉,일봉,월봉,주봉,년봉 가져오기

11. 분봉,일봉,주봉, 월봉,년봉 가져오기

‘대량 DATA(차트 조회) 수신’ 기능을 이용하여 각 차트에 대한 정보를 가져올 수 있습니다.  
분봉 가져오기
요청
       const string MainRequestName = "분봉정보";

       API.OnReceiveTrData += api_OnReceiveTrData; // 이벤트 지정
   

      private void RequestLastDayInfo(string _code)
         {             
            API.SetInputValue("종목코드", _code);
            API.SetInputValue("틱범위", "1");
            API.SetInputValue("기준일자", DateTime.Now.ToString("yyyyMMdd"));        
            API.SetInputValue("수정주가구분", "1");
 
            int nRet = API.CommRqData(MainRequestName, "OPT10080", 0, "2005");
            if (nRet != 0)
                Trace.WriteLine("분봉 정보 정보요청 실패");
         }
     
일봉가져오기
요청
       const string MainRequestName = "일봉정보";

       API.OnReceiveTrData += api_OnReceiveTrData; // 이벤트 지정
   

      private void RequestLastDayInfo(string _code)
         {             
            API.SetInputValue("종목코드", _code);
            API.SetInputValue("기준일자", DateTime.Now.AddDays(-2).ToString("yyyyMMdd"));        
            API.SetInputValue("수정주가구분", "1");
 
            int nRet = API.CommRqData(MainRequestName, "OPT10081", 0, "2005");
            if (nRet != 0)
                Trace.WriteLine("단타 전일 일봉 정보 정보요청 실패");
         }
이벤트 수신
         void api_OnReceiveTrData(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e)
         {
             if (e.sRQName == MainRequestName)
             {

                 object arg = API.GetCommDataEx(e.sTrCode, MainRequestName);

                 int nIdx = 0;
              
                 // 기본적으로 900개 까지 받을 수 있으며
                 // 상장한지 900 거래일 이하라면 존재하는 일봉만 받게 됩니다.
                 int DayCount = Math.Min(((Array)arg).GetLength(0), 100);   // 100개 이하의 일봉데이터 받기

                 for (nIdx = 0; nIdx < DayCount; nIdx++)
                 {
                     BarEntityObject day = new BarEntityObject()
                     {
                         종가 = Convert.ToInt32(((Array)arg).GetValue(nIdx, 1).ToString()),
                         // 거래량 (2)
                         // 거래대금 (3)
                         일자 = (((Array)arg).GetValue(nIdx, 4).ToString()),
                         시가 = Convert.ToInt32(((Array)arg).GetValue(nIdx, 5).ToString()),
                         고가 = Convert.ToInt32(((Array)arg).GetValue(nIdx, 6).ToString()),
                         저가 = Convert.ToInt32(((Array)arg).GetValue(nIdx, 7).ToString()),
                     };

                     Trace.WriteLine("일자:" + day.일자 + ",종가:" + day.종가);
            
                 }
                
             }
         }
    }
         
주봉 가져오기
 
월봉 가져오기
 
년봉 가져오기
           

키움API 조건검색 사용 하위 항목

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다