목차
기본 구조
//[opt10017: 상하한가요청] //1.Open API 조회 함수 입력값을 설정합니다. //시장구분 = 000:전체, 001:코스피, 101:코스닥 SetInputValue("시장구분" , "입력값 1"); //상하한구분 = 1:상한, 2:상승, 3:보합, 4: 하한, 5:하락, 6:전일상한, 7:전일하한 SetInputValue("상하한구분" , "입력값 2"); //정렬구분 = 1:종목코드순, 2:연속횟수순(상위100개), 3:등락률순 SetInputValue("정렬구분" , "입력값 3"); //종목조건 = 0:전체조회,1:관리종목제외, 3:우선주제외, 4:우선주 + 관리종목제외, 5:증100제외, 6:증100만 보기, 7:증40만 보기, 8:증30만 보기, 9:증20만 보기, 10:우선주 + 관리종목 + 환기종목제외 SetInputValue("종목조건", "입력값 4"); //거래량구분 = 00000:전체조회, 00010:만주이상, 00050:5만주이상, 00100:10만주이상, 00150:15만주이상, 00200:20만주이상, 00300:30만주이상, 00500:50만주이상, 01000:백만주이상 SetInputValue("거래량구분" , "입력값 5"); //신용조건 = 0:전체조회, 1:신용융자A군, 2:신용융자B군, 3:신용융자C군, 4:신용융자D군, 9:신용융자전체 SetInputValue("신용조건" , "입력값 6"); //매매금구분 = 0:전체조회, 1:1천원미만, 2:1천원 ~2천원, 3:2천원 ~3천원, 4:5천원 ~1만원, 5:1만원이상, 8:1천원이상 SetInputValue("매매금구분" , "입력값 7"); //2.Open API 조회 함수를 호출해서 전문을 서버로 전송합니다. CommRqData( "RQName" , "opt10017" , "0" , "화면번호");
코스피 상한가요청
private void btKospiMax_Click(object sender, EventArgs e) { // [OPT10017: 상하한가요청] api.SetInputValue("시장구분", "001"); // 코스피 api.SetInputValue("상하한구분", "1"); // 상한가 api.SetInputValue("정렬구분", "3"); // 3:등락률순 api.SetInputValue("종목조건", "0"); //0:전체조회 api.SetInputValue("거래량구분", "00000"); // 00000:전체조회 api.SetInputValue("신용조건", "0"); // 0:전체조회 api.SetInputValue("매매금구분", "0"); //0:전체조회 api.CommRqData("상하한가요청", "opt10017", 0, "1234"); }
주식기본정보요청 처리 결과 받기
void axKHOpenAPI1_OnReceiveTrData(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) { if (e.sRQName.IndexOf("상하한가요청") >= 0) { int n = api.GetRepeatCnt(e.sTrCode, e.sRQName); Trace.WriteLine(string.Format("상하한가요청 받음:{0},{1} 수량:{2}", e.sTrCode, e.sRQName, n)); for (int i = 0; i < n; i++) { Trace.WriteLine("종목코드:" + api.GetCommData(e.sTrCode, e.sRQName, i, "종목코드")); Trace.WriteLine("종목정보:" + api.GetCommData(e.sTrCode, e.sRQName, i, "종목정보")); Trace.WriteLine("종목명:" + api.GetCommData(e.sTrCode, e.sRQName, i, "종목명").Trim()); Trace.WriteLine("현재가:" + api.GetCommData(e.sTrCode, e.sRQName, i, "현재가")); Trace.WriteLine("전일대비기호:" + api.GetCommData(e.sTrCode, e.sRQName, i, "전일대비기호")); Trace.WriteLine("전일대비:" + api.GetCommData(e.sTrCode, e.sRQName, i, "전일대비")); Trace.WriteLine("등락률:" + api.GetCommData(e.sTrCode, e.sRQName, i, "등락률")); Trace.WriteLine("거래량:" + api.GetCommData(e.sTrCode, e.sRQName, i, "거래량")); Trace.WriteLine("전일거래량:" + api.GetCommData(e.sTrCode, e.sRQName, i, "전일거래량")); Trace.WriteLine("매도잔량:" + api.GetCommData(e.sTrCode, e.sRQName, i, "매도잔량")); Trace.WriteLine("매도호가:" + api.GetCommData(e.sTrCode, e.sRQName, i, "매도호가")); Trace.WriteLine("매수호가:" + api.GetCommData(e.sTrCode, e.sRQName, i, "매수호가")); Trace.WriteLine("매수잔량:" + api.GetCommData(e.sTrCode, e.sRQName, i, "매수잔량")); Trace.WriteLine("횟수:" + api.GetCommData(e.sTrCode, e.sRQName, i, "횟수")); } }
WATKiwoomLib.dll 종목기본정보 가져오기
준비중입니다.
결과물
금일(2020-12-16) 코스피 상한가 2종목을 보여줍니다. (금양, 삼화페인트)
[18164] 상하한가요청 받음:opt10017,상하한가요청 수량:2
[18164] 종목코드: 001570
[18164] 종목정보: 28
[18164] 종목명:금양
[18164] 현재가: +7470
[18164] 전일대비기호: 1
[18164] 전일대비: +1720
[18164] 등락률: +29.91
[18164] 거래량: 16200134
[18164] 전일거래량: 1943106
[18164] 매도잔량: 0
[18164] 매도호가: 0
[18164] 매수호가: +7470
[18164] 매수잔량: 451631
[18164] 횟수: 1
[18164] 종목코드: 000390
[18164] 종목정보: 27
[18164] 종목명:삼화페인트
[18164] 현재가: +10150
[18164] 전일대비기호: 1
[18164] 전일대비: +2310
[18164] 등락률: +29.46
[18164] 거래량: 4344238
[18164] 전일거래량: 341788
[18164] 매도잔량: 0
[18164] 매도호가: 0
[18164] 매수호가: +10150
[18164] 매수잔량: 705426
[18164] 횟수: 1