마스터욱
Toggle navigation
  • 회원가입 | 정보찾기
ICON NAVIGATION
정보수정 쪽지함 주변맛집 익명채팅
공지사항 채팅 개발문의 방명록
  • MAIN NAVIGATION
  • 메인
  • 마스터욱 공간
    • 마스터욱 소개
    • 개발 리스트
    • 공지사항
    • 방명록
  • 마스터욱 외부자료
    • 네이버
    • 티스토리
    • 깃허브(github)
  • 개인 프로젝트
    • 랜덤 이성 채팅
    • Auto 크롤링
    • Javascript 카카오 채팅
    • 파이썬 뉴스매매
    • C# 키움 주식 자동매매
    • C# 키움 주식 패턴 분석
    • PHP 욱보드
    • 업비트 자동매매 개발
    • 업비트 자동매매 일지
  • 개발 의뢰
    • 개발 문의
    • 개발 견적
    • 개발 피드백
    • FAQ
  • 개발 경험 Tip
    • PHP
    • JSP
    • HTML
    • Javascript
    • Android
    • C#
    • MySQL
    • Linux
    • Python
    • NodeJS
    • React
    • Vue.js
    • Flutter
    • 정규식
    • 기타
  • 커뮤니티
    • 자유게시판
    • 추천사이트
    • 영화
    • 여행
    • 유머
    • Overseas News
  • 맛집&즐길 거리 탐방
    • 맛집 정보
    • 즐길 거리 정보
    • 내 주위 맛집&즐길 거리
  • 공유 사진
    • 음식
    • 여행
    • 캐릭터
    • 배경
    • 기타
    • 이모티콘
    • 일러스트
  • 놀이터
    • 블록뽀시기
    • 트레이딩뷰
    • 로또 시뮬레이션
    • 쳇쳇 익명 채팅
    • 랜덤 이성 채팅
    • AI 채팅
    • 미니 채팅
    • 바이너리 테스트
    • 마번호 생성기
    • 바카라 시뮬레이션
    • 홀짝점수 테스트
    • 로또 분석기
SITE STATISTICS
  • - 명 현재 접속자
  • 1,827 명 오늘 방문자
  • 2,310 명 어제 방문자
  • 5,192 명 최대 방문자
  • 687,400 명 전체 방문자
  • 2,569 개 전체 게시물
  • 496 개 전체 댓글수
Facebook Twitter GooglePlus KakaoStory NaverBand
  1. 홈
  2. C# 키움증권 자동매매
목록으로

키움API - 일자별실현손익요청

마스터욱 0 417 0 0 2018-07-26 14:47:55
호출함수
  1. private void requestProfitInfo()
  2. {
  3.     fparent.axKHOpenAPI1.SetInputValue("계좌번호", currentAccount);
  4.     fparent.axKHOpenAPI1.SetInputValue("시작일자", DateTime.Now.ToString("yyyyMMdd"));
  5.     fparent.axKHOpenAPI1.SetInputValue("종료일자", DateTime.Now.ToString("yyyyMMdd"));
  6.  
  7.     int result = fparent.axKHOpenAPI1.CommRqData("일자별실현손익요청", "opt10074", 0, GetScrNum());
  8. }

"일자별실현손익요청" 으로 호출하여 OnReceiveTrData 에서 callBack 데이터를 받습니다.

아래는 CommRqData 원형입니다.

 

          [CommRqData() 함수]

          

          CommRqData(

          BSTR sRQName,    // 사용자 구분명

          BSTR sTrCode,    // 조회하려는 TR이름

          long nPrevNext,  // 연속조회여부

          BSTR sScreenNo  // 화면번호

          )

          

          조회요청함수이며 빈번하게 조회요청하면 시세과부하 에러값으로 -200이 전달됩니다.

          리턴값

          0이면 조회요청 정상 나머지는 에러

          -200 시세과부하

          -201 조회전문작성 에러

 

 

OnReceiveTrData 의 조건부분 

 

  1. else if (e.sRQName == "일자별실현손익요청")
  2. {
  3.     //string.Format("{0:n0}", row.Value.매수가격);
  4.     /*
  5.     string temp1 = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총매입금액").TrimStart('0');
  6.    if (!temp1.Equals(""))
  7.     {
  8.         totalBuyTextView.Text = string.Format("{0:n0}", double.Parse(temp1));
  9.     }
  10.  
  11.     string temp2 = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총평가금액").TrimStart('0');
  12.    if (!temp2.Equals(""))
  13.     {
  14.         totalEstimateTextView.Text = string.Format("{0:n0}", double.Parse(temp2));
  15.         if (double.Parse(temp2) > double.Parse(temp1))
  16.         {
  17.             totalEstimateTextView.ForeColor = Color.Red;
  18.         }
  19.         else
  20.         {
  21.             totalEstimateTextView.ForeColor = Color.Blue;
  22.         }
  23.     }
  24.  
  25.     string temp3 = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총평가손익금액");
  26.     if (!temp3.Equals(""))
  27.     {
  28.         totalProfitTextView.Text = string.Format("{0:n0}", double.Parse(temp3));
  29.         if (double.Parse(temp3) > 0)
  30.         {
  31.             totalProfitTextView.ForeColor = Color.Red;
  32.         }
  33.         else
  34.         {
  35.             totalProfitTextView.ForeColor = Color.Blue;
  36.         }
  37.     }
  38.  
  39.     string temp4 = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총수익률(%)").TrimStart('0');
  40.    if (!temp4.Equals(""))
  41.     {
  42.         totalProfitRateTextView.Text = double.Parse(temp4).ToString();
  43.         if (double.Parse(temp4) > 0)
  44.         {
  45.             totalProfitRateTextView.ForeColor = Color.Red;
  46.         }
  47.         else
  48.         {
  49.             totalProfitRateTextView.ForeColor = Color.Blue;
  50.         }
  51.     }
  52.     */
  53.  
  54.     string temp = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총매수금액").TrimStart('0');
  55.    if (!temp.Equals(""))
  56.     {
  57.         totalBuyTextView.Text = string.Format("{0:n0}", double.Parse(temp));
  58.     }
  59.  
  60.     temp = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "총매도금액").TrimStart('0');
  61.    if (!temp.Equals(""))
  62.     {
  63.         totalEstimateTextView.Text = string.Format("{0:n0}", double.Parse(temp));
  64.     }
  65.  
  66.     temp = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "실현손익").Trim();
  67.     if (string.IsNullOrEmpty(temp) == false)
  68.     {
  69.         Console.WriteLine("실현손익 = " + temp);
  70.         Double 실현손익 = double.Parse(temp);
  71.         totalProfitTextView.Text = string.Format("{0:n0}", 실현손익);
  72.         if (실현손익 > 0)
  73.         {
  74.             totalProfitTextView.ForeColor = Color.Red;
  75.         }
  76.         else if (실현손익 < 0)
  77.         {
  78.             totalProfitTextView.ForeColor = Color.Blue;
  79.         }
  80.         else
  81.         {
  82.             totalProfitTextView.ForeColor = Color.Black;
  83.         }
  84.     }
  85.  
  86.     temp = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "매매수수료").TrimStart('0');
  87.    if (!temp.Equals(""))
  88.     {
  89.         totalProfitRateTextView.Text = string.Format("{0:n0}", double.Parse(temp));
  90.     }
  91.  
  92.     temp = fparent.axKHOpenAPI1.GetCommData(e.sTrCode, e.sRQName, 0, "매매세금").TrimStart('0');
  93.    if (!temp.Equals(""))
  94.     {
  95.         realProfitTextView.Text = string.Format("{0:n0}", double.Parse(temp));
  96.     }
  97. }

 

GetCommData 함수로 각 정보들을 호출합니다.

아래는 GetCommData 함수의 원형입니다.

 

          [GetCommData() 함수]

          

          GetCommData(

          BSTR strTrCode,   // TR 이름

          BSTR strRecordName,   // 레코드이름

          long nIndex,      // TR반복부

          BSTR strItemName) // TR에서 얻어오려는 출력항목이름

          

          OnReceiveTRData()이벤트 함수가 호출될때 조회데이터를 얻어오는 함수입니다.

          이 함수는 반드시 OnReceiveTRData()이벤트 함수가 호출될때 그 안에서 사용해야 합니다.

          

          ------------------------------------------------------------------------------------------------------------------------------------

          

          [OPT10081 : 주식일봉차트조회요청예시]

          

          OnReceiveTrDataKhopenapictrl(...)

          {

            if(strRQName == _T("주식일봉차트"))

            {

              int nCnt = OpenAPI.GetRepeatCnt(sTrcode, strRQName);

              for (int nIdx = 0; nIdx < nCnt; nIdx++)

              {

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("종목코드"));   strData.Trim();

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("거래량"));   strData.Trim();

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("시가"));   strData.Trim();

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("고가"));   strData.Trim();

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("저가"));   strData.Trim();

                strData = OpenAPI.GetCommData(sTrcode, strRQName, nIdx, _T("현재가"));   strData.Trim();

              }

            }

          }

          

          ------------------------------------------------------------------------------------------------------------------------------------

 

결과샘플(모의투자입니다.)

키움API - 일자별실현손익요청
 

0
0

목록

Facebook Twitter GooglePlus KakaoStory NaverBand
0 Comments

비밀번호 확인

확인
댓글은 자신을 나타내는 '얼굴'입니다. *^^*
등록
자동등록방지 숫자를 순서대로 입력하세요.

댓글수정


번호 제목 이름 날짜 조회
  • 8
    키움API KOA 스튜디오 "파일 삭제 실패" 에러가 발생할 경우
    마스터욱
    조회수 221   21-01-27 02:02
    마스터욱
    21-01-27 02:02
    221
  • 7
    키움API - 일자별실현손익요청
    마스터욱
    조회수 418   18-07-26 14:47
    마스터욱
    18-07-26 14:47
    418
  • 6
    OnReceiveChejanData 소스코드
    마스터욱
    조회수 544   18-07-25 20:15
    마스터욱
    18-07-25 20:15
    544
  • 5
    KOA Studio 실행이 되지 않을때 해결방법
    마스터욱
    조회수 294   18-07-19 14:31
    마스터욱
    18-07-19 14:31
    294
  • 4
    C# 키움증권 자동매수 중간개발 보고
    마스터욱
    조회수 178   18-07-18 15:33
    마스터욱
    18-07-18 15:33
    178
  • 3
    init 초기세팅
    마스터욱
    조회수 294   18-07-13 01:00
    마스터욱
    18-07-13 01:00
    294
  • 2
    1차 개발 작업완료
    마스터욱
    조회수 193   18-06-29 15:44
    마스터욱
    18-06-29 15:44
    193
  • 1
    개발시작
    마스터욱
    조회수 177   18-05-31 10:47
    마스터욱
    18-05-31 10:47
    177

Search

개인정보처리방침
마스터욱. All rights reserved.

Close

0 명 접속중
Time Loading...