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
반응형
'Application > C# (WinForm)' 카테고리의 다른 글
[C# WinForm] wav 음원 출력 하기 (0) | 2023.03.03 |
---|---|
[C# WinForm] 키움 증권 Open API 잔고 가져오기 (0) | 2023.03.02 |
[C# WinForm] 키움 증권 Open API 사용법 (OCX 사용) (0) | 2023.02.24 |
[C# WinForm] 시간 차 구하기 (DateTime, TimeSpan) (0) | 2023.02.23 |
[C# WinForm] 중복 실행 방지 (Mutex) (0) | 2023.01.27 |