Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
while True:
now = datetime.datetime.now()
# 매도 (08:50:00~08:50:10)
if now.hour == 8 and now.minute == 50 and (0 <= now.second <= 10):
if hold is True:
coin_size = upbit.get_balance(TICKER)
upbit.sell_market_order(TICKER, coin_size)
hold = False
break_out_range = None # 다음 목표가 갱신까지 매수되지 않도록
time.sleep(10)
# 목표가 갱신 (09:01:00~09:01:10)
if now.hour == 9 and now.minute == 1 and (0 <= now.second <= 10):
df = pyupbit.get_ohlcv(TICKER)
k = noise.get_average_noise_ratio(df)
break_out_range = larry.get_break_out_range(df, k)
betting_ratio = betting.get_betting_ratio(df, break_out_range, NUM_COINS)
# 정상적으로 break out range를 얻은 경우
if break_out_range is not None and betting_ratio is not None:
time.sleep(10)
# 매수 시도
cur_price = pyupbit.get_current_price(TICKER)
if hold is False and cur_price is not None and break_out_range is not None and cur_price >= break_out_range:
krw_balance = upbit.get_balance(FIAT)
upbit.buy_market_order(TICKER, krw_balance * betting_ratio)
hold = True
# 상태 출력
if date in df.index:
today = df.iloc[-1]
yesterday = df.iloc[-2]
gap = yesterday['high'] - yesterday['low']
break_out_range = today['open'] + gap * k
return break_out_range
else:
return None
except:
return None
if __name__ == "__main__":
ticker = "KRW-BTC"
df = pyupbit.get_ohlcv(ticker)
break_out_range = get_break_out_range(df)
print(break_out_range)