[암호화폐이야기] CoinEX 거래소 자동매매 개발-1

in #kr6 years ago

일전에 GoPAX 거래소에서 자동매매 개발에 관한 일지를 올린 적이 있다.
GOPAX에서 자동 매매하기

자동매매 프로그램은 지금도 잘 돌고 있다. 하지만 개점 휴업 상태이다. 익절의 폭을 10%정도 해 놓으니 거래가 거의 되지 않는다. 그렇다고 9천원에 사서 몇 백원 남기고 팔기에는 좀 아깝다는 생각이 든다. 종목과 결혼을 하면 안되는데, 이상하게도 EOS는 1만원 이하에서는 팔고 싶은 생각이 들지 않는다.


최근 거래소 코인들이 핫하다. CoinEX, FCoin 등등.
이 중 CoinEX에 들어가보니 거래가 너무나도 활발하다. 이런 곳에서 자동매매를 해야겠다는 생각이 들었다. 그래서 이번 주말 동안 작업을 해 보았다. 그 과정을 정리한다.


CoinEX 거래소에서 공식적으로 제공하는 API에 대한 사이트이다.
https://github.com/coinexcom/coinex_exchange_api/wiki

그런데 API와 관련된 문서만 있고, 예제가 없다. 이런 경우에는 선배 개발자를 찾아 보는 것이 좋다. github에서 coinex API와 관련된 것이 있는지 검색해 보았다.

빙고!!

역시 능력있는 개발자가 파이썬으로 lib를 만들어서 소스를 공개해 놓았다.
https://github.com/EchterAgo/coinex

관련 소스 받아서 작업을 시작한다. 문서화가 전혀되어 있지 않지만 함수 이름만 보고도 파악이 가능하다. CoinEX에 있는 API와 1:1 대응되기 때문에 CoinEX API 문서 내용을 주로 참고하였다.

주문하기 : coinex.order_limit()
체결결과조회 : coinex.order_finished('CETBTC')


lib를 워낙 잘 만들어 놓아서 큰 어려움 없이 잔고조회, 시세조회, 주문, 체결결과조회 등이 잘 되었다. 자동매매에 대한 전반적인 로직은 GoPAX 거래소에서 돌고 있는 자동매매 프로그램과 비슷하게 만들었다. 다만 몇가지 차이가 있었다. 그 내용을 정리하면 다음과 같다.

  1. 주문한 수량이 모두 처리되어야 체결결과조회에 보인다.
    GoPAX의 경우에는 일부 수량이 체결이 되더라도 바로 체결결과조회가 되었는데, CoinEX는 전체를 한 묶음으로 처리하고 있다. 짜투리 수량이 나오지 않아서 장점으로 보인다.
  2. 사용자가 많아서 그런지 주문을 내면 'Service unavailable' 이라는 오류 코드가 자주 뜬다. 조금 쉬었다가 재 주문을 하면 되기도 하고 또 같은 오류가 뜨기도 한다. 주문을 하는데 조금은 불안하다.
  3. 이게 가장 문제이다. 체결결과를 조회하면 최근에 체결된 순서로 나오지 않고, 주문을 넣은 순서로 나온다. 이렇게 되면 체결된 결과에 대한 대응 주문을 내는 것이 상당히 복잡해진다.

2번 문제는 해결 방법을 찾아볼 수 있겠지만 3번 문제는 추가적인 개발을 필요로 하기 때문에 좀 더 고민을 해 보고 방향을 정해야 될 것 같다.

Sort:  

파이썬은 좀 접근하기가 쉬운 언어이려나요.
공부하고 싶어지는 욕망이 이는군요.

프로그래밍에 대한 기본 지식은 필요하기 때문에 아무리 쉬운 언어라고 해도 진입장벽은 조금 있습니다.

네, 답변 감사합니다.
자세히 좀 알아봐야겠습니다^^

개발하고 수익내시길 바랍니다.

자동매매 좋아보입니다. 그렇지만 위험성은 늘 있는거 같습니다.

가격이 떨어지면 망하는 위험이 존재합니다. 그래서 소액으로 합니다. ㅎ

자동매매 트레이딩 프로그램 같은데, 이것이 현실적으로 안정적 수익을 내기는 좀 어렵지 않을까 싶네요, 중간중간에 사람이 계속해서 개입을 해야 하는 문제가 더 많이 발생할 것 같더라구요.

안정적인 수익이 나는 것은 아니고요. 사고 팔고를 반복하고 싶은데, 직접 보고 있을 수가 없어서요.

거래소 수수료 패이벡으로 cet 채굴하기엔 제격인 프로그램을 돌리시는 모양이군요. 화이팅입니다.

한번 툴을 제작하신 경험이 있으니 이번에도 잘 해결 하시리라 믿습니다^^

3번 문제를 해결할려면 고민을 많이 해야 할 듯 합니다.다른 방법이 있는지 찾고 있습니다. 업비트는 오늘 다시 신청할 예정인데, 이번 주 중에는 API에 접근할 수 있을 듯 합니다.

자동매매를 어떤 로직으로 하시는지도 궁금하네요 +_+
거래 기반으로 마이닝이 되는 거래소 코인을 대상으로 하시면 아무래도 효율적일 수 있겠네요

로직이 간단합니다. 일정 구간에 매수 주문 내어 놓고, 체결되면 +a 혹은 다시 주문내는 것을 반복합니다. 팔리면 사고, 사면 파는 단순한 방식입니다. 언젠가는 더 비싼 가격에 팔 수 있다는 것을 기본 가정으로 하고요. CoinEX는 180일 동안 거래마이닝이 지원되니 2개월 정도만 돌려 볼 생각입니다.

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.029
BTC 63315.23
ETH 2545.47
USDT 1.00
SBD 2.67