diff --git a/cryptoai/models/__pycache__/data_processor.cpython-313.pyc b/cryptoai/models/__pycache__/data_processor.cpython-313.pyc index 6c33b70..a8cbc6d 100644 Binary files a/cryptoai/models/__pycache__/data_processor.cpython-313.pyc and b/cryptoai/models/__pycache__/data_processor.cpython-313.pyc differ diff --git a/cryptoai/models/data_processor.py b/cryptoai/models/data_processor.py index f22fbf1..462a736 100644 --- a/cryptoai/models/data_processor.py +++ b/cryptoai/models/data_processor.py @@ -67,9 +67,9 @@ class DataProcessor: # 计算移动平均线 df['MA5'] = df['close'].rolling(window=5).mean() - df['MA10'] = df['close'].rolling(window=10).mean() df['MA20'] = df['close'].rolling(window=20).mean() df['MA50'] = df['close'].rolling(window=50).mean() + df['MA100'] = df['close'].rolling(window=100).mean() # 计算相对强弱指标(RSI) delta = df['close'].diff() diff --git a/cryptoai/routes/crypto.py b/cryptoai/routes/crypto.py index 6bb1e15..96aade1 100644 --- a/cryptoai/routes/crypto.py +++ b/cryptoai/routes/crypto.py @@ -46,13 +46,14 @@ async def get_crypto_kline(symbol: str, timeframe: Optional[str] = None, limit: binance_api = get_binance_api() result = {} + data_processor = DataProcessor() + if timeframe is None: - result["15m"] = binance_api.get_historical_klines(symbol=symbol, interval="15m", limit=limit).to_dict(orient="records") - result["1h"] = binance_api.get_historical_klines(symbol=symbol, interval="1h", limit=limit).to_dict(orient="records") - result["4h"] = binance_api.get_historical_klines(symbol=symbol, interval="4h", limit=limit).to_dict(orient="records") - # result["1d"] = binance_api.get_historical_klines(symbol=symbol, interval="1d", limit=limit).to_dict(orient="records") + result["15m"] = data_processor.add_technical_indicators(binance_api.get_historical_klines(symbol=symbol, interval="15m", limit=limit)).to_dict(orient="records") + result["1h"] = data_processor.add_technical_indicators(binance_api.get_historical_klines(symbol=symbol, interval="1h", limit=limit)).to_dict(orient="records") + result["4h"] = data_processor.add_technical_indicators(binance_api.get_historical_klines(symbol=symbol, interval="4h", limit=limit)).to_dict(orient="records") else: - result[timeframe] = binance_api.get_historical_klines(symbol=symbol, interval=timeframe, limit=limit).to_dict(orient="records") + result[timeframe] = data_processor.add_technical_indicators(binance_api.get_historical_klines(symbol=symbol, interval=timeframe, limit=limit)).to_dict(orient="records") return result diff --git a/docker-compose.yml b/docker-compose.yml index 0c6daee..31348dd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: cryptoai-api: build: . container_name: cryptoai-api - image: cryptoai-api:0.2.16 + image: cryptoai-api:0.2.17 restart: always ports: - "8000:8000"