From e55b0cd14aa11e3249ecd7d64ca7045bcd4367bf Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 15 Jun 2025 09:34:22 +0800 Subject: [PATCH] update --- .../data_processor.cpython-313.pyc | Bin 11816 -> 11812 bytes cryptoai/models/data_processor.py | 2 +- cryptoai/routes/crypto.py | 11 ++++++----- docker-compose.yml | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/cryptoai/models/__pycache__/data_processor.cpython-313.pyc b/cryptoai/models/__pycache__/data_processor.cpython-313.pyc index 6c33b705f8b3b60a056e341c869cdce0d0842ee0..a8cbc6d758179c34e1c3e5cc33460dc6aa577fbb 100644 GIT binary patch delta 825 zcmaJ;O=uHA7|rZvlQh{)lO}F9Y0OV+G)oM`Kny8SXgz9M$QmeEk>D0;Z8mmlYire3 zv?U59m4PA%+JjcX9MlEz4-^lcn|de&Z=O<*UcBjiNd)!az`pPC-kWc}oq00)a8&p% z2v!4KmwJZA-#-_kR!@i0p$K_PoQiQ9{ivO16gxR#4Vya^hvLjIBrLhfhQ&hGtU+_v zKiW3Ux&GGt8b9(vaUY;9M?NZhn)O|~u}G?xFvlru29XDnf03T$fdH*0u2nry6)8>& zOhp~EeeFbdyN4et9H|MXIw@@~+Ud8Cz|T1iB+c(9Ufxc=+76S`d^9X5dozsY z$UAbL_O3sQLS3@SA437M%XbSwC6qxSI^aHo941{tIqIh2x^b{SnP?>2G?i$mK)J#G zLx}`tC~w&HPr?AxD@u1gch2vKa!r(CD7}*0n`t06JS|? z9Y`RwOm>4c&oEW$7Ccr^&zzl}l^N`6MYcmKl2*YqPL>L)%(e}1EBa86mo+T_ze0); zzo|6^sYC{BbD%a)tmt1NI(zUo6;9&&Aj1{l4GJ>XYA1ov3Ip5J-^%L<4U=3fnjNP~ zojs>r#8be`np(iPFpp;;xdN~Tunuq!zy$CZ;HmyH_6iBjf8(^7;)QuUMHb=_9&V;? koR}_Yc$HM+5#Jk#!+YcA16s1hk~%Xvb`*ag-{MDp0d7{eg8%>k delta 734 zcmaKo%WD%+6vlgJ@?tu7I&Et6Y#yy48QOs~AQ;ev?amj)YoLpYL?ajsil&SqzZ;_%S#XJ^~CI2iYU3j6-kTiVL6EwrJWs;E-?C!J1 zV2IwI#DCTC9XT*n><)XfRP2^Kxu?h#DZ2)uCbsFc0$&EkMc! z7e7ZHsH7oU@#iYJ22-h0`ldX^Zy|KVAfk!5jaY`|)VO&EWfE~0u_E52iiE5{GZBMd z>8;4D%yvTjOtp6M^x{=Z;bFIICsQNQRWyAU7OFK%^$c{^#KEzc8n}-72Gn!OfIA7a za?||{%=T_w6Q6TJoova(asC9;_*VW@!t%TAqL^@tQN0vzt%ron!qJJszPikG)Vgz- zb5ud6R^`0f;7eF}53!DTgm{byAlirxu{p6tXzy))=gP%P4bEZ7&go6*c6{d+7aYC{ RZ97Na!HyjzAK|OL|2M&+p=1C6 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"