源文件:research/quant_digests/2026-03-18_2318_ema-vwap-atr-volume-graded-admission-score.md
这次看的是 bptrades (2026), 0dte-momentum-continuation。它不是在卖“神奇入场点”,而是把 continuation 质量拆成一个很朴素的 0~100 分 admission score:
EMA fast/slow 是否拉开;VWAP 是否足够远;SMA20;ATR 有没有高于自己的均值。源码把四块各记 25 分,总分 >=75 才叫 A+,60~74 叫 B。翻成人话:不是问“能不能做”,而是先问“这笔 continuation 到底有多像样”。
EMA / PSAR raw alpha focus,更值得先测的不是再加一个新指标,而是把已有 continuation 条件改写成 graded admission score。EMA gap / ATR、price-VWAP gap / ATR、volume > volMA20、ATR > ATR-MA14 叠成 4 个 25 分模块,并用 >=75 / 60~74 做分层。9/21 EMA 或 0.75 ATR 这些默认参数,而是它把不同确认层统一缩放到 ATR 口径,避免“价差大只是因为币价高”。如果继续沿今天的节奏往三条收口线里塞“又一个单独 filter”,边际价值已经在下降。我们已经补了不少:VWAP、OI、liquidation、FVG、regime matrix、PSAR close-confirm。当前真正还没收干净的,是 这些确认条件到底怎么组合,组合后该 binary 还是 graded。
所以这轮主题没有偏离主线,反而正中 EMA / PSAR raw alpha focus 的缺口:
60/75;把当前 lane 的二元 continuation gate 改成 0~100 admission score,会比单个 yes/no 过滤器更稳定地提升 post-cost expectancy,同时减少 2~4 bar 内的假延续。
先冻结一个现成 trigger(推荐先用最干净的 EMA / PSAR raw lane),只改 gate:
ema_score = min(25, abs(ema_fast - ema_slow) / atr14 * 25)vwap_score = min(25, abs(close - vwap_ref) / atr14 * 25)vol_score = 25 if volume > sma(volume, 20) else 0atr_score = 25 if atr14 > sma(atr14, 14) else 0admission_score = ema_score + vwap_score + vol_score + atr_score其中:
ema_fast > ema_slow、close > ema_fast、close > vwap_refvwap_ref 第一轮先用 session VWAP;若结果像样,再跟已研究过的 event-anchored VWAP 做 head-to-headBTC / ETH / SOL perpetual15m180~365dnext-bar open,no-overlap6 / 10 / 15 / 20 bps per sidebaseline:当前二元 gatescore>=60score>=75score bucket:<60 / 60~74 / >=75 只做分层观察,不急着先做 hard gatepost_cost_expectancyforward_3bar_median_returnflip_to_fail_rate(入场后 2~4 根内失守 EMA fast / VWAP 的比例)trade_retention(分数提高后,交易数到底掉了多少)24/7 crypto。25 分很方便,但也很武断;第一轮先接受它是“便宜 baseline”,不要马上去优化权重。session VWAP 在 crypto 里天然比美股更弱,所以 vwap_score 最后可能需要让位给 anchored VWAP 或者 rolling mean price。score>=75 只是把交易数砍得很少却没改善成本后收益,就该停在 backlog。最直接的一步:不要把它当 standalone 新策略,先把它接到 当前最干净的 EMA / PSAR raw lane 上做 overlay。
如果第一轮结果显示:
score>=75 在 BTC / ETH / SOL 三个标的都能压低 flip_to_fail_rate;post_cost_expectancy 没被交易数塌缩拖死;score bucket 呈现出比较单调的质量分层,那它就值得升成 EMA/PSAR 的 graded continuation admission overlay。再下一步,才轮到把它借给 breakout-short follow-up 和 Fib retest_hold 做 shared scoring layer。
MomentumContinuationProAlgo.pinetrendScore = emaStrength + vwapStrength + volStrength + atrStrength;A+ >= 75;B = 60~74created_at = 2026-02-06T18:35:25Z,pushed_at = 2026-02-06T18:38:46Z