데하! 안녕하세요 DevStone입니다!
오늘은 잔고와 주문을 조회하고 또
해당 주문을 취소하는 방법을 알아보겠습니다.
사용언어 : Python
잔고 조회
잔고 조회 코드 입니다.
우선 jwt,uuid,requests,pyupbit를 import 해줍니다.
하나씩 간단하게 설명하자면 우선
JWT( json web token ) 이 방식은 서버-서버 인증 방식으로 웹 로그인 없이 서비스 인증을 받을 수 있는 방법 입니다.
UUID( Universally Unique IDentifier ) 이란 범용 고유 식별자로 네트워크 상에서 서로 모르는 개체들을
식별하고 구별하기 위해 만들어진 방법 입니다.
좀더 깊게 알아보자면 uuid는 총 4개의 함수가 있습니다.
uuid.uuid1(node=None, clock_seq=None)
호스트ID, 시퀀스, 현재시간을 기준으로 uuid를 생성합니다.
uuid.uuid3(namespace, name)
네임 스페이스 UUID와 이름의 MD5 해시에서 UUID를 생성합니다.
uuid.uuid4()
랜덤 UUID를 생성합니다.
uuid.uuid5(namespace, name)
네임 스페이스 UUID와 이름의 SHA-1 해시에서 UUID를 생성합니다.
Requests 란 파이썬에서 HTTP 요청을 간단하게 하기 위한 모듈 입니다.
pyupbit 는 말안해도 다들 아실거라 생각하고 패스~
코드를 하나씩 뜯어 보자면 우선 키값들을 받아와 줍니다.
요청 대상이 되는 url은 "https://api.upbit.com" 입니다.
payload 값은 엑세스 키값과 uuid4로 발급한 uuid 값 입니다.
jwt_token은 jwt.encode를 사용하여 인코딩 문제를 해결한 payload 값과 secret 즉 시크릿 키 값 입니다.
그후 authorize_token 은 파이썬 내장함수 format을 사용하여 Bearer 뒤에 인코딩된 값 jwt_token을 넣어 줍니다.
그후 requests 함수를 사용하여 요청 후 json 형태로 반환 받습니다.
json 형태이기 때문에 출력시 print(res.json())과 같은 형태로 출력 합니다.
주문조회
주문조회 코드는 상당히 매우매우 간단 합니다.
단순히 upbit.get_order('종목') 이게 전부 입니다!
이때 해당 종목에 관한 주문을 조회하고 내용을 반환해 줍니다.
이때 주문 취소를 하기 위해서는 반환되는 내용중 uuid 값을 꼭 기억해야 합니다.
주문취소.
uuid 내용에 조회한 uuid 값을 넣고
upbit.cancel_order(uuid)를 해주면 해당 코드에 맞은 주문이 취소 됩니다.
물론 별도 변수 할당말고 직접 넣어주셔도 가능 합니다.
다음시간은 마지막으로 지금까지 배운것을 기반으로 GCP에서 24시간 파이썬 코드를
돌리는 방법을 알아 보겠습니다.
별도 로직에 대한 포스팅은 하지 않을 예정이라 이번 시리즈는 여기서 끝이 납니다.
추후 많은요청이 있을 시 흔히 많은 사람들이 사용하는 변동 성 돌파전략 매매기법을 이용하여
매수 매도부터 프로그램 전체를 짜는 시간을 가져 보도록 하겠습니다!
예제 소스는 git에서 확인하실 수 있습니다.
https://github.com/Maker-Kim/Study/blob/master/python/Auto_Coin_3.py
Maker-Kim/Study
Contribute to Maker-Kim/Study development by creating an account on GitHub.
github.com
'개발 > Python' 카테고리의 다른 글
코인 자동매매 프로그램 만들기_3 (0) | 2021.06.08 |
---|---|
코인 자동매매 프로그램 만들기_2 (0) | 2021.06.07 |
코인 자동매매 프로그램 만들기_1 (0) | 2021.06.04 |