빗썸 API 프로그래밍 - 2steemCreated with Sketch.

in #kr6 years ago

5.jpg

이번 글에서는 재정거래에 필요한 나머지 빗썸 API 호출 함수를 만들도록 하자.

  1. bithumbBalance: 빗썸에 내 계정에 대한 원화 및 코인 자산에 대한 정보 수집
  2. bithumbBuy: 코인 사기
  3. bithumbSell: 코인 팔기

bithumbBalance 함수 코딩

bithumbBalance가 재정거래 봇을 만들때 필요한 이유는,
빗썸 내에서 코인을 살때 충분한 원화가 있는지
혹은 빗썸 코인을 팔때 충분한 해당 코인이 있는지
먼저 체크를 해야하기 때문이다.

함수명: bithumbBalance
파라메터: currency

def bithumbBalance(currency):
    rgParams = {
        "currency": currency,
    }
    result = api.xcoinApiCall("/info/balance/"+currency, rgParams)
    return result

함수 호출 방법 - 1(비트코인에 대한 내 계정의 정보 수집)

result =bithumbBalance("BTC")
print(result)

함수 Return 결과

{
    "status"    : "0000",
    "data"      : {
        "total_btc"     : "665.40127447",
        "total_krw"     : "305507280",
        "in_use_btc"    : "127.43629364",
        "in_use_krw"    : "8839047.0000000000",
        "available_btc" : "537.96498083",
        "available_krw" : "294932685.000000000000",
        "xcoin_last"    : "505000"
    }
}

함수 호출 방법 - 2(빗썸의 내 계정의 모든 코인과 원화 정보 수집)

result =bithumbBalance("ALL")
print(result)

함수 Return 결과는 너무 길어서 생략하도록 하겠다.


bithumbBuy 코딩

함수명: bithumbBuy
파라메터: price(매수가격), qty(매수수량), currency(매수하고자 하는 코인)

def bithumbBuy(price, qty, currency):
    rgParams = {
        "order_currency": currency,
        "units": qty,
        "price": price,
        "type": "bid" #매수
    }
    result = api.xcoinApiCall("/trade/place", rgParams)
    print("status: " + result["status"]) # 중요 정보라서 체크하기 위해
    return result["status"]

함수 호출 방법

result=bithumbBuy(1000000, 1, "BTC")
print(result)

함수 Return 결과

0000

빗썸에서 제공하는 매수 결과

{'status': '0000', 'order_id': '1534740943467921', 'data': []}

함수 Return 결과는 위 빗썸에서 제공하는 매수 결과중
'status': '0000'
위 값 만을 보여주는 것이다.
빗썸의 결과값 중 'status'는 내가 수행한 함수가 제대로 동작 하였는지 아니면 에러가 발생하였는지 알려주는 것이다.

그럼 여기서 잠깐 빗썸에서 제공하는 "Error Code"를 확인해 보자.(호출 결과 값 중, 'status'가 제공하는 것이다.)

0000 정상동작
5100 Bad Request
5200 Not Member
5300 Invalid Apikey
5302 Method Not Allowed
5400 Database Fail
5500 Invalid Parameter
5600 CUSTOM NOTICE (상황별 에러 메시지 출력)
5900 Unknown Error

bithumbSell 코딩

함수명: bithumbSell
파라메터: price, qty, currency(매수와 동일)

def bithumbSell(price, qty, currency):
    rgParams = {
        "order_currency": currency,
        "units": qty,
        "price": price,
        "type": "ask" # 매도
    }
    result = api.xcoinApiCall("/trade/place", rgParams)
    print("status: " + result["status"]) # 중요 로그
    return result["status"]

이하 설명은 "bithumbBuy" 함수와 동일 하므로 생략한다.

Sort:  

ㅎㅎㅎㅎㅎㅎㅎ지금 프로그래밍 관심생겨서 자바스크립트열심히 배우는 중인데,, 꼬부랑꼬부랑,,,꼬부랑글씨...아직 넘모 어려워요 호호 팔로우하고갑니다 ㅎㅎㅎ

네..감사합니다...프로그램을 처음 하시는 거라면 파이썬 강추드려요 ㅋㅋ