본문 바로가기
키움자동매매

tr-opt10004(주식호가요청)

by hyunsoft 2022. 10. 8.

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

댓글