금융/코인 분석

CCXT pro 설치 사용법

달죽 2022. 9. 18. 12:40
반응형

ccxt pro 설치와 사용법에 대한 포스팅입니다. ccxt는 수십개의 암호화폐 거래소 자동 주문을 쉽게 할 수 있게 만들어 놓은 어플리케이션입니다. ccxt pro는 거래소간 웹소켓을 쉽게 이용할 수 있기 때문에 사용해야 합니다. 물론 CCXT를 사용하지 않아도 웹소켓을 사용할 수 있지만, 암호화폐 거래소는 수십개에 달하는 만큼 엄청난 유지보수의 늪에 빠질 수 있으므로 처음엔 조금 비용을 들이더라도 CCXT pro를 이용해서 웹소켓 사용법을 익힌 다음 직접 웹소켓을 다루셔야 됩니다. 

 

저도 회사에서 수십개의 암호 화폐 거래소에 대한 api를 다뤄봤지만, 처음엔 직접 개발하는 것을 회사 입장에서 선호했으나 거래소들의 엄청난 업데이트 속도에 못따라가서 기하 급수적인 유지보수비용으로 나중엔 회사에서도 ccxt pro를 이용했습니다. 

 

CCXT pro 가 작동하는 원리

저희가 지금 사용하려는 CCXT 같은 어플레케이션을 API 라고 합니다. 크게 API의 이용 방법은 Rest API 와 Websocket 으로 나뉩니다. 간단하게 이 두 방법에 대해서 이해를 돕기 위해 비유를 드리자면 이렇습니다. 

REST API  필요한 요청이 있을때 마다 정보를 처리하는 것  순간적 주문 처리 등
Websocket  필요한 정보를 한번 요청하면 그 뒤로 연속적으로 불러오는 것 연속적 가격 조회 

 

가격 데이터의 경우 실시간으로 변하기 때문에 가격 조회 요청을 한번만 하고 뒤로 연속적으로 불러오는 것이 좋습니다. 하지만 저희가 주문을 할때는 여러번 나눠서 구매하는 것이라도 한번 요청으로 한번 주문 처리를 기준으로 하므로 필요한 요청이 있을때 마다 정보를 처리해야 합니다. 그래서 가격 조회는 Websocket 으로 하고 주문을 넣는 작업이나 잔고 조회같은 요청은 Rest API 합니다

가격 조회는 실시간 데이터가 필요하므로 웹소켓을 이용합니다.

  • ccxt 에서 rest api 는 무료로 제공하고 있지만 websocket은 유료로 제공하고 있습니다. 
  • 가격 조회를 위해 Websocket 을 이용해야 하므로 CCXT pro 를 다운로드합니다.
  • 단순히 가격 조회를 하지 않고 주문만 하고 싶을 경우 Rest API만 이용하면 됩니다. 이때는 CCXT pro가 필요하지 않습니다. 

이때 선택을 하면 됩니다.

 

1. 가격이 특정 갭이상 벌어졌을 경우를 자동으로 잡게 하고 싶으면 실시간 가격 데이터를 연속적으로 받아야 하므로 웹소켓이 필요한 경우입니다. 

2. 가격은 거래소 사이트를 직접 보면서 주문만 제 손을 안타고 자동으로 하게 만드는 경우는 rest api로만 구현해도 충분히 할 수 있습니다.

 

사실 주문만 자동화를 해둬도 굉장히 편리합니다. 하지만 진정한 자동 매매는 아니겠죠. 구현 능력에 따라서 천차만별로 제가 원하는 대로 만들면 됩니다. 약간의 환상을 깨자면, 제가 만든 프로그램이 처음엔 잘 돌아가더라도 예상치 못한 이유로 오류가 나거나 정말 안좋은 경우 주문이 잘못 들어가는 경우가 있습니다.(물론 이런 경우는 별로 없습니다.) 이런 경우에는 정말 여러가지 변수가 있는데 사실 변수를 최소화하는 방법은 전문 개발자가 아닌 이상 코딩을 최소화하는게 가장 안전한 방법입니다. 

 

하지만 이왕 현선갭 프로그래밍을 하기로 했으면, 갭 차이를 포착하고 내가 원하는 갭에서 자동 주문이 들어가게끔 세팅하는 것을 목표로 하겠습니다. 

 

0. python 과 파이참 설치하기 

1. ccxt pro 구매하고 설치하기

2. ccxt pro 웹소켓 데이터 받기 

3. 가격 조회하기

4. 원하는 갭이 올때 주문 넣기

5. 부분 매수 구현하기

6. 모든 주문 취소 구현 

 

Binance 와 mexc 기준으로 설명해드리겠습니다. 

ccxt pro 구매하고 설치하기 

 

CCXT Pro 라이선스가 만료되면 소프트웨어나 시스템이 고장나지 않고 그때까지 최신 버전에서 계속해서 정상적으로 작동합니다. 그러나 유료 라이선스를 중단하면 후속 업데이트를 잃게 됩니다. 그러니 일단 가장 저렴한 Beginner 버전을 이용합니다. 그리고 이번해 삼분기에 무료화가 된다고 해서 조금 기다리셨다가 무료 버전을 이용하시길 바라겠습니다. 

 

체크 아웃을 누르면 

 

 

입금을 완료하면 아래의 페이지가 뜨면서 CCXT Pro repository 를 이용하라고 뜹니다. 

CCXT Pro repository 에 들어가서 Accept invitation 을 하면 됩니다. 

 

 

 

자 이제 눌러주면 됩니다.

 

 

반응형