tr-opt10004(주식호가요청)
- REQUEST Code
string trStockCd = tbTrStockCd.Text;
string trCd = "opt10004";
axKHOpenAPI.SetInputValue("종목코드", trStockCd);
axKHOpenAPI.CommRqData("RQName", trCd, 0, GetScrNum());
- RESPONSE Code
//TR 조회 요구에 대한 데이터 수신 이벤트
private void axKHOpenAPI_OnReceiveTrData(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) {
switch (e.sTrCode.ToLower()) {
case "opt10004": //주식호가요청
funcOpt10004(sender, e);
break;
}
}
// 주식호가요청(opt10004)
private void funcOpt10004(object sender, AxKHOpenAPILib._DKHOpenAPIEvents_OnReceiveTrDataEvent e) {
try {
string[] columns = new string[] { "호가잔량기준시간", "매도10차선잔량대비", "매도10차선잔량", "매도10차선호가", "매도9차선잔량대비", "매도9차선잔량", "매도9차선호가", "매도8차선잔량대비", "매도8차선잔량", "매도8차선호가", "매도7차선잔량대비", "매도7차선잔량", "매도7차선호가", "매도6차선잔량대비", "매도6차선잔량", "매도6차선호가", "매도5차선잔량대비", "매도5차선잔량", "매도5차선호가", "매도4차선잔량대비", "매도4차선잔량", "매도4차선호가", "매도3차선잔량대비", "매도3차선잔량", "매도3차선호가", "매도2차선잔량대비", "매도2차선잔량", "매도2차선호가", "매도1차선잔량대비", "매도최우선잔량", "매도최우선호가", "매수최우선호가", "매수최우선잔량", "매도1차선잔량대비", "매도2차선호가", "매도2차선잔량", "매도2차선잔량대비", "매도3차선호가", "매도3차선잔량", "매도3차선잔량대비", "매도4차선호가", "매도4차선잔량", "매도4차선잔량대비", "매도5차선호가", "매도5차선잔량", "매도5차선잔량대비", "매도6차선호가", "매도6차선잔량", "매도6차선잔량대비", "매도7차선호가", "매도7차선잔량", "매도7차선잔량대비", "매도8차선호가", "매도8차선잔량", "매도8차선잔량대비", "매도9차선호가", "매도9차선잔량", "매도9차선잔량대비", "매도10차선호가", "매도10차선잔량", "매도10차선잔량대비", "총매도잔량직전대비", "총매도잔량", "총매수잔량", "총매수잔량직전대비", "시간외매도잔량대비", "시간외매도잔량", "시간외매수잔량", "시간외매수잔량대비" };
List<string[]> list = new List<string[]>();
list.Add(columns);
Console.WriteLine("<!-- Start funcOpt10004 (주식호가요청(opt10004)) -->");
int nCnt = axKHOpenAPI.GetRepeatCnt(e.sTrCode, e.sRQName);
for (int ni = 0; ni < nCnt; ni++) {
string[] row = new string[columns.Length];
for (int i = 0; i < columns.Length; i++) {
row[i] = axKHOpenAPI.GetCommData(e.sTrCode, e.sRQName, ni, columns[i]).Trim();
}
list.Add(row);
}
PrintHtmlTable(list);
Console.WriteLine("<!-- End funcOpt10004 (주식호가요청(opt10004)) -->");
}
catch (Exception e1) {
Console.WriteLine(e1.StackTrace);
}
}
public void PrintHtmlTable(List<string[]> list) {
string table = "<table>\r\n";
for (int i = 0; i < list.Count; i++) {
table +="<tr>";
for (int j = 0; j < list[i].Length; j++) {
table += string.Format("<td>{0}</td>", list[i][j]);
}
table +="</tr>\r\n";
}
table +="</table>";
Console.WriteLine(table);
tbLog.Text = table;
}
- RESPONSE Data Sample
호가잔량기준시간 | 매도10차선잔량대비 | 매도10차선잔량 | 매도10차선호가 | 매도9차선잔량대비 | 매도9차선잔량 | 매도9차선호가 | 매도8차선잔량대비 | 매도8차선잔량 | 매도8차선호가 | 매도7차선잔량대비 | 매도7차선잔량 | 매도7차선호가 | 매도6차선잔량대비 | 매도6차선잔량 | 매도6차선호가 | 매도5차선잔량대비 | 매도5차선잔량 | 매도5차선호가 | 매도4차선잔량대비 | 매도4차선잔량 | 매도4차선호가 | 매도3차선잔량대비 | 매도3차선잔량 | 매도3차선호가 | 매도2차선잔량대비 | 매도2차선잔량 | 매도2차선호가 | 매도1차선잔량대비 | 매도최우선잔량 | 매도최우선호가 | 매수최우선호가 | 매수최우선잔량 | 매도1차선잔량대비 | 매도2차선호가 | 매도2차선잔량 | 매도2차선잔량대비 | 매도3차선호가 | 매도3차선잔량 | 매도3차선잔량대비 | 매도4차선호가 | 매도4차선잔량 | 매도4차선잔량대비 | 매도5차선호가 | 매도5차선잔량 | 매도5차선잔량대비 | 매도6차선호가 | 매도6차선잔량 | 매도6차선잔량대비 | 매도7차선호가 | 매도7차선잔량 | 매도7차선잔량대비 | 매도8차선호가 | 매도8차선잔량 | 매도8차선잔량대비 | 매도9차선호가 | 매도9차선잔량 | 매도9차선잔량대비 | 매도10차선호가 | 매도10차선잔량 | 매도10차선잔량대비 | 총매도잔량직전대비 | 총매도잔량 | 총매수잔량 | 총매수잔량직전대비 | 시간외매도잔량대비 | 시간외매도잔량 | 시간외매수잔량 | 시간외매수잔량대비 |
160000 | 0 | 1027 | -20500 | 0 | 2225 | -20450 | 0 | 2862 | -20400 | 0 | 2867 | -20350 | 0 | -20300 | 0 | 6966 | -20250 | 0 | 1579 | -20200 | 0 | 1749 | -20150 | 0 | 3638 | -20100 | 0 | 5117 | -20050 | -20000 | 6777 | 0 | -20100 | 3638 | 0 | -20150 | 1749 | 0 | -20200 | 1579 | 0 | -20250 | 6966 | 0 | -20300 | 0 | -20350 | 2867 | 0 | -20400 | 2862 | 0 | -20450 | 2225 | 0 | -20500 | 1027 | 0 | 0 | 30167 | 87946 | 0 | 0 | 0 | 2941 | 0 |
키움 open-api TR 목록
728x90
댓글