실시간 TR을 처리하는 클래스이다. Property ResFileName Res 파일을 지정 Method AdviseRealData 실시간TR을 등록합니다. UnadviseRealData 실시간TR을 해제합니다. UnadviseRealDataWithKey 한 종목의 실시간TR을 해제합니다. AdviseLinkFromHTS HTS 에서 API로의 연동을 등록합니다. UnAdviseLinkFromHTS HTS 에서 API로의 연동을 해제합니다. GetFieldData 블록의 필드 정보를 취득합니다. SetFieldData 블록의 필드 정보를 설정합니다. LoadFromResFile Res 파일을 지정합니다. GetBlockData 블록 전체의 데이터를 취득합니다. Event ReceiveRealData 서버..
서버 연결, 로그인, 계좌 정보, 에러정보와 관련된 기능을 제공한다. Property SendPacketSize 한번에 전송되는 데이터의 크기 (기본값은 -1) ConnectTimeOut 서버에 연결을 시도하는 시간으로, 1/1000 초 단위 (기본값은 -1, 10초) Connect 시도 시에 입력된 시간 동안 연결이 되지 않을 경우 TimeOut 발생 Method ConnectServer 서버에 연결합니다. DisconnectServer 서버와의 연결을 종료합니다. IsConnected 서버연결이 되었는지 여부를 취득합니다. Login 서버에 로그인합니다. Logout 로그인한 서버에 대해 로그아웃합니다. GetAccountListCount 보유중인 계좌의 개수를 취득합니다. GetAccountList..
xingAPI의 COM 버전은 3개의 클래스로 이루어져 있다. XASession(XA_SESSIONLib) : 서버 연결, 로그인 등 XAQuery(XA_DATASETLib) : 조회 TR XAReal(XA_DATASETLib) : 실시간 TR XASession 서버 연결, 로그인, 계좌 정보, 에러정보와 관련된 기능을 제공한다. eBest Xing Session Lib의 COM을 참조하고 XA_SESSIONLib 네임스페이스를 using하고 XASessionClass로 객체를 생성하여 사용할 수 있다. XAQuery 서버로 부터 데이터를 조회할 때 사용되는 기능을 제공한다. eBest Xing Dataset Lib의 COM을 참조하고 XA_DATASETLib 네임스페이스를 using하고 XAQueryC..
DevCenter를 이용하여 RES파일을 저장하면 xingAPI를 설치한 폴더의 Headr폴더에 저장이 된다고 메뉴얼에 적혀 있다. 하지만 실제로 사용하다보면 RES파일이 Header에 저장되지 않는 경우가 있다. ( 예로 들면 실시간 TR인 S3_ ) 그래서 RES파일을 얻는 다른 방법은 다음과 같다. DevCenter에서 TR과 실시간TR를 선택하면 xingAPI를 설치한 폴더의 Res폴더에 RES파일이 저장된다. 이렇게 만들어진 RES파일을 이용하면 된다. 그래서 RES파일을 등록할 때 Res폴더를 기준으로 RES파일을 등록하는게 편할 것 같다.
일반적인 조회는 요청(Request)시점에서의 데이터를 전송해 주므로 그 이후 변경된 데이터를 받지 못한다. 하지만 실시간 데이터 조회의 경우에는 요청 시점 이후에 데이터가 변경이 되면 그때 데이터를 전송해 준다. 요청을 해제하기 전까지 데이터가 변경이 될 때마다 데이터를 전송해 준다. 실시간 데이터 조회는 요청 시점 이후에 데이터가 변경되어야만 데이터를 보내기 때문에 요청 시점에서의 데이터는 전송해 주지 않는다. 그러므로 주식현재가를 구성하기 위해서는 단일 조회로 요청 시점의 데이터를 가져온 후에 실시간 데이터를 요청하여 그 이후 데이터를 실시간으로 받아야 한다. 실시간 데이터 조회 이 예제는 "연속 데이터 조회"를 이어서 프로그래밍한다. 여기서는 현재가를 실시간으로 얻을 수 있게, [S3_] KOSP..
연속 조회는 Occurs 데이터의 총 갯수가 너무 많아서 한번에 다 가져오지 못할 경우 여러번에 걸쳐서 가져오는 것을 의미한다. 즉 반복조회를 이어서 다음 반복조회를 하는 것과 같다. 연속 조회를 할 수 있는 TR은 TR Layout에 연속 조회를 위한 필드가 존재한다. 보통 연속데이터와 관련된 필드의 이름은 cts_로 시작한다. t1301의 TR Layout을 보면 cts_time이 있다. 연속 데이터 조회 과정 연속 데이터 조회 과정을 t1301을 이용해서 설명하겠다. (다른 TR의 연속 데이터 조회도 별 차이가 없을 것이다.) TR Query 객체를 생성 및 초기화 RES 파일 등록 ReceiveData 이벤트 메서드 등록 .SetFieldData()를 이용해서 TR 입력값 설정 .Request(f..
Occurs는 COBOL이라는 프로그램언어에서 나온 단어로 일련의 데이터가 반복해서 나오는 구조를 이야기 한다. xingAPI에서 Occurs의 의미는 시간대별 화면의 그리드처럼 일련의 데이터가 반복해서 나오는 경우는 의미한다. 프로그램언어에서의 배열(Array)와 같은 의미라고 볼 수 있다. TR이 반복 데이터인지 확인하는 방법 DevCenter의 TR Layout에서 Occurs여부 속성으로 확인 할 수 있다. 예로 들어 t1301OutBlock1을 선택하면 TR 속성창에 Occurs여부 속성이 ○로 되어 있으니, t1301OutBlock1은 반복데이터임을 알 수 있다. 반복 데이터 조회 이 예제는 "단일 데이터 조회"를 이어서 프로그래밍한다. 1. 디자인 연역에 아래와 같이 버튼을 추가한다. 2. ..
이 포스트는 "로그인하기"를 이어서 설명한다. xingAPI에서 데이터 조회는 미리 정해진 형식의 입력값을 서버로 전송하고 서버로부터 데이터를 받는 것을 의미한다. 한번의 전송으로 한번의 결과값을 받는다. 현재가를 예로 들면 종목 코드를 서버에 전송하면 그 당시의 현재가를 결과값으로 서버로부터 데이터를 받게 된다. 일반 데이터에 사용되는 용어와 개념은 다음과 같다. TR (Transaction) xingAPI에서 TR은 서버로부터 데이터를 주고 받는 행위를 의미한다. TR Code TR Code는 어떤 정보를 주고 받을 지를 정하는 값이다. TR Code는 5자리와 10자리가 2종류가 있다. 자세한 내용은 DevCenter를 이용하면 된다. 예로 들어 t1101은 현재가 등의 종목 시세 데이터를 가져오는..
이 예제는 "서버 접속하기"를 이어서 설명한다. 서버에 접속이 되었다면 로그인을 해야 한다. 로그인을 하지 않고는 어떠한 서비스도 사용할 수 없다. 로그인을 하기 위해서는 XASession 객체의 Login()메서드를 이용한다. 로그인하기 1. 디자인 영역을 다음과 같이 수정하고 각 속성을 수정한다. 만일 TextBox에 입력되는 값을 숨길려면 속성창 > PasswordChar에 *을 입력하자. 2. 아래와 같이 콤보박스를 선택하고 속성창에서 Items속성의 줄임표단추(...)을 클릭한다. 3. 문자열 컬렉션 편집기에 실서버 모의투자를 입력한다. 이렇게 입력하면 items[0]은 실서버, items[1]은 모의투자가 된다. 4. 아래와 같이 코드를 수정하자.using System; using System..
xingAPI를 사용하기 위해서는 먼저 서버를 연결해야 한다. 서버를 연결하기 위해서 XASession클래스의 ConnectionServer()메서드를 사용한다. 이 예제는 "COM을 등록하는 방법"을 이어서 설명하도록 하겠다. 서버 접속하기 1. 디자인 영역에 다음과 같이 Button과 ListBox를 추가하고 각각의 속성을 변경한다. 2. 디자인 영역에 "Form 1"의 회색 영역(로그인 버튼 아래 부분)을 더블클릭하여 load 이벤트 소스를 추가하고, "로그인 버튼"을 더블클릭하여 click 이벤트 소스를 생성한다. 3. 아래와 같이 코드를 수정한다. using System; using System.Windows.Forms; using XA_SESSIONLib; namespace XingAPI { ..