三步曲实例 · BTC/USDT:USDT

OKX USDT 本位永续合约 · M0 + M1 趋势 + M2 关键位 · 2026-05-16

OKX USDT-M Perp BTC/USDT:USDT 15 分钟 ema_triple_v1 关键位算法待定
M0
SystemConfig · 系统配置
当前实例填写 M0→M1→M2 所需字段;M3 及后续层字段暂留空,不影响流水线运行
品种与周期
字段名中文名值说明
exchange 交易所 必填"OKX" USDT 本位永续合约数据源
symbol 交易品种 必填"BTC/USDT:USDT" ccxt 标准格式(base/quote:settle)
main_timeframe 主交易周期 必填"15m" 三步曲基准 K 线周期
trend_timeframe 趋势判断周期 必填"15m" 本实例与 main_timeframe 一致;多周期分析时可独立设置
数据窗口
字段名中文名值说明
kline_window K线展示窗口 必填300 图表展示的 K 线根数;M2 以此判断关键位是否过期(EXPIRED)
warmup_window 预热窗口 必填300 额外拉取用于 EMA 稳定收敛的 K 线根数;建议 ≥ 3 × ema_slow(144×3=432,取 300 已足够)
趋势方法(M1 引用)
字段名中文名值说明
trend_method_main 主趋势方法 必填"ema_triple_v1" EMA 三线趋势判断法,算法规格见下方 ALG 章节
trend_methods_aux 辅助趋势方法 可选[] 本实例不使用辅助方法
ema_fast EMA 快线周期 必填21 ema_triple_v1 私有参数
ema_mid EMA 中线周期 必填55 ema_triple_v1 私有参数
ema_slow EMA 慢线周期 必填144 ema_triple_v1 私有参数
关键位方法(M2 引用)
字段名中文名值说明
keylevel_method_main 主关键位方法 待定 关键位识别算法尚在讨论中,确认后补充;字段结构已预留
其余字段(暂留空)
字段名中文名值归属层
margin_mode保证金模式—仓位管理层
leverage杠杆倍数—仓位管理层
signal_method_main主信号方法—M3 信号层
trade_direction_policy交易方向策略—M3 信号层(依赖 M1 输出)
entry_style入场风格—M3 信号层(左侧 / 右侧)
risk_mode风控模式—M4 计划层
risk_value单笔风险值—M4 计划层(如 1% 账户净值)
min_risk_reward最低盈亏比—M4 计划层
reasons_min最少入场理由数—M4 计划层
take_profit_strategy_default默认止盈策略—M4 计划层
protection_check_delay_seconds保护单确认延迟—M5A 订单管理层
websocket_failsafe_secondsWebSocket 故障切换—M5A 订单管理层
order_cancel_timeout_hours挂单超时时间—M5A 订单管理层
cancel_price_buffer_bps撤单价格缓冲—M5A 订单管理层(单位:基点)
ALG
算法规格 · ema_triple_v1
M0.trend_method_main 引用 → 由 M1 TrendModule 执行
参数
参数名中文名值说明
timeframe 数据周期 15m 取 M0.trend_timeframe
kline_window K线回看数 300 取 M0.kline_window(含预热段)
ema_fast 快线周期 21 取 M0.ema_fast
ema_mid 中线周期 55 取 M0.ema_mid
ema_slow 慢线周期 144 取 M0.ema_slow
判断逻辑
EMA21 > EMA55 > EMA144 → direction = 涨势
EMA21 < EMA55 < EMA144 → direction = 跌势
其他(缠绕 / 交叉 / 走平) → direction = 震荡 → 框架短路,M2 及后续模块跳过
EMA 计算规则
i
使用最新已完结 K 线的收盘价序列计算;当前未完结 K 线不参与计算。
ii
EMA(n, t) = EMA(n, t−1) × (1 − k) + Close(t) × k,其中 k = 2 / (n + 1)。
iii
三线取同一时刻(最新收盘 K 线)的值进行大小比较,不跨 K 线取滞后值。
M1
TrendModule · 输出
本实例仅启用 direction 字段;其余字段已定义但暂不使用
字段名中文名枚举值 / 类型说明
direction 趋势方向 涨势 / 跌势 / 震荡 唯一启用字段;震荡触发框架短路,M2 不执行
stage 趋势阶段 — 暂不使用(初期 / 中期 / 末期)
trend_origin_price 趋势起涨/跌价 — 暂不使用(趋势起始极值价格)
extreme_price 最新极值价格 — 暂不使用(本段趋势最高/最低价)
pullback_depth 回调深度 — 暂不使用(当前回撤 Fibonacci 比例,M3 入场过滤依赖此字段)
M2
KeyLevelModule · 关键位模块
仅在 M1.direction ≠ 震荡 时执行;输出 ACTIVE 关键位列表(按价格升序排列)
⚠ 识别算法待定 — 关键位的具体识别方式(摆动点 / 成交量 / 结构等)尚在讨论中,确认后补充算法规格章节。以下输出字段结构与传递规则独立于算法实现,已确定。
KeyLevel 输出结构(每个关键位一条记录)
字段名中文名类型说明
price_high 区间上沿 float 关键位价格区间的上边界
price_low 区间下沿 float 关键位价格区间的下边界
level_type 位置类型 enum support(支撑,图表绿色)/ resistance(阻力,图表红色)
status 状态 enum ACTIVE 有效 / HIDDEN 距离太远隐藏 / EXPIRED 超出展示窗口过期;M2 只向 M3 传递 ACTIVE
touch_count 触碰次数 int 历史价格触及该区间的次数;次数越多,位置越显著
kline_index K线索引 int 关键位形成所在 K 线的索引(内部用,用于计算 EXPIRED 状态)
M2 → M3 传递规则
①
只传递 status = ACTIVE 的关键位;HIDDEN / EXPIRED 不进入 M3。
②
列表按 (price_high + price_low) / 2 升序排列,方便 M3 快速定位当前价格的上下最近关键位。
③
若 M2 返回空列表(无 ACTIVE 关键位),框架短路,M3 不执行。
后续迭代待补充字段
字段名中文名说明
flip_type S/R 互换类型 前支撑被跌破后升级为阻力(反之亦然),M2 v2 实现
strength_score 关键位强度评分 综合触碰次数 + 成交量等多维度打分,M2 v2 实现
htf_confluence 高周期共振标记 H1 / H4 同位置关键位共振,M2 v2 实现