암호통화 API2017. 12. 25. 17:00

 

 

빗썸 API를 이용하여 정상 접속하는 부분까지 진행 해봤고 이번 시간에는 실시간으로 데이터를 조회 해보겠습니다.

 

 

사용한 프로그램 소스는 이전 포스트의 최하단을 참고 하세요.

( http://systemtraders.tistory.com/393 )

 

 

증권사 API의 경우 실시간TR를 등록하면 증권사 서버에서 데이터가 변경되면 자동으로 클라이언트에게 변경된 데이터를 강제로 내려주는 방식이라 상당히 편리하지만 빗썸 API의 경우 만들어진지 오래 된 탓인지 아니면 개발자 역량의 탓인지 증권사처럼 편리한 기능을 제공하지 않고 있고 마치 증권사의 조회TR을 사용하는 것과 같이 사용자가 데이터를 조회 요청 하면 조회 요청한 시점의 데이터를 내려주는 방식입니다.

 

 

조회 요청하면 빗썸 시세 데이터베이스 서버에 저장된 데이터를 내려주는 것이죠.

 

 

예제 코드를 이미 올려 드렸기 때문에 이미 데이터 조회까지 충분히 진행한 분도 계실텐데요.

 

 

기존의 코드를 연속 조회로 변경하게 되면 아래의 이미지와 같은 조회 결과가 출력됩니다.

 

 

 

▲ 노란색 박스를 보면 연속 조회를 했기 때문에 수신된 값이 조금씩 다름을 알 수 있습니다.

 

▲ (노란색 박스) 세번째와 네번째의 데이터는 동일한 데이터가 수신되었는데 세번째와 네번째 조회 요청 사이에 거래 체결이 없었기 때문에 서버에서 보관하고 있던 동일한 값이 수신된 것입니다.

 

▲ 이러한 부분은 Unique value 를 기준으로 갱신 여부를 판단하면 되므로 어려운 일이 아닙니다.

 

 

필자는 GUI 기반의 프로그래밍과 C#이 익숙하다보니 기존의 Text 기반의 Console 창이 아니라 GUI 로 일부 변경하였고 이 과정에서 timer_tick을 이용하여 0.05초에 1회씩 빗썸 서버에 데이터를 요청하도록 처리 하였습니다.

 

 

이 과정은 소스 코드의 Main 함수 내에 있는 코드를 timer_tick 함수안에 넣어주기만 하면 되는 쉬운것이니 생략하고 결과를 보여드리면 아래와 같습니다.

 

 

 

▲ C#의 DataGridView에 수신된 데이터를 출력해봤습니다.

 

▲ 현재시각은 Unix TimeStamp를 기준으로 하기 때문에 시차가 발생하는 부분이고 필요시 시차를 조정하는 함수를 사용하면 됩니다.

 

▲ 최근 시세에 관심을 가지고 있지 않아 잘 몰랐는데 비트코인의 현재가가 역대 최고가(2500만원) 대비 일부 조정세를 보이고 있는데 이것을 두고 폭락세라고 매스컴에서 난리를 친 것인가 싶을 정도로 필자 기준에는 미미한 조정으로 보여집니다.

 

 

빗썸 서버로부터 수신받은 데이터의 출력은 Console이든 DataGridView이든 혹은 Text Label 이든 독자분들의 기호에 맞게 출력하면 되겠고 필자의 경우에는 오래전 작업 한 내용이기는 한데 수신받은 데이터를 화면에 출력하지 않고 비트코인 시세 데이터의 수집을 위해 MySQL 데이터베이스 서버에 저장하기도 했습니다.

 

 

이 역시 각자의 기호에 따라 혹은 필요에 따라 처리하면 될 부분입니다.

 

 

빗썸 API 자체가 매우 단순하기 때문에 추가로 뭘 더 보여드리고 싶어도 보여드릴 수 있는것이 없습니다.

 

 

독자분들의 요청 사항이 있을때 별도의 글을 남기도록 하겠습니다.

 

 

 

Posted by 투자의神