示例#1
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             *
             * [ OPW00003 : 추정자산조회요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 계좌번호 = 전문 조회할 보유계좌번호
             * SetInputValue("계좌번호"	,  "입력값 1");
             * 비밀번호 = 사용안함(공백)
             * SetInputValue("비밀번호"	,  "입력값 2");
             * 상장폐지조회구분 = 0:전체, 1:상장폐지종목제외
             * SetInputValue("상장폐지조회구분"	,  "입력값 3");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "OPW00003"	,  "0"	,  "화면번호");
             */

            FileLog.PrintF("OPT10001:Run sRQNAME=>" + spell.sRQNAME);
            FileLog.PrintF("OPT10001:Run sTrCode=>" + spell.sTrCode);
            FileLog.PrintF("OPT10001:Run nPrevNext=>" + spell.nPrevNext);
            FileLog.PrintF("OPT10001:Run sScreenNo=>" + spell.sScreenNo);
            FileLog.PrintF("OPT10001:Run 계좌번호=>" + spell.accountNum);
            FileLog.PrintF("OPT10001:Run 비밀번호=>" + spell.password);

            axKHOpenAPI.SetInputValue("계좌번호", spell.accountNum);
            axKHOpenAPI.SetInputValue("비밀번호", spell.password);
            axKHOpenAPI.SetInputValue("상장폐지조회구분", "0");// 0:전체, 1:상장폐지종목제외
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#2
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [opt10014: 공매도추이요청]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 종목코드 = 전문 조회할 종목코드
             * SetInputValue("종목코드"	,  "입력값 1");
             * 시간구분 = 0:시작일, 1:기간
             * SetInputValue("시간구분"	,  "입력값 2");
             * 시작일자 = YYYYMMDD(20160101 연도4자리, 월 2자리, 일 2자리 형식)
             * SetInputValue("시작일자"	,  "입력값 3");
             * 종료일자 = YYYYMMDD(20160101 연도4자리, 월 2자리, 일 2자리 형식)
             * SetInputValue("종료일자"	,  "입력값 4");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10014"	,  "0"	,  "화면번호");
             */
            /*정상동작확인 주석
             * FileLog.PrintF("OPT10014:Run sRQNAME=> " + spell.sRQNAME);
             * FileLog.PrintF("OPT10014:Run sTrCode=> " + spell.sTrCode);
             * FileLog.PrintF("OPT10014:Run nPrevNext=> " + spell.nPrevNext);
             * FileLog.PrintF("OPT10015:Run lastStockDate=> " + spell.lastStockDate);
             * FileLog.PrintF("OPT10014:Run sScreenNo=> " + spell.sScreenNo);
             * FileLog.PrintF("OPT10014:Run 종목코드=> " + spell.stockCode);
             * FileLog.PrintF("OPT10014:Run 시간구분=> " + "0");
             * FileLog.PrintF("OPT10014:Run 시작일자=> " + spell.startDate);
             * FileLog.PrintF("OPT10014:Run 종료일자=> " + spell.endDate);
             */
            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            axKHOpenAPI.SetInputValue("시간구분", "0");  /*시간구분 = 0:시작일, 1:기간   --무조건 0으로 하자 1로할경우 범위가 넘어도 nPreNext가 2로 안나온다. */
            axKHOpenAPI.SetInputValue("시작일자", spell.startDate);
            axKHOpenAPI.SetInputValue("종료일자", spell.endDate);
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#3
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             *  [OPT10015: 일별거래상세요청]
             *  1. Open API 조회 함수 입력값을 설정합니다.
             *  종목코드 = 전문 조회할 종목코드
             *  SetInputValue("종목코드"	,  "입력값 1");
             *  시작일자 = YYYYMMDD(20160101 연도4자리, 월 2자리, 일 2자리 형식)
             *  SetInputValue("시작일자"	,  "입력값 2");
             *  2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             *  CommRqData( "RQName"	,  "OPT10015"	,  "0"	,  "화면번호");
             */
            FileLog.PrintF("OPT10015:Run sRQNAME=> " + spell.sRQNAME);
            FileLog.PrintF("OPT10015:Run sTrCode=> " + spell.sTrCode);
            FileLog.PrintF("OPT10015:Run nPrevNext=> " + spell.nPrevNext);
            FileLog.PrintF("OPT10015:Run sScreenNo=> " + spell.sScreenNo);
            FileLog.PrintF("OPT10015:Run 시작일자=> " + spell.endDate);
            FileLog.PrintF("OPT10015:Run 종목코드=> " + spell.stockCode);

            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            axKHOpenAPI.SetInputValue("시작일자", spell.endDate);
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#4
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [opt10080: 주식분봉차트조회요청]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 종목코드 = 전문 조회할 종목코드
             * SetInputValue("종목코드"	,  "입력값 1");
             * 틱범위 = 1:1분, 3:3분, 5:5분, 10:10분, 15:15분, 30:30분, 45:45분, 60:60분
             * SetInputValue("틱범위"	,  "입력값 2");
             * 수정주가구분 = 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락
             * SetInputValue("수정주가구분"	,  "입력값 3");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10080"	,  "0"	,  "화면번호");
             */
            FileLog.PrintF("OPT10080:Run sRQNAME=> " + spell.sRQNAME);
            FileLog.PrintF("OPT10080:Run sTrCode=> " + spell.sTrCode);
            FileLog.PrintF("OPT10080:Run nPrevNext=> " + spell.nPrevNext);
            FileLog.PrintF("OPT10080:Run sScreenNo=> " + spell.sScreenNo);
            FileLog.PrintF("OPT10080:Run 종목코드=> " + spell.stockCode);
            FileLog.PrintF("OPT10080:Run 틱범위=> " + spell.tick);
            FileLog.PrintF("OPT10080:Run 수정주가구분=> 1");

            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            axKHOpenAPI.SetInputValue("틱범위", spell.tick);
            axKHOpenAPI.SetInputValue("수정주가구분", "1");/*수정주가 구분 이것도 무조건 1로 하자. */

            /*  수정주가구분 = 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락
             *  SetInputValue("수정주가구분"	,  "입력값 3"); */
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#5
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 종목코드 = 전문 조회할 종목코드
             * SetInputValue("종목코드"	,  "입력값 1");
             * 기준일자 = YYYYMMDD(20160101 연도4자리, 월 2자리, 일 2자리 형식)
             * SetInputValue("기준일자"	,  "입력값 2");
             * 수정주가구분 = 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락
             * SetInputValue("수정주가구분"	,  "입력값 3");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10081"	,  "0"	,  "화면번호");
             */

            FileLog.PrintF("OPT10081:Run sRQNAME=> " + spell.sRQNAME);
            FileLog.PrintF("OPT10081:Run sTrCode=> " + spell.sTrCode);
            FileLog.PrintF("OPT10081:Run nPrevNext=> " + spell.nPrevNext);
            FileLog.PrintF("OPT10081:Run sScreenNo=> " + spell.sScreenNo);
            FileLog.PrintF("OPT10081:Run 종목코드=> " + spell.stockCode);
            FileLog.PrintF("OPT10081:Run 기준일자=> " + spell.endDate);
            FileLog.PrintF("OPT10081:Run 수정주가구분=> 1");

            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            axKHOpenAPI.SetInputValue("기준일자", spell.endDate);
            axKHOpenAPI.SetInputValue("수정주가구분", "1");/*수정주가 구분 이것도 무조건 1로 하자. */

            /*  수정주가구분 = 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락
             *  SetInputValue("수정주가구분"	,  "입력값 3"); */
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#6
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [ opt10075 : 실시간미체결요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 계좌번호 = 전문 조회할 보유계좌번호
             * SetInputValue("계좌번호"	,  "입력값 1");
             * 체결구분 = 0:전체, 1:미체결
             * SetInputValue("체결구분"	,  "입력값 2");
             * 매매구분 = 0:전체, 1:매도, 2:매수
             * SetInputValue("매매구분"	,  "입력값 3");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10075"	,  "0"	,  "화면번호");
             */
            FileLog.PrintF("OPT10075:Run sRQNAME=>" + spell.sRQNAME);
            FileLog.PrintF("OPT10075:Run sTrCode=>" + spell.sTrCode);
            FileLog.PrintF("OPT10075:Run nPrevNext=>" + spell.nPrevNext);
            FileLog.PrintF("OPT10075:Run sScreenNo=>" + spell.sScreenNo);
            FileLog.PrintF("OPT10075:Run 계좌번호=>" + spell.accountNum);

            axKHOpenAPI.SetInputValue("계좌번호", spell.accountNum);
            axKHOpenAPI.SetInputValue("체결구분", spell.orderStatus);
            axKHOpenAPI.SetInputValue("매매구분", spell.orderGubun);
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#7
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [ opt10085 : 계좌수익률요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 계좌번호 = 전문 조회할 보유계좌번호
             * SetInputValue("계좌번호"	,  "입력값 1");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10085"	,  "0"	,  "화면번호");
             */
            FileLog.PrintF("OPT10001:Run sRQNAME=>" + spell.sRQNAME);
            FileLog.PrintF("OPT10001:Run sTrCode=>" + spell.sTrCode);
            FileLog.PrintF("OPT10001:Run nPrevNext=>" + spell.nPrevNext);
            FileLog.PrintF("OPT10001:Run sScreenNo=>" + spell.sScreenNo);
            FileLog.PrintF("OPT10001:Run 계좌번호=>" + spell.accountNum);

            axKHOpenAPI.SetInputValue("계좌번호", spell.accountNum);
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#8
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [ OPT10059 : 종목별투자자기관별요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             *      일자 = YYYYMMDD (20160101 연도4자리, 월 2자리, 일 2자리 형식)
             *      SetInputValue("일자"	,  "입력값 1");
             *  종목코드 = 전문 조회할 종목코드
             *      SetInputValue("종목코드"	,  "입력값 2");
             *  금액수량구분 = 1:금액, 2:수량
             *      SetInputValue("금액수량구분"	,  "입력값 3");
             *  매매구분 = 0:순매수, 1:매수, 2:매도
             *      SetInputValue("매매구분"	,  "입력값 4");
             *  단위구분 = 1000:천주, 1:단주
             *      SetInputValue("단위구분"	,  "입력값 5");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             *      CommRqData( "RQName"	,  "OPT10059"	,  "0"	,  "화면번호");
             */

            /* 정상동작확인 주석
             * FileLog.PrintF("OPT10059:Run sRQNAME=> " + spell.sRQNAME);
             * FileLog.PrintF("OPT10059:Run sTrCode=> " + spell.sTrCode);
             * FileLog.PrintF("OPT10059:Run nPrevNext=> " + spell.nPrevNext);
             * FileLog.PrintF("OPT10059:Run lastStockDate=> " + spell.lastStockDate);
             * FileLog.PrintF("OPT10059:Run sScreenNo=> " + spell.sScreenNo);
             * FileLog.PrintF("OPT10059:Run 일자=> " + spell.endDate);
             * FileLog.PrintF("OPT10059:Run 종목코드=> " + spell.stockCode);
             * FileLog.PrintF("OPT10059:Run 금액수량구분=> " + spell.priceOrAmount);
             * FileLog.PrintF("OPT10059:Run 매매구분=> " + spell.buyOrSell);
             * FileLog.PrintF("OPT10059:Run 단위구분=> 1");
             */
            axKHOpenAPI.SetInputValue("일자", spell.endDate);
            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            axKHOpenAPI.SetInputValue("금액수량구분", spell.priceOrAmount);
            axKHOpenAPI.SetInputValue("매매구분", spell.buyOrSell);
            axKHOpenAPI.SetInputValue("단위구분", "1"); /*단위구분 = 1000:천주, 1:단주   --수량단위구분 모조건 1   -금액은 무조건 백만원단위 */
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#9
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [ opt10001 : 주식기본정보요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 종목코드 = 전문 조회할 종목코드
             * SetInputValue("종목코드"	,  "181710;066570");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10001"	,  "0"	,  "화면번호");
             */

            FileLog.PrintF("OPT10001:Run sRQNAME=>" + spell.sRQNAME);
            FileLog.PrintF("OPT10001:Run sTrCode=>" + spell.sTrCode);
            FileLog.PrintF("OPT10001:Run nPrevNext=>" + spell.nPrevNext);
            FileLog.PrintF("OPT10001:Run sScreenNo=>" + spell.sScreenNo);
            FileLog.PrintF("OPT10001:Run 종목코드=>" + spell.stockCode);

            axKHOpenAPI.SetInputValue("종목코드", spell.stockCode);
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#10
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
/*
 * [OPW00004: 계좌평가현황요청]
 * 1. Open API 조회 함수 입력값을 설정합니다.
 * 계좌번호 = 전문 조회할 보유계좌번호
 * SetInputValue("계좌번호"	,  "입력값 1");
 * 비밀번호 = 사용안함(공백)
 * SetInputValue("비밀번호"	,  "입력값 2");
 * 상장폐지조회구분 = 0:전체, 1:상장폐지종목제외
 * SetInputValue("상장폐지조회구분"	,  "입력값 3");
 * 비밀번호입력매체구분 = 00
 * SetInputValue("비밀번호입력매체구분"	,  "입력값 4");
 * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
 * CommRqData( "RQName"	,  "OPW00004"	,  "0"	,  "화면번호");
 */
            axKHOpenAPI.SetInputValue("계좌번호", spell.stockCode);
            axKHOpenAPI.SetInputValue("비밀번호", spell.endDate);
            axKHOpenAPI.SetInputValue("상장폐지조회구분", "0");
            axKHOpenAPI.SetInputValue("비밀번호입력매체구분", "00");
            int ret = axKHOpenAPI.CommRqData(spell.sRQNAME, spell.sTrCode, spell.nPrevNext, spell.sScreenNo);

            return(ret);
        }
示例#11
0
        public override int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell)
        {
            /*
             * [ opt10001 : 주식기본정보요청 ]
             * 1. Open API 조회 함수 입력값을 설정합니다.
             * 종목코드 = 전문 조회할 종목코드
             * SetInputValue("종목코드"	,  "181710;066570");
             * 2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
             * CommRqData( "RQName"	,  "opt10001"	,  "0"	,  "화면번호");
             */
            /*정상동작확인 주석
             * FileLog.PrintF("OPT10001:Run sRQNAME=>" + spell.sRQNAME);
             * FileLog.PrintF("OPT10001:Run sTrCode=>" + spell.sTrCode);
             * FileLog.PrintF("OPT10001:Run nPrevNext=>" + spell.nPrevNext);
             * FileLog.PrintF("OPT10001:Run sScreenNo=>" + spell.sScreenNo);
             * FileLog.PrintF("OPT10001:Run 종목코드=>" + spell.stockCode);
             */
            string[] stockCodep = spell.stockCode.Split(';');


            int ret = axKHOpenAPI.CommKwRqData(spell.stockCode, spell.nPrevNext, stockCodep.Length, 0 /*0 주식종목 , 3 선물옵션종목 */, spell.sRQNAME, spell.sScreenNo);

            return(ret);
        }
示例#12
0
 public abstract int Run(AxKHOpenAPILib.AxKHOpenAPI axKHOpenAPI, SpellOpt spell);