작성
·
270
답변 3
1
def get_chance(up, coin_name): 함수를 정의하는 부분은 trade.py 파일에 넣으시고,
계좌상태를 조회하는 코드는 다음과 같이 매수시작하기 전에 넣어서 체크하는게 좋을 것 같습니다.
---------------------------------------------------------------------------------------------
#매수 시작
message, balance, locked = get_chance(up, coin_name)
print(message, balance, locked)
is_chance = True or False #주문 금액과 주문가능 금액을 체크해서 주문가능 금액이 크다면 True 아니면 False
if buy_cnt <= buy_cnt_limit and close < bl and long_term_cond == 1 and is_chance == True:
---------------------------------------------------------------------------------------------
감사합니다.
0
0
안녕하세요 YunHo Lee님.
수강해주셔서 감사합니다.
매수할 금액이 부족할 때 다음과 같은 코드를 사용하시면 오류를 방지할 수 있습니다.
현재 주문가능 금액(balance)을 조회해서 주문금액(주문하려는 금액)과 비교하시면 됩니다.
if 주문가능금액 > 주문금액:
주문
else :
print("잔고가 부족합니다.")
코드를 첨부합니다.
감사합니다.
-------------------------------------------------------------------
import pyupbit
import comm.config as conf
access = conf.G_API_KEY
secret = conf.G_SECRET_KEY
coin_name = 'KRW-KRW'
up = pyupbit.Upbit(access, secret)
def get_chance(up, coin_name): #코인별 계좌상태 조회
message = ''
result = 'none'
trade_coin = 'none'
balance = 0
locked = 0
result = up.get_chance(coin_name)
try: # error mess
# age check
message = result[0]['error']['message']
except: # no error message -> normal state
if message == '':
message = 'good'
try:
if message == 'good':
balance = float(result['bid_account']['balance'])
locked = float(result['bid_account']['locked'])
except:
balance = -1
return message, balance, locked
#balance:주문가능 금액, locked:미체결 주문금액
message, balance, locked = get_chance(up, coin_name)
print(message, balance, locked)
-------------------------------------------------------------------
정말 세세하게 알려주셔서 잘 적용했습니다!