코드들은 github에 업로드되어있습니다.
https://github.com/JaeYeongSong/Blog/tree/main/BTC_Pyupbit-Autotrade
저번 2시간은 매수, 매도하는 방법에 대해 알아보았습니다.
매수와 매도는 주문이라는 하나에 개념에 합쳐지죠. 그럼 지금부터 매수와 매도를 합쳐 주문이라고 정의하겠습니다.
여러분들 주문을 했는데 자신이 원하지 않은 금액 또는, 주문을 잘 못 넣어서 취소하려고 하는데
주문 취소를 못하면 어떻게 될까요? 손해를 볼 수 있습니다.
그럼 자동매매 코드를 만들었는데, 주문을 취소하고 싶다면 오늘 알아볼 주문 취소하는 코드를 알아보아야 합니다.
그럼 오늘 주문을 취소할 수 있는 코드를 들고 오겠습니다.
import pyupbit
access = "your access"
secret = "your secret"
upbit_Token = pyupbit.Upbit(access, secret)
ret = upbit_Token.buy_limit_order("KRW-BTC", 4000000, 1) # 매수
ret = upbit_Token.sell_limit_order("KRW-BTC", 4000000, 1) # 매도
uuid = ret['uuid'] # 주문번호 얻기
upbit_Token.cancel_order(uuid) # 주문 취소
▲ AT_basic/04.py
이게 오늘 배울 전체 소스코드입니다.
여기 부분에서 오늘 배울 부분을 알아봅시다.
uuid = ret['uuid'] # 주문번호 얻기
upbit_Token.cancel_order(uuid) # 주문 취소
▲ AT_basic/04.py 중 주문 취소
오늘 주문 취소에 대해서 알려면, uuid 라는 걸 아셔야 합니다.
uuid는 주문의 고유 아이디 입니다.
무슨 소리냐면 우리가 매수나 매도를 할 때 매수를 하거나 매도를 할 때
그 거래내역의 이름을 uuid 즉 주문의 고유 아이디입니다.
uuid로 주문을 한 기록을 특정할 수 있습니다.
주문을 취소하는 것도 uuid를 이용해서 주문기록을 특정하여 취소하는 방식이라고 생각하시면 될 것 같습니다.
자 일단 우리가 코드를 짤 때 주문을 취소할 경우가 생겼을 때 우리가 uuid를 찾아서 입력해 주지는 않죠.
그렇기 때문에 주문이 되었을 때 생성되는 uuid를 가지고 있어야 합니다.
일단 주문 코드를 함수로 만들어주겠습니다.
ret = upbit_Token.buy_limit_order("KRW-BTC", 4000000, 1) # 매수
ret = upbit_Token.sell_limit_order("KRW-BTC", 4000000, 1) # 매도
▲ AT_basic/04.py 중 주문
위에 코드는 매수 코드이고, 아래 코드는 매도 코드입니다. 지정가로 주문하는 게 적혀있지만 시장가로 주문하는 걸 알고 싶으시다면, AT_basic 시리즈 2, 3번을 보시면, 시장가로 매수, 매도하는 게 나와 있습니다. (AT_basic 시리즈는 () 소괄호)
일단 본론으로 들어와서 앞에 부분을 ret 라는 함수로 묶어줍시다.
그다음에 ret 라는 함수로 묶어준 주문 코드의 uuid를 가져오겠습니다.
uuid = ret['uuid'] # 주문번호 얻기
▲ AT_basic/04.py 중 uuid 얻기
uuid 라는 함수를 만들어서 ret에 uuid만 가져오는 코드입니다.
uuid는 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' 뭐 이러한 형식으로 구성되어 있습니다.
이제 uuid를 얻었으니까, uuid를 통해서 주문을 취소합시다. uuid를 통해 주문을 취소하는 방법은
upbit_Token.cancel_order(uuid) # 주문 취소
▲ AT_basic/04.py 중 주문 취소
이러한 코드를 사용해서 주문을 취소합니다.
cancel_order를 사용해서 말이죠.
이 함수 같은 경우에는 첫 번째 인자에 uuid를 받습니다. 즉 주문의 고유 아이디를 받습니다.
주문을 취소하면 그 주문을 특정을 해야지 취소를 가능한 것처럼 말이죠.
지금까지 읽어주신 분들 감사드립니다.
지금까지 주문 취소 코드였습니다.