一、 核心作战环境与底盘物理架构
-
宿主环境: macOS + Parallels Desktop(融合模式)。在此模式下,Mac 原生截图与 Python 键盘模拟可无缝穿透并控制 Windows 版“指南针”软件。
-
底层驱动(废弃旧版): 彻底废弃笨重且易产生“汉字幻觉”的 PaddleOCR 和 AppleScript。
-
现役火力架构: Python +
pyautogui(键盘接管) +subprocess(直调 macOS 底层screencapture -x -R极速切图) +pytesseract(Tesseract 轻量化纯数字光学识别) +pandas(数据清洗与矩阵生成)。
二、 光学瞄具与天眼识别铁律
-
物理白名单防线: Tesseract 强制开启单行与纯数字模式,引擎配置锁死为:
custom_config = r'--psm 7 -c tessedit_char_whitelist=0123456789.-%'。 -
准星定标纪律: 光学坐标框(记录于
tactical_coords.json)必须通过 Vim 版微调器(TargetAcquirer.py)进行手工像素级卡位,绝对禁止将任何汉字指标名称框入准星,只允许框取数字、百分号及正负号。
三、 集群扫荡与机械控制协议
-
纵深扫描逻辑: 读取
battle_plan.json-> 模拟敲击股票代码 -> 回车锁定基准日 -> 截取半屏图 -> OCR 提取 -> 模拟按下向左方向键(pyautogui.press('left'))推移时间轴 -> 循环 N 天。 -
准星归零机制: 纵深扫描结束后,必须模拟按下 N 次向右方向键,确保光标退回起始基准日,防止下一只股票的时间轴发生漂移。
-
渲染冗余: 切换股票必须预留
2.5s加载时间,单次向左推移必须预留1.0s数据重绘时间。
四、 情报清洗与物理定性法则
-
化学提纯: OCR 提取的原始字符串,入库前必须强制经过正则表达式
re.sub(r'[^\d.-]', '', val)过滤,将其榨取为纯浮点数。若解析完全失败,强制定为NaN并使用ffill()/bfill()修复,严禁将空字符或NULL传入 Matplotlib 绘图引擎。 -
绝对控盘运算: 在生成最终 CSV 矩阵时,强制植入公式 。若 ,立即触发极度控盘警报。