Application/C# (WinForm)

[C# WinForm] 키움 증권 Open API 전 종목 실시간 데이터 등록하기

devsalix 2023. 2. 28. 15:36
728x90

키움 증권 Open API를 이용하여

 

현재 키움 증권에 등록된 전 종목의 데이터를 실시간으로 가져오기 위해서는

 

GetCodeListByMarket 함수를 이용해 모든 종목을 조회하여

 

SetRealReg 데이터로 등록을 진행하면 됩니다

 

우선 로그인 이후 아래와 같이 작성해 주면 전 종목을 실시간 데이터로 등록이 가능합니다

 

public enum ENUM_REAL_주식체결 : int
{
	체결시간 = 20,
	현재가 = 10,
	전일대비 = 11,
	등락율 = 12,
	최우선_매도호가 = 27,
	최우선_매수호가 = 28,
	거래량 = 15,
	누적거래량 = 13,
	누적거래대금 = 14,
	시가 = 16,
	고가 = 17,
	저가 = 18,
	전일대비기호 = 25,
	전일거래량대비 = 26,
	거래대금증감 = 29,
	전일거래량대비_비율 = 30,
	거래회전율 = 31,
	거래비용 = 32,
	체결강도 = 228,
	시가총액_억 = 311,
	장구분 = 290,
	KO접근도 = 691,
	상한가발생시간 = 567,
	하한가발생시간 = 568,
	전일_동시간_거래량_비율 = 851
}

private bool RegAllRealData()
{
	string strFidList = "";

	strFidList += (int)ENUM_REAL_주식체결.현재가 + ";";
	strFidList += (int)ENUM_REAL_주식체결.전일대비 + ";";
	strFidList += (int)ENUM_REAL_주식체결.등락율 + ";";
	strFidList += (int)ENUM_REAL_주식체결.거래량;
		
	int iScreenNumber = 1;
	string []Markets;
	string strCode = "";
	int iCount = 0;
	
	/*
	[시장구분값]
	0 : 코스피
	10 : 코스닥
	3 : ELW
	8 : ETF
	50 : KONEX
	4 :  뮤추얼펀드
	5 : 신주인수권
	6 : 리츠
	9 : 하이얼펀드
	30 : K-OTC
	*/
	Markets = m_axKHOpenAPI.GetCodeListByMarket("0").Split(';');
	
	for (int iCnt = 0; iCnt < Markets.Length; iCnt++)
	{
		strCode += Markets[iCnt] + ";";
		iCount++;

		if(iCount >= 100)
		{
			strCode = strCode.Substring(0, strCode.Length - 1);

			m_axKHOpenAPI.SetRealReg(iScreenNumber.ToString("0000"), strCode, strFidList, "1");

			strCode = "";
			iCount = 0;
			iScreenNumber++;
		}
	}
	
	strCode = strCode.Substring(0, strCode.Length - 1);
	m_axKHOpenAPI.SetRealReg(iScreenNumber.ToString("0000"), strCode, strFidList, "1");
	iScreenNumber++;
}

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 

 

728x90
반응형