源文件:research/quant_digests/2026-03-20_0323_htf-premium-discount-long-bias-context.md
这轮主看 GitHub 仓库 carlosrod723 / MQL5-Trading-Bot (2025)。真正值得偷的不是它整套 SMC + ML 外壳,而是一个很轻、很快能复现的旁支:
mid = low + 0.5 * (high-low) 把当前价格分成 premium / discount;FT (Follow-Through) 里,bullish 只在 discount 放行,bearish 只在 premium 放行。源码很直白:GetFibonacciZone() 直接取 HigherTF 上一根完整 K 线的 high/low,EvaluateFibPosition() 用 FibEntryLevel=0.5 切 midline,CheckFTSetup() 再把 close1/close2 对 prevHigh/prevLow 的连续收盘突破,与 inDiscount / inPremium 绑定在一起。
premium/discount 更像 Fib retest / EMA continuation 的 long-side context gate,不该直接镜像成 breakout-short 的 shared short gate。BTC/ETH/SOL perp, 15m, ~125d 的本地 FT 代理里,discount 做多 有轻度但一致的改善;但 premium 做空 反而比不加这个条件更差。不是传统“画一段 swing 再盯 0.618 回踩”,而是更便宜的状态读法:
HigherTF = H4fibHigh = iHigh(H4, shift=1),fibLow = iLow(H4, shift=1)midLevel = fibLow + (fibHigh-fibLow) * 0.5discount,上方记作 premiumFT 信号本体只要求:最近两根 15m 收盘同时突破前两根范围(bars 3-4)inDiscountinPremium这点对我们 desk 很重要:repo 借的是 Fib 语义,不是精细回撤位本身。
我按 repo 的 FT 核心骨架做了一个最小代理:
15m 收盘都高于 bars 3-4 的前置区间高点15m 收盘都低于 bars 3-4 的前置区间低点midline4 bars(1 小时)signed return#### long 侧:discount 有轻度改善
discount match:n=916,mean = +2.60 bps,win rate = 49.78%discount mismatch:n=3101,mean = +1.23 bps,win rate = 45.15%mean 约 +1.36 bpswin rate 约 +4.64 pct-ptsmedian 从 -4.82 bps 改善到 -0.13 bpsmedian MAE 从 -33.96 bps 收窄到 -29.69 bps解释:这更像一个 long-side context filter,能让 continuation/pullback long 的质量略微更干净。
#### short 侧:premium 不但没帮忙,反而更差
premium match:n=960,mean = -0.79 bps,win rate = 43.65%premium mismatch:n=3312,mean = +3.16 bps,win rate = 46.29%mean 约 -3.95 bpswin rate 约 -2.64 pct-ptsmedian 也更差(-5.87 bps vs -4.79 bps)解释:不能把“premium 做空”当成 long 侧的镜像真理。这条 short gate 现阶段更像会误伤 breakout-short follow-up。
#### aggregate 也不支持把它升成 shared gate
context match 总体:n=1876,mean = +0.87 bpscontext mismatch 总体:n=6413,mean = +2.23 bps这说明:一旦把 long/short 合起来看,它不是共享放行键,反而更像一个需要保留方向不对称的 context 读数。
这题不是偏题,反而是在帮三条线少走弯路:
Fibonacci confirmation / retest_hold:Fib 不一定非得继续炼成“0.618 精确触位触发”,先把它降级成 HTF context,更快、更诚实。EMA / PSAR raw alpha focus:如果想给 raw alpha 加一层低复杂度结构背景,这个 prev-4h midline 比继续叠更细的回撤比例更便宜。V3 breakout-short follow-up:本轮最有价值的信息恰恰是别把这条逻辑镜像到 short 侧。也就是说,它帮我们明确了一件事:breakout-short 先不要认领这条 gate。如果现在继续把所有结构过滤层都写成多空对称,只会让三条收口线越来越乱;这轮更值得做的是把 可保留的不对称 先钉死。
prev-4h premium/discount midline 只应作为 long-side context gate 服务 Fib retest_hold / EMA continuation,不应直接镜像成 breakout-short 的 mandatory short gate。
prev4h_high = high of previous completed 4h barprev4h_low = low of previous completed 4h barmid = (prev4h_high + prev4h_low) / 2entry_price < midentry_price > mid优先做 三臂 honesty test:
Fib retest_hold / EMA continuation / breakout-short 原规则)Fib retest_hold 与 EMA continuation 加 entry < prev4h_middiscount、short 也强行要 premiumBTC/ETH/SOL perp15m 主判定,5m 可做执行细化180~365d6 / 10 / 15 bps per side4 bars 与 8 bars 两档post_cost_returnlong vs short decompositiontrade_count / turnoverp5 trade pnl 与 max_drawdown先只在 Fib retest_hold 上测:
retest bar close < prev4h_mid如果 long-only 版本改善而 symmetric 版本变差,就说明这条 context 的角色已经很清楚了。
M15 + H4 的 MetaTrader/FX 执行框架,还带 kill zone、fractal sweep、order block 等别的条件;我们本轮只抽取其中最便宜的一根旁支。MQL5/Experts/MyTradingBot.mq5)./fapi/v1/klines).reports/artifacts/quant_digests/htf_premium_discount_ft_proxy_2026-03-20.csvreports/artifacts/quant_digests/htf_premium_discount_ft_proxy_summary_2026-03-20.csv