"""交易教练用的执行手册短摘要(现行 v2:无对冲)."""
from __future__ import annotations

from pathlib import Path

from lib.paths import REPO_ROOT

# 控制 token:保持简短;手册大改时同步修订本摘要.
_PLAYBOOK_BRIEF = """【用户策略执行手册·摘要】(来源:docs/交易执行手册-v2-期权与合约.md + docs/交易行为准则-开单三检.md)
开单防火墙(强制):信号判断→流程确认→情绪自检。三检不过不开。成败先看三检是否跑完。
主链条(强制):1H方向(含N字)→空间(支撑/阻力,至少约≥2%)→结构(约8h+/48×15m:收敛/两段回调/箱体/假突破等)→定损盈(结构突破=外沿;假突破=针尖)→选工具(只剩期权或合约)。
丢掉对冲:不做期期对冲/偏置对冲;对冲易产生「有保护就能多做」的幻觉。日更不是目标,过检才开。
一句话:1H定方向→量空间→等够结构→按模型定损盈→只在期权与合约里选;期权不手平;Gate一位置两次,错完收工;珍惜机会。
分工:OKX期权与Gate合约;其它账户暂不做。同一时段尽量只让一边说话。
入场:①主链条过关→一天期期权方向单(空间够可优先虚值);②极明确位置→Gate合约;独立假破优先只做合约或空仓。明确不做横盘双买对冲。
仓位(总资约800U):单笔期权约10U且一次一仓;Gate保证金约50U×约10x,止损约5U,单笔最亏约≤10U;日最坏约≤20U。
期权纪律:开仓后中间不手动平仓,只认规则止盈或到期;默认一天期,尽量北京时间16:00后开次日到期。
Gate纪律:只做很明确位置;同一位置最多两次(结构突破/假突破);两次都错→当日收工。
教练用法:对照上述纪律讨论执行与心态;开单前优先提醒主链条与三检;勿另造策略或鼓励对冲/期权手平/超仓/每天默认开期权。"""


def playbook_md_path() -> Path:
    return REPO_ROOT / "docs" / "交易执行手册-v2-期权与合约.md"


def format_playbook_brief_for_chat(max_chars: int = 1200) -> str:
    """返回注入交易教练上下文的短摘要."""
    text = _PLAYBOOK_BRIEF.strip()
    if len(text) <= max_chars:
        return text
    return text[: max(200, max_chars - 1)].rstrip() + "…"
