본문 바로가기

프로그래밍/한국투자증권API

한국투자증권 API 모바일앱 - satps 주식 계좌 당일 잔고 현황 조회

반응형

한국투자증권 API 모바일앱 - satps 주식 계좌 당일 잔고 현황 조회 

 

가이드에는 없는 기능이다.

하지만 SampleOrderView.java 파일에 구현되어 있다.

 

SampleCode와 같이 m_OrderTranProc를 선언했다.

var m_JangoTranProc: ExpertTranProc? = null //잔고 조회

 

초기화 추가

m_JangoTranProc = ExpertTranProc(this@MainActivity)
m_JangoTranProc!!.InitInstance(this@MainActivity)
m_JangoTranProc!!.SetShowTrLog(false)

 

onDestroy() 추가

m_JangoTranProc!!.ClearInstance()
m_JangoTranProc = null

 

 

잔고 조회는 아래와 같이 구현했다.

    fun getJango(){
        var strPass = "비밀번호"
        var strEncPass = ""
        m_JangoTranProc!!.ClearInblockData()
        if (tStatus == null) return
        m_JangoTranProc!!.SetSingleData(0, 0, tStatus.getText().toString())
        //상품코드
        m_JangoTranProc!!.SetSingleData(0, 1, "01")

        strEncPass = m_JangoTranProc!!.GetEncryptPassword(strPass)
        m_JangoTranProc!!.SetSingleData(0, 2, strEncPass)
        m_JangoTranProc!!.SetSingleData(0, 3, "N") //시간외 단일가여부
        m_JangoTranProc!!.SetSingleData(0, 4, "N") //오프라인 여부
        m_JangoTranProc!!.SetSingleData(0, 5, "01") //조회구분
        m_JangoTranProc!!.SetSingleData(0, 6, "01") //단가구분
        m_JangoTranProc!!.SetSingleData(0, 7, "N") //펀드결제분 포함여부
        m_JangoTranProc!!.SetSingleData(0, 8, "N") //융자금액자동상환여부
        m_JangoTranProc!!.SetSingleData(0, 9, "00") //처리구분
        m_JangoTranProc!!.SetSingleData(0, 10, " ") //연속조회검색조건
        m_JangoTranProc!!.SetSingleData(0, 11, " ") //연속조회키

        m_nJangoRqId = m_JangoTranProc!!.RequestData("satps")
    }

 

onTranDataReceived() 로 결과가 들어온다.

        if (m_nJangoRqId == nRqId) {
            var resultText = ""
            //예수금 총금액
            val strTotal1 = m_JangoTranProc!!.GetMultiData(1, 0, 0)
            //총평가금액
            val strTotal2 = m_JangoTranProc!!.GetMultiData(1, 14, 0)
            //D-2 정산금액
            val strD2price = m_JangoTranProc!!.GetMultiData(1, 9, 0)

            val nCount = m_JangoTranProc!!.GetValidCount(0)

            resultText = resultText + strTotal1 + " " + strTotal2 + " " + nCount + "\n"

            for (i in 0 until nCount) {
                //종목
                val strCode = m_JangoTranProc!!.GetMultiData(0, 0, i)
                val strName = m_JangoTranProc!!.GetMultiData(0, 1, i)
                //잔고
                val strQty = m_JangoTranProc!!.GetMultiData(0, 7, i)
                var strAverPrice = m_JangoTranProc!!.GetMultiData(0, 9, i)

                resultText = resultText + strCode + " " + strName + " " + strQty + "\n"

                if(strCode.contains("114800")){
                    inverTotal = strQty
                    inverAverPrice = strAverPrice.toDouble()
                } else if (strCode.contains("122630")) {
                    leverTotal = strQty
                    leverAverPrice = strAverPrice.toDouble()
                }

            }
            tResultText.text = resultText
            tTotalRaver.text = "레버리지 : " + leverTotal + " 인버스 : " + inverTotal
            tStockData2.text = "" + (strTotal1.toInt() - strTotal2.toInt())

            System.out.println("KospiEx 잔고조회 : " + resultText + ", D-2정산금액 : " + strD2price)
        }

한국투자증권 OpenAPI 모바일앱 개발 전체 리스트

stockant.tistory.com/304

 

==================================================

한국투자증권 OpenAPI 관련 블로그 내용을 모아 편집하여 전자책을 만들었습니다.

블로그 내용과 거의 유사하므로 블로그를 참고하실 분은 구매하지 않으셔도 됩니다.

kmong.com/gig/248964

 

 

 

반응형