This commit is contained in:
dsyoon
2025-08-24 17:26:35 +09:00
parent 45b563f39c
commit 82240c7542
5 changed files with 22 additions and 14 deletions

View File

@@ -9,13 +9,14 @@ import requests
import json
import asyncio
from multiprocessing import Pool
from config import *
import FinanceDataReader as fdr
import numpy as np
import os
from config import *
from HTS2 import HTS
class Monitor:
class Monitor(HTS):
"""자산(코인/주식/ETF) 모니터링 및 매수 실행 클래스"""
last_signal = None
@@ -224,7 +225,7 @@ class Monitor:
return data
# ------------- Strategy -------------
def buy_ticker(self, symbol: str, data: pd.DataFrame) -> bool:
def buy_ticker_1h(self, symbol: str, data: pd.DataFrame) -> bool:
try:
# 기존 로직 ---------------------------------------------------
#print('BUY: {}'.format(symbol))
@@ -253,6 +254,7 @@ class Monitor:
# Ignore errors in MA calculation so as not to block trading logic
pass
buy_amount = 6000
current_time = datetime.now()
if data['signal'].iloc[-1] == 'fall_6p':
if data['Close'].iloc[-1] > 100:
@@ -311,7 +313,7 @@ class Monitor:
return False
return True
def sell_ticker(self, symbol: str, data: pd.DataFrame) -> bool:
def sell_ticker_1h(self, symbol: str, data: pd.DataFrame, balances) -> bool:
"""Dev40(Deviation40) 매도 조건을 만족할 때만 매도 실행"""
try:
# 최신 캔들의 시그널이 Dev40이 아니면 매도하지 않음
@@ -330,7 +332,7 @@ class Monitor:
return False
# 매도 수량/금액 산정 (예: 50,000 KRW 상당)
sell_amount = 50000 # KRW 기준 매도 총액 혹은 수량 설정
sell_amount = balances[symbol]['balance'] * 0.7 # KRW 기준 매도 총액 혹은 수량 설정
# 실제 매도 실행 (HTS API)
_ = self.hts.sellCoinMarket(symbol, 0, sell_amount) # market 매도 (price 파라미터 미사용)