import datetime
import pyupbit
import time
def cal_target(ticker):
df = pyupbit.get_ohlcv(ticker,"day")
yesterday = df.iloc[-2]
today = df.iloc[-1]
yesterday_range = yesterday['high'] - yesterday['low']
target = today['open'] + yesterday_range * 0.5
return target
f = open("upbit.txt")
lines = f.readlines()
access = lines[0].strip() # access_key
secrets = lines[1].strip() # secret key
f.close()
upbit = pyupbit.Upbit(access, secrets)
# 변수 설정
target = cal_target("KRW-BTC")
op_mode = False
# 보유 여부
hold = False
while True:
now = datetime.datetime.now()
# 매도 시도 : 8시 59분 50초 ~ 09:00:00 초 사이에 매도
if now.hour == 8 and now.minute == 59 and (50 <= now.second <= 59):
if op_mode is True and price is not None and hold is True:
btc_balance = upbit.get_balance("KRW-BTC")
upbit.sell_market_order("KRW-BTC", btc_balance)
hold = False
op_mode = False
time.sleep(10)
# 09:00 분 20초 ~ 30초 사이 목표가 갱신
if now.hour == 9 and now.minute == 0 and (20 < now.second <= 30):
target = cal_target("KRW-BTC")
print("목표가 : ", target)
op_mode = True
price = pyupbit.get_current_price("KRW-BTC")
#print(now, price)
time.sleep(1)
# 매초 마다 조건을 확인한 후 매수 시도
if op_mode is True and price is not None and price >= target and hold is False:
# 원화 잔고 가져오기
krw_balance = upbit.get_balance("KRW")
# 시장가 주문(원화 잔고 만큼)
upbit.buy_market_order("KRW-BTC", krw_balance * 0.1)
hold = True
gap = target - price
# 상태 출력
print(f"현재시간: {now}, 목표가 : {target}, 현재가: {price}, 갭차이 {gap}, 보유상태 : {hold}, 보유상태 : {hold}, 동작상태: {op_mode}")
time.sleep(1)
import pyupbit
import time
def cal_target(ticker):
df = pyupbit.get_ohlcv(ticker,"day")
yesterday = df.iloc[-2]
today = df.iloc[-1]
yesterday_range = yesterday['high'] - yesterday['low']
target = today['open'] + yesterday_range * 0.5
return target
f = open("upbit.txt")
lines = f.readlines()
access = lines[0].strip() # access_key
secrets = lines[1].strip() # secret key
f.close()
upbit = pyupbit.Upbit(access, secrets)
# 변수 설정
target = cal_target("KRW-BTC")
op_mode = False
# 보유 여부
hold = False
while True:
now = datetime.datetime.now()
# 매도 시도 : 8시 59분 50초 ~ 09:00:00 초 사이에 매도
if now.hour == 8 and now.minute == 59 and (50 <= now.second <= 59):
if op_mode is True and price is not None and hold is True:
btc_balance = upbit.get_balance("KRW-BTC")
upbit.sell_market_order("KRW-BTC", btc_balance)
hold = False
op_mode = False
time.sleep(10)
# 09:00 분 20초 ~ 30초 사이 목표가 갱신
if now.hour == 9 and now.minute == 0 and (20 < now.second <= 30):
target = cal_target("KRW-BTC")
print("목표가 : ", target)
op_mode = True
price = pyupbit.get_current_price("KRW-BTC")
#print(now, price)
time.sleep(1)
# 매초 마다 조건을 확인한 후 매수 시도
if op_mode is True and price is not None and price >= target and hold is False:
# 원화 잔고 가져오기
krw_balance = upbit.get_balance("KRW")
# 시장가 주문(원화 잔고 만큼)
upbit.buy_market_order("KRW-BTC", krw_balance * 0.1)
hold = True
gap = target - price
# 상태 출력
print(f"현재시간: {now}, 목표가 : {target}, 현재가: {price}, 갭차이 {gap}, 보유상태 : {hold}, 보유상태 : {hold}, 동작상태: {op_mode}")
time.sleep(1)
'재테크•투자•경제•주식' 카테고리의 다른 글
교환 사채 발행 결정 (0) | 2024.02.20 |
---|---|
디마크 저항성 (0) | 2024.02.19 |
스탠 워이너스타인(Stan Weinstein) (0) | 2024.02.19 |
흔들기(shakeout) (0) | 2024.02.19 |
스쿼트(squat) (0) | 2024.02.19 |