This commit is contained in:
aaron 2025-05-03 22:54:42 +08:00
parent c7f59cd616
commit ab95ecd539
2 changed files with 26 additions and 17 deletions

View File

@ -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")

View File

@ -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: