매수 금액설정
426
2 asked
안녕하세요.
강의를 다 본 뒤 코드를 작성하고 업비트에서 실제로 매수 매도를 진행해보니 매수할 금액이 부족하면 오류가 발생하여 봇 작동이 멈췄습니다. 저는 매수할 금액이 부족하더라고 봇은 계속 돌아가서 매도는 진행하고 싶은데 혹시 어떤 코드를 추가하면 되는건지 궁금합니다.
Answer 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
안녕하세요 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)
-------------------------------------------------------------------
바이낸스 오픈 API가 없습니다..
0
246
1
ta 모듈을 못 찾습니다
0
480
1
데이터수집하기 오류
0
330
1
베이지안에서 질문있습니다.
0
288
2
바이낸스 오픈 API 깃허브 링크
0
759
1
데이터 수집하기 오류 질문
0
487
1
BinanceApiException
0
577
2
target 값 0
0
273
1
This access key is incorrect.
0
553
2
현재가 가져올때 request를 사용하는 이유
0
444
3
error code 400 관련 질문
0
317
1
'NoneType' object is not subscriptable 오류 문의 (robobits.py)
0
297
1
부분 매수로 인한 check_open_cnt 문제
0
243
1
리눅스에서 파이썬 실행하기
1
2283
1
업비트 아이디 1개로 robobits.py 파일을 몇개까지 실행 할 수 있을까요?
0
300
1
robobits_adv2.py 파일에서 TypeError: 'NoneType' object is not subscriptable 오류 발생하면서 멈췄어요.
0
903
2
로그기록을 파일로 저장 하고 싶습니다.
0
997
1
오픈건수가 아닌 자산비율 100%구매방법
0
274
1
리플 뿐만이 아닌 다른 종목들
0
233
1
1분 데이터를 끌어올 수 없습니다
0
259
1
module not find 에러 문의
0
283
2
read_json오류 문의
0
467
2
WMAIndicator에서 오래 걸리는게 정상인가요?
0
213
1
pbound 관련 질문드립니다.
0
233
1

