BB pullback i BB+ADX probijaju p<0.05 na tri režima — GO za Fazu 3. Keltner breakout je NO-GO, suprotno literaturi.
Faza 2 counterfactual scan (tools/analysis/indicator_edge_scan.py). Hipoteticki long-entry signali nad keshovanim 4h klines-ima; forward realized return + MFE/MAE; one-sided permutation p-value vs random entry isti symbol/regime.
regimes tabele (BTCUSDT 4h, 4-way klasifikator)| Indicator | Horizon | N | Median return % | Win % | Median MFE % | Median MAE % | p-value |
|---|---|---|---|---|---|---|---|
| bb_adx_combo_long | 24h | 832 | -0.103 | 47.4 | +2.686 | -2.393 | 0.245 |
| bb_adx_combo_long | 72h | 830 | +0.346 | 53.4 | +4.404 | -3.919 | 0.000 |
| bb_adx_combo_long | 168h | 827 | -3.181 | 36.6 | +6.138 | -7.278 | 1.000 |
| bb_pullback_long | 24h | 2170 | +0.000 | 49.9 | +2.418 | -2.160 | 0.027 |
| bb_pullback_long | 72h | 2160 | +0.396 | 53.8 | +4.605 | -3.323 | 0.000 |
| bb_pullback_long | 168h | 2139 | -1.071 | 44.3 | +7.273 | -6.146 | 0.121 |
| kc_breakout_long | 24h | 1366 | -1.201 | 36.5 | +2.526 | -3.176 | 1.000 |
| kc_breakout_long | 72h | 1287 | -2.831 | 30.3 | +3.704 | -6.034 | 1.000 |
| kc_breakout_long | 168h | 1212 | -3.275 | 30.4 | +4.788 | -8.553 | 1.000 |
| ma_10_30_cross_up | 24h | 1426 | -0.441 | 43.3 | +2.023 | -2.579 | 0.991 |
| ma_10_30_cross_up | 72h | 1409 | -1.075 | 42.1 | +3.934 | -4.687 | 0.993 |
| ma_10_30_cross_up | 168h | 1338 | -1.504 | 42.0 | +6.175 | -6.966 | 0.792 |
ranging_highvol| Indicator | Horizon | N | Median return % | Win % | Median MFE % | Median MAE % | p-value |
|---|---|---|---|---|---|---|---|
| bb_adx_combo_long | 24h | 149 | -1.041 | 35.6 | +2.225 | -2.871 | 0.935 |
| bb_adx_combo_long | 72h | 149 | -5.253 | 43.0 | +3.169 | -9.677 | 1.000 |
| bb_adx_combo_long | 168h | 149 | -9.489 | 42.3 | +5.529 | -14.258 | 1.000 |
| bb_pullback_long | 24h | 299 | -0.837 | 39.5 | +2.308 | -2.828 | 0.944 |
| bb_pullback_long | 72h | 299 | -3.022 | 44.1 | +3.349 | -6.943 | 0.997 |
| bb_pullback_long | 168h | 299 | -4.778 | 41.5 | +6.035 | -8.948 | 0.998 |
| kc_breakout_long | 24h | 142 | -1.368 | 36.6 | +2.422 | -3.390 | 0.988 |
| kc_breakout_long | 72h | 142 | -3.552 | 25.4 | +3.252 | -7.210 | 0.991 |
| kc_breakout_long | 168h | 142 | -8.297 | 16.9 | +3.842 | -13.135 | 1.000 |
| ma_10_30_cross_up | 24h | 281 | -0.742 | 43.1 | +2.101 | -2.966 | 0.885 |
| ma_10_30_cross_up | 72h | 281 | -1.786 | 37.4 | +3.643 | -6.110 | 0.570 |
| ma_10_30_cross_up | 168h | 281 | -3.484 | 34.2 | +6.051 | -8.984 | 0.777 |
ranging_lowvol| Indicator | Horizon | N | Median return % | Win % | Median MFE % | Median MAE % | p-value |
|---|---|---|---|---|---|---|---|
| bb_adx_combo_long | 24h | 244 | -0.485 | 42.6 | +2.591 | -2.325 | 0.632 |
| bb_adx_combo_long | 72h | 243 | +0.252 | 52.7 | +4.970 | -3.915 | 0.033 |
| bb_adx_combo_long | 168h | 241 | -0.106 | 49.0 | +7.273 | -5.655 | 0.220 |
| bb_pullback_long | 24h | 1012 | -0.095 | 48.4 | +2.268 | -2.062 | 0.001 |
| bb_pullback_long | 72h | 1009 | +0.444 | 54.9 | +5.008 | -3.239 | 0.000 |
| bb_pullback_long | 168h | 1003 | +0.416 | 51.9 | +8.207 | -5.358 | 0.001 |
| kc_breakout_long | 24h | 472 | -2.174 | 25.4 | +2.412 | -4.084 | 1.000 |
| kc_breakout_long | 72h | 469 | -3.256 | 30.1 | +3.661 | -6.804 | 1.000 |
| kc_breakout_long | 168h | 451 | -2.196 | 37.9 | +5.410 | -8.942 | 1.000 |
| ma_10_30_cross_up | 24h | 710 | -0.903 | 36.9 | +1.548 | -2.858 | 1.000 |
| ma_10_30_cross_up | 72h | 709 | -1.380 | 38.8 | +3.456 | -4.811 | 1.000 |
| ma_10_30_cross_up | 168h | 673 | -1.177 | 42.9 | +5.749 | -6.623 | 0.970 |
trending_highvol| Indicator | Horizon | N | Median return % | Win % | Median MFE % | Median MAE % | p-value |
|---|---|---|---|---|---|---|---|
| bb_adx_combo_long | 24h | 225 | -0.569 | 48.4 | +3.603 | -2.902 | 0.067 |
| bb_adx_combo_long | 72h | 225 | +0.111 | 51.1 | +5.798 | -4.518 | 0.000 |
| bb_adx_combo_long | 168h | 225 | -4.525 | 35.1 | +6.346 | -17.732 | 0.004 |
| bb_pullback_long | 24h | 263 | -0.729 | 47.1 | +3.996 | -2.941 | 0.227 |
| bb_pullback_long | 72h | 263 | -0.065 | 49.8 | +5.664 | -4.651 | 0.000 |
| bb_pullback_long | 168h | 263 | -4.800 | 35.0 | +6.329 | -17.141 | 0.007 |
| kc_breakout_long | 24h | 26 | -0.818 | 38.5 | +2.853 | -4.394 | 0.446 |
| kc_breakout_long | 72h | 26 | -1.818 | 26.9 | +5.050 | -6.759 | 0.116 |
| kc_breakout_long | 168h | 26 | -5.990 | 23.1 | +7.416 | -12.915 | 0.381 |
| ma_10_30_cross_up | 24h | 80 | -1.860 | 27.5 | +1.644 | -4.220 | 0.981 |
| ma_10_30_cross_up | 72h | 80 | -4.277 | 21.2 | +2.522 | -7.921 | 0.925 |
| ma_10_30_cross_up | 168h | 80 | -7.811 | 28.7 | +3.804 | -14.345 | 0.744 |
trending_lowvol| Indicator | Horizon | N | Median return % | Win % | Median MFE % | Median MAE % | p-value |
|---|---|---|---|---|---|---|---|
| bb_adx_combo_long | 24h | 209 | +0.794 | 60.8 | +2.816 | -2.096 | 0.011 |
| bb_adx_combo_long | 72h | 208 | +1.175 | 64.9 | +4.296 | -2.927 | 0.016 |
| bb_adx_combo_long | 168h | 207 | -4.416 | 19.8 | +5.354 | -7.149 | 1.000 |
| bb_pullback_long | 24h | 542 | +0.843 | 60.5 | +2.585 | -1.812 | 0.000 |
| bb_pullback_long | 72h | 535 | +1.073 | 61.9 | +4.608 | -2.644 | 0.000 |
| bb_pullback_long | 168h | 520 | -3.197 | 33.8 | +6.295 | -6.560 | 1.000 |
| kc_breakout_long | 24h | 563 | -0.935 | 41.2 | +2.485 | -2.769 | 1.000 |
| kc_breakout_long | 72h | 487 | -2.364 | 33.5 | +3.966 | -5.162 | 1.000 |
| kc_breakout_long | 168h | 430 | -3.200 | 31.2 | +4.659 | -7.525 | 1.000 |
| ma_10_30_cross_up | 24h | 344 | +1.048 | 60.5 | +2.965 | -1.849 | 0.000 |
| ma_10_30_cross_up | 72h | 328 | +1.043 | 58.2 | +6.030 | -2.961 | 0.011 |
| ma_10_30_cross_up | 168h | 293 | +0.082 | 50.2 | +7.096 | -4.768 | 0.025 |
GO: sledeci indikatori probijaju p<0.05 na ≥2 regime-a:
bb_adx_combo_long — 3 regime-abb_pullback_long — 3 regime-aFaza 3 generatori za ove indikatore mogu da krenu.
Izvor: crypto_scanner/reports/analysis/2026-05-15_indicator_edge_scan.md