[파이썬] 업비트 BTC(비트코인) 매수 주문 + 조건문

2022. 11. 22. 09:00자동매매/업비트

반응형

업비트의 Open API를 이용해서 파이썬으로 로그인한 후, 아래와 같이 코드를 입력하고 실행하면, BTC(비트코인)의 가격이 2천만원 이하일 때, 10,000원만큼의 BTC(비트코인)을 매수하는 주문을 진행하게 된다. (KRW 잔고가 10,000원 이상일 경우)

 

그리고 BTC(비트코인)의 가격이 2천만원 이상일 경우에는 매수가 진행되지 않고 "BTC > 20,000,000"라는 문장을 출력하고 프로그램을 종료하게된다.

 

자동매매에서 조건문은 여러가지의 조건을 조합해서 원하는 조건일 때, 매수를 진행하게 하고, 그 조건을 만족하지 않을 경우에는 매도를 진행하게 한다거나 하는 등 특정 조건을 만족할 때 다양한 동작을 할 수 있도록 구성을 한다. 또한, 각 조건들의 순서나 우선순위 등도 고려해야하고 각각의 조건들이 서로 겹치거나 모순되는 부분이 없는지도 잘 검토해야 한다.

 

반응형

 

예를 들어, 비트코인의 가격이 2천만원 이하일 때 매수하는 조건과 '10일 단순 이동평균선' 이하일 때 매도하는 조건이 있다고 할 때, 비트코인이 2천만원 이하인 동시에 '10일 단순 이동평균선' 이하일 경우가 발생할 수 있다. 이런 경우, 비트코인의 가격의 변동없이 유지되고 있어도 매수와 매도가 반복되고 거래수수료가 지속적으로 발생하여 손실을 보게 된다.

 

따라서, 조건을 설정할 때에는 발생할 수 있는 모든 경우의 수를 검토해야 하며, 놓치는 부분이 있는 경우, 손실로 이어지게 된다.

 

import pyupbit


# Upbit 로그인 시작
access = "액세스 코드 입력"
secret = "시크릿코드 입력"
upbit = pyupbit.Upbit(access, secret)


# 현재가 조회 정의
def get_current_price(ticker):
    return pyupbit.get_orderbook(ticker=ticker)["orderbook_units"][0]["ask_price"]


current_price = get_current_price("KRW-BTC")                            # 현재가 조회


if current_price < 20000000:                                            # "비트코인 현재가 < 20,000,000원" 조건일 때
    buy_result = upbit.buy_market_order("KRW-BTC", 10000)               # 10,000원 만큼의 BTC 매수
    print("- BTC Buy : " + str(buy_result))                             # BTC 매수 정보


else:                                                                  # "비트코인 현재가 < 20,000,000원" 조건이 아닐 때
    print("BTC > 20,000,000")                                          # "BTC > 20,000,000" 출력

 

 

반응형