Normalize fullwidth punctuation to ASCII across codebase.

Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-08 23:42:26 +08:00
parent aaa72c7961
commit b733e551a0
392 changed files with 71522 additions and 71369 deletions
+9 -9
View File
@@ -1,4 +1,4 @@
"""策略交易写入 trade_records 时的类型与复盘开仓类型标注"""
"""策略交易写入 trade_records 时的类型与复盘开仓类型标注."""
from __future__ import annotations
from typing import Optional
@@ -14,20 +14,20 @@ STRATEGY_ENTRY_REASON_OPTIONS = (
ENTRY_REASON_ROLL,
)
# 趋势回调保本移交下单监控order_monitors.key_signal_type / 平仓备注
# 趋势回调保本移交下单监控:order_monitors.key_signal_type / 平仓备注
TREND_HANDOFF_KEY_SIGNAL = ENTRY_REASON_TREND_PULLBACK
TREND_HANDOFF_TRADE_NOTE = "趋势回调计划"
def handoff_trade_miss_reason(miss_reason, row) -> Optional[str]:
"""趋势保本移交的监控单平仓交易记录备注带来源"""
"""趋势保本移交的监控单平仓:交易记录备注带来源."""
if trend_plan_id_from_monitor_row(row) is None:
return miss_reason
base = (miss_reason or "").strip()
if TREND_HANDOFF_TRADE_NOTE in base:
return base or TREND_HANDOFF_TRADE_NOTE
if base:
return f"{TREND_HANDOFF_TRADE_NOTE}{base}"
return f"{TREND_HANDOFF_TRADE_NOTE};{base}"
return TREND_HANDOFF_TRADE_NOTE
@@ -94,7 +94,7 @@ def _row_key_signal_type(row) -> str:
def order_monitor_source_type(row, *, default_manual: str = "下单监控") -> str:
"""展示/平仓记录趋势保本移交单来源为「趋势回调」非「下单监控」"""
"""展示/平仓记录:趋势保本移交单来源为「趋势回调」,非「下单监控」."""
if trend_plan_id_from_monitor_row(row) is not None:
return MONITOR_TYPE_TREND_PULLBACK
mt = _row_monitor_type(row, default_manual)
@@ -112,14 +112,14 @@ def order_monitor_source_type(row, *, default_manual: str = "下单监控") -> s
def apply_order_monitor_source_labels(item: dict, *, default_manual: str = "下单监控") -> dict:
"""实例页 / 中控 API统一修正 order_monitors 展示用 monitor_type"""
"""实例页 / 中控 API:统一修正 order_monitors 展示用 monitor_type."""
out = dict(item or {})
out["monitor_type"] = order_monitor_source_type(out, default_manual=default_manual)
return out
def trade_record_monitor_type(conn, order_row, *, default_manual: str = "下单监控") -> str:
"""平仓写入 trade_records 时曾顺势加仓则标「顺势加仓」否则沿用监控单来源类型"""
"""平仓写入 trade_records 时:曾顺势加仓则标「顺势加仓」,否则沿用监控单来源类型."""
oid = None
try:
keys = order_row.keys() if hasattr(order_row, "keys") else []
@@ -142,12 +142,12 @@ def entry_reason_for_monitor_type(monitor_type: str | None) -> str:
def order_monitor_excluded_from_position_limit(conn, row) -> bool:
"""趋势回调不计入 MAX_ACTIVE_POSITIONS顺势加仓在已有持仓上操作单独放行"""
"""趋势回调不计入 MAX_ACTIVE_POSITIONS;顺势加仓在已有持仓上操作,单独放行."""
return order_monitor_source_type(row) == MONITOR_TYPE_TREND_PULLBACK
def count_position_limit_active_monitors(conn) -> int:
"""计入仓位上限冻结的活跃监控数不含趋势回调顺势加仓)。"""
"""计入仓位上限冻结的活跃监控数(不含趋势回调,顺势加仓)."""
try:
rows = conn.execute("SELECT * FROM order_monitors WHERE status='active'").fetchall()
except Exception: