mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 15:44:18 +08:00
- ZIG 右侧突破回补策略:MyTT 新增 ZIG 之字转向(未来函数,含前视偏差警示); 波谷启动建仓挂硬止损(OCO)→ 见顶清仓记前高 → 右侧突破回补;路径依赖不实现 entry_exit_masks(向量化守护测试白名单);含寻优预设网格与 --strategy-file 独立文件 - 交易时段感知刷新:realtime/session.py(09:15~11:30:30 / 13:00~15:05)+ GET /market/session;看板 30/60/120s 轮询休市自动暂停(三态状态栏 + 开关持久化 + 手动刷新不受限);SSE/WS 既有会话语义不动 - 120 分钟 K 线:/bars?category=MIN_120(MAC 原生 Period.MINS×120 优先, 2×60M 相邻聚合兜底,标准客户端上限 400 根);前端周期选择器同步 - 逐 bar 衍生字段:/bars 与 /bars/index 附带 pre_close/change/change_pct/ amplitude_pct(pre_close≤0.01 兜底防除零) - 159 只核心龙头池:数据资产取自 Fork(东财全行业龙头名单,四组分层); universe=core 接入 screen scan / SignalScanner / StrengthRanker / market strength; GET /market/core-leaders + WebUI「龙头池」页(搜索/个股详情) - 多 Provider LLM 直连:easy_tdx.ai + /llm/*(DeepSeek/通义/智谱/Kimi/MiniMax/ OpenAI/Claude/Ollama/自定义,openai 兼容 + anthropic 原生双协议); 配置落盘 ~/.easy_tdx/llm.json(WebUI「AI 设置」页 ⇆ 手工编辑双向兼容, 文件>环境变量>预设;key 脱敏回显/CLEAR 清除);「AI 解读」后台任务化 (复用 task_runner,提交+轮询,不占 HTTP 连接);思考型模型空白正文防御 (reasoning_content 耗尽 max_tokens → 可操作报错;默认 16000); AI 解读历史页(自动归档 Prompt/正文/策略上下文 + 去回测带参引导) - WebUI 加固:SPA fallback 对未知 /api/* 返回 JSON 404(不再 200 HTML 伪装解析错); index.html 一律 Cache-Control: no-store(防缓存旧资源引用);路由兜底重定向; 全局风险提示常驻底栏 + 龙头池/AI 解读针对性免责声明 - 测试:新增 9 个单测文件共 59 例;黄金基线仅新增 zig_breakout 条目(其余零漂移); 全量 1448 例通过
策略示例集
可直接用于 easy-tdx backtest --strategy-file 的策略文件。
用法
# 在项目根目录执行
easy-tdx backtest SZ 000001 --strategy-file strategies/ma_cross.py --table
easy-tdx backtest SH 600519 --strategy-file strategies/macd_cross.py --cash 50000 --table
策略列表
| 文件 | 策略 | 类型 | 适合行情 |
|---|---|---|---|
ma_cross.py |
双均线交叉(MA5/MA20) | 趋势跟踪 | 单边趋势 |
expma_cross.py |
EMA12/EMA50 交叉 | 趋势跟踪 | 单边趋势(比 MA 更灵敏) |
macd_cross.py |
MACD 金叉死叉 | 趋势跟踪 | 中长线趋势 |
bollinger_breakout.py |
布林带突破 | 震荡反转 | 横盘震荡 |
rsi_reversal.py |
RSI 超买超卖 | 反转 | 震荡市 |
kdj_golden.py |
KDJ 低位金叉/高位死叉 | 反转 | 短线震荡 |
turtle_breakout.py |
海龟交易法(唐安奇通道) | 趋势突破 | 牛市启动 |
bias_reversal.py |
乖离率反转 | 反转 | 震荡回归 |
volume_price.py |
量价配合 | 综合判断 | 放量突破 |
obv_trend.py |
OBV 能量潮趋势 | 量价趋势 | 资金持续流入的上升趋势 |
zig_breakout.py |
ZIG 右侧突破回补 | 右侧突破/波段 | 波谷启动建仓,见顶卖出后右侧突破前高回补(带硬止损;ZIG 为未来函数,回测信号有前视性) |
编写自定义策略
复制任意一个策略文件作为模板,继承 Strategy 基类:
from easy_tdx.backtest import Strategy, crossover
from easy_tdx import MyTT
class MyStrategy(Strategy):
def init(self):
# 注册指标
self.ma = self.I(MyTT.MA, self.data.close, 10)
def next(self):
# 每根 K 线调用一次
if self.data.close[0] > self.ma[self._bar_index]:
self.buy(size=0) # size=0 表示全仓
elif self.position["size"] > 0:
self.sell(size=0) # size=0 表示清仓
完整 API 参考:docs/backtest_usage.md