diff --git a/cryptoai/monitors/volume_growup.py b/cryptoai/monitors/volume_growup.py index 9b82498..bec9b07 100644 --- a/cryptoai/monitors/volume_growup.py +++ b/cryptoai/monitors/volume_growup.py @@ -6,6 +6,7 @@ from datetime import datetime, timedelta from cryptoai.models.data_processor import DataProcessor from cryptoai.utils.discord_bot import DiscordBot import time +import pandas as pd class VolumeGrowupMonitor: """ 成交量增长监控 @@ -38,32 +39,40 @@ class VolumeGrowupMonitor: data_processor = DataProcessor() processed_data = data_processor.preprocess_market_data(symbol, data) - # 计算过去 30 根 K 线的平均交易量 - average_volume = processed_data['volume'].tail(30).mean() + # 监控交易量增长 + self.monitor_volume_growup(processed_data, symbol, time_interval) - # 用上一根 k 线和过去 30 根 k 线的平均交易量计算增长率 - volume_growth = processed_data['volume'].iloc[-2] / average_volume + time.sleep(1) - print(f"{symbol} 过去 30 根 K 线的平均交易量为 {average_volume:.2f},当前交易量为 {processed_data['volume'].iloc[-1]:.2f},增长率为 {volume_growth:.2%}") - - # 如果增加 10倍以上,则发送消息 - if volume_growth >= 10: - # markdown 格式,带上emoji - message = f"""## 🚨 交易量暴涨提醒 - {symbol} + # 监控交易量增长 + def monitor_volume_growup(self, processed_data: pd.DataFrame, symbol: str, time_interval: str): + # 计算过去 30 根 K 线的平均交易量 + average_volume = processed_data['volume'].tail(30).mean() + + # 用上一根 k 线和过去 30 根 k 线的平均交易量计算增长率 + volume_growth = processed_data['volume'].iloc[-2] / average_volume + + # 计算交易金额 + current_amount = processed_data['close'].iloc[-2] * processed_data['volume'].iloc[-2] + + print(f"{symbol} 过去 30 根 K 线的平均交易量为 {average_volume:.2f},当前交易量为 {processed_data['volume'].iloc[-1]:.2f},增长率为 {volume_growth:.2%}") + + # 如果增加 10倍以上,则发送消息 + if volume_growth >= 10: + # markdown 格式,带上emoji + message = f"""## 🚨 交易量暴涨提醒 - {symbol} **周期**: `{time_interval}` **30根K线平均量**: `{average_volume:.2f}` **当前量**: `{processed_data['volume'].iloc[-2]:.2f}` +**当前交易金额**: `{current_amount:.2f} USD` **增长倍数**: **{volume_growth:.2f} 倍** """ - - self.discord_bot.send_message(message) - print(f"发送交易量上涨提醒消息到discord") - - time.sleep(1) - + + self.discord_bot.send_message(message) + print(f"发送交易量上涨提醒消息到discord") diff --git a/docker-compose.yml b/docker-compose.yml index 087da55..374c606 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,7 +18,7 @@ services: cryptoai-monitor: build: . container_name: cryptoai-monitor - image: cryptoai-monitor:0.0.5 + image: cryptoai-monitor:0.0.6 restart: always command: python run_monitor.py environment: