This commit is contained in:
dsyoon
2025-08-07 02:31:19 +09:00
parent 55db3e6302
commit 869a010a80

View File

@@ -74,14 +74,14 @@ def send_coin_telegram_message(message_list, header):
return return
def buy_ticker(symbole, data): def buy_ticker(symbol, data):
try: try:
# 매수 금지 시간 확인 (20분) # 매수 금지 시간 확인 (20분)
current_time = datetime.now() current_time = datetime.now()
if symbole in buy_cooldown: if symbol in buy_cooldown:
time_diff = current_time - buy_cooldown[symbole] time_diff = current_time - buy_cooldown[symbol]
if time_diff.total_seconds() < 1200: # 20분 = 1200초 if time_diff.total_seconds() < 1200: # 20분 = 1200초
print(f"{symbole}: 매수 금지 중 (남은 시간: {1200 - time_diff.total_seconds():.0f}초)") print(f"{symbol}: 매수 금지 중 (남은 시간: {1200 - time_diff.total_seconds():.0f}초)")
return False return False
BUY_AMOUNT = 6000 BUY_AMOUNT = 6000
@@ -93,16 +93,23 @@ def buy_ticker(symbole, data):
elif data['buy_signal'].iloc[-1] == 'deviation240': elif data['buy_signal'].iloc[-1] == 'deviation240':
BUY_AMOUNT = 6000 BUY_AMOUNT = 6000
_ = hts.buyCoinMarket(symbole, BUY_AMOUNT) _ = hts.buyCoinMarket(symbol, BUY_AMOUNT)
# 매수 성공 시 금지 시간 설정 및 파일에 저장 # 매수 성공 시 금지 시간 설정 및 파일에 저장
buy_cooldown[symbole] = current_time buy_cooldown[symbol] = current_time
save_buy_cooldown(buy_cooldown) save_buy_cooldown(buy_cooldown)
print(f"{symbole}: 매수 완료, 20분간 매수 금지 시작") print(f"{KR_COINS[symbol]} ({symbol}): {data['Close'].iloc[-1]:.2f}: 매수 완료, 20분간 매수 금지 시작")
try:
pool = Pool(12)
pool.map(send_coin_msg, ["[KRW-COIN]" + "\n" + format_message('COIN', symbol, KR_COINS[symbol], data['Close'].iloc[-1], data['buy_signal'].iloc[-1])])
except Exception as e:
print(f"Error sending Telegram message: {str(e)}")
return True return True
except Exception as e: except Exception as e:
print(f"Error buying {symbole}: {str(e)}") print(f"Error buying {symbol}: {str(e)}")
return False return False
return return
@@ -497,12 +504,6 @@ def monitor_coins():
recent_data = check_buy_point(data) # Changed to check_buy_point recent_data = check_buy_point(data) # Changed to check_buy_point
if recent_data['buy_point'].iloc[-1] != 1: if recent_data['buy_point'].iloc[-1] != 1:
continue continue
print(f" - {KR_COINS[symbol]} ({symbol}): {recent_data['Close'].iloc[-1]:.2f}")
try:
pool = Pool(12)
pool.map(send_coin_msg, ["[KRW-COIN]" + "\n" + format_message('COIN', symbol, KR_COINS[symbol], recent_data['Close'].iloc[-1], recent_data['buy_signal'].iloc[-1])])
except Exception as e:
print(f"Error sending Telegram message: {str(e)}")
# buy # buy
buy_success = buy_ticker(symbol, recent_data) buy_success = buy_ticker(symbol, recent_data)
@@ -541,4 +542,5 @@ def run_schedule():
if __name__ == "__main__": if __name__ == "__main__":
run_schedule() #run_schedule()
monitor_coins()