[암호화폐] 프로젝트#1 : 업비트 지정가 자동 매수/매도하기

avatar
(Edited)

스팀엔진에 관련한 개발을 시작한 이유가 LP를 해 보기 위함이었습니다. 그런데 SCT 거래 내용을 보면 매매가 활발하지 않고 호가 공백이 커서 LP 역할을 하기 힘이 들 것 같습니다. 또한 매수하고 싶은 분이 많은데, LP가 자꾸만 호가를 올리면 관종이 될 것 같은 불길한 예감이 들기도 합니다. 이런 관점에서 아직은 LP 역할을 할 시점은 아닌 것 같습니다.

그렇다고 손 놓고 놀 수는 없으니 일단 관련 개발은 시작해 봅니다.

매매가 가장 활발한 곳이 업비트죠. 그래서 업비트에서 LP에서 필요한 기본적인 자동 매매를 개발하는 작업을 시작합니다. 여기에서 자동매매란 정해진 가격에 매수 주문을 낸 후 매수가 되면 정해진 가격에 매도를 하는 방식입니다.

upbit API에 대해서는 제가 몇 번 글을 썼었는데요. 관련 내용을 모두 찾을 수가 없군요. 일단 찾은 것만 공유합니다[1][2]


처음부터 다시 시작해 봅니다.

[2] 글을 보시면 개략적인 내용이 정리가 되어 있지만 다시 한번 정리해 봅니다.

우선 upbit api를 사용하기 위해서는 upbit에 계정이 있어야 합니다. 지금은 신규 가입이 안 되니 기존 가입자만 api 주문이 가능합니다. 기존 upbit 가입자라면 upbit/mypage에가서 api용 kery를 받아야 합니다.

그리고 api관련 내용은 아래 사이트에서 확인이 가능합니다. 개발 언어별로 사용 예를 잘 정리가 되어 있습니다.
https://docs.upbit.com/v1.0.6/reference

github에 올라와 있는 아래 패키지를 이용했습니다.
https://github.com/sharebook-kr/pyupbit


지정가 자동매매를 위하여 필요한 기능은 지정가 매수/ 지정가 매도/체결결과 확인입니다.

우선 매수 및 주문입니다.

방법은 아주 간단합니다. upbit에서 받은 access, secret 키를 입력한 후 Upbit라는 클래스를 만든 후 매수/매도 주문 함수를 부르면 됩니다.

    access = ''
    secret = ''

    upbit = Upbit(access, secret)
    result = upbit.buy_limit_order("KRW-STEEM", 200, 10)   # (ticker, price, volume):
    print(result)

    result = upbit.sell_limit_order("KRW-STEEM", 1000, 10) # (ticker, price, volume):
    print(result)

미체결 주문 내역을 확인하는 방법은 아래와 같습니다.

    orders = upbit.pending_orders("KRW-STEEM")
    for order in orders[0] :
        print(order['side'], "%8s"%order['price'], "%8s"%order['remaining_volume'], "%8s"%order['executed_volume'])

order의 구조는 아래와 같습니다. remaining_volume과 executed_volume 값을 보면서 얼마나 매수가 되고, 매도가 되었는지 판단이 가능할 것 같습니다.

방금 주문한 내용이 보입니다.


지정가 자동 매매를 위한 API는 모두 확인하였습니다. 매수 주문한 수량이 얼마나 매수가 되었는지, 매도한 수량이 얼마나 매도가 되었는지에 대한 정보를 바탕으로 방법을 고민해 보아야 할 것 같습니다.

스팀 가격이 연일 큰 폭으로 왔다 갔다 하고 있죠. 큰 변동성을 보이는 지금이야말로 지정가 매매하기 딱 좋은 시기로 보입니다.


[1] https://steemit.com/kr/@tradingideas/api
[2] https://steemit.com/sct/@tradingideas/upbit



0
0
0.000
7 comments
avatar

jcar토큰 7월 구독 보팅입니다. 삼복 무더위, 건강하게 이겨나가세요. ^^

0
0
0.000
avatar

요런 코딩 재미있습니다. ㅋ

0
0
0.000
avatar

오 엔진내 LP 엄청 기대되는데요?! 아 그리고 트아님 INV 잘받았습니다. 감사합니다! ^^

0
0
0.000
avatar

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

0
0
0.000
avatar

Hi @tradingideas!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.366 which ranks you at #2559 across all Steem accounts.
Your rank has improved 22 places in the last three days (old rank 2581).

In our last Algorithmic Curation Round, consisting of 116 contributions, your post is ranked at #86.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to improve on your user engagement! The more interesting interaction in the comments of your post, the better!

Feel free to join our @steem-ua Discord server

0
0
0.000