From b2f227cdf4649f10ca6fca5ef7189394bf5bfadd Mon Sep 17 00:00:00 2001 From: blade <8019068@qq.com> Date: Tue, 5 Aug 2025 17:35:37 +0800 Subject: [PATCH] to show current date time --- .../__pycache__/market_data.cpython-312.pyc | Bin 12738 -> 12766 bytes .../market_monitor.cpython-312.pyc | Bin 13623 -> 14187 bytes core/biz/market_monitor.py | 38 ++++++++------ market_monitor_main.py | 48 ++++++++++++------ monitor_schedule.py | 4 +- 5 files changed, 58 insertions(+), 32 deletions(-) diff --git a/core/biz/__pycache__/market_data.cpython-312.pyc b/core/biz/__pycache__/market_data.cpython-312.pyc index 8ab8bbed0eb9c48a5937b2328cfa16594afb2179..b6b8bfc4023822a7355cb1bd2b3174ec45b9ed06 100644 GIT binary patch delta 145 zcmX?yheXDqtp@* bTNXq}1BqW8Ho5sJr8%i~McXD98U_LYz9cES delta 102 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 0: logging.info(f"监控到上涨: {symbol} {bar} 窗口大小: {self.window_size}") else: - logging.info(f"监控到下跌: {symbol} {bar} 窗口大小: {self.window_size},退出本次监控") + logging.info( + f"监控到下跌: {symbol} {bar} 窗口大小: {self.window_size},退出本次监控" + ) return next_bar_row = self.get_other_realtime_data(symbol, bar, end_time, next=True) - if 'BTC-USDT' in symbol: + if "BTC-USDT" in symbol: btc_bar_row = None else: - btc_bar_row = self.get_other_realtime_data('BTC-USDT', bar, end_time, next=False) + btc_bar_row = self.get_other_realtime_data( + "BTC-USDT", bar, end_time, next=False + ) - - report = create_metrics_report(realtime_row, next_bar_row, btc_bar_row, only_output_huge_volume, only_output_rise) + report = create_metrics_report( + realtime_row, + next_bar_row, + btc_bar_row, + only_output_huge_volume, + only_output_rise, + now_datetime_str, + ) text_length = len(report.encode("utf-8")) logging.info(f"发送报告到企业微信,字节数: {text_length}") @@ -158,9 +172,7 @@ class MarketMonitorMain: # remove punction in latest_reatime_datetime file_datetime = re.sub(r"[\:\-\s]", "", latest_reatime_datetime) - report_file_name = ( - f"{symbol}_{bar}_{self.window_size}_{file_datetime}.md" - ) + report_file_name = f"{symbol}_{bar}_{self.window_size}_{file_datetime}.md" report_file_path = os.path.join(self.output_folder, report_file_name) with open(report_file_path, "w", encoding="utf-8") as f: f.write(report) @@ -186,7 +198,9 @@ class MarketMonitorMain: with open(self.latest_record_file_path, "w", encoding="utf-8") as f: json.dump(self.latest_record, f, ensure_ascii=False, indent=4) - def get_other_realtime_data(self, symbol: str, bar: str, end_time: int, next: bool = True): + def get_other_realtime_data( + self, symbol: str, bar: str, end_time: int, next: bool = True + ): """ 获取下一个长周期实时数据 """ @@ -218,7 +232,9 @@ class MarketMonitorMain: ): for symbol in self.market_data_main.symbols: for bar in self.market_data_main.bars: - logging.info(f"开始监控: {symbol} {bar} 窗口大小: {self.window_size} 行情数据") + logging.info( + f"开始监控: {symbol} {bar} 窗口大小: {self.window_size} 行情数据" + ) try: self.monitor_realtime_market( symbol, @@ -227,7 +243,9 @@ class MarketMonitorMain: only_output_rise, ) except Exception as e: - logging.error(f"监控失败: {symbol} {bar} 窗口大小: {self.window_size} 行情数据: {e}") + logging.error( + f"监控失败: {symbol} {bar} 窗口大小: {self.window_size} 行情数据: {e}" + ) continue diff --git a/monitor_schedule.py b/monitor_schedule.py index 67c5fb5..8c6a90d 100644 --- a/monitor_schedule.py +++ b/monitor_schedule.py @@ -13,8 +13,8 @@ def monitor_schedule(): only_output_huge_volume=True, only_output_rise=False, ) - logging.info("本次循环监控结束,等待1分钟") - time.sleep(60) + logging.info("本次循环监控结束,等待30秒") + time.sleep(30) if __name__ == "__main__": monitor_schedule() \ No newline at end of file