Nik's request: "test various combinations of the trend + volatile filters — e.g. MACD+ATR, ADX+ATR, MA+ATR. For example, trade when volatility (ATR) is low and the trade direction corresponds to the direction of the MA (or the MACD-histogram)."
Method. Each algo's trades are sliced by daily, causal regimes (the last fully-closed
prior day — no look-ahead). Direction axes: MA(50)-slope sign, MACD(12/26/9)-histogram sign, ADX/DI(14).
Level axis: ATR vs its rolling median (calm/active). aligned = trade direction matches the
indicator direction (long only if up, short only if down). Shown alongside our existing single-axis
matrix (ATR / ER / LR-slope) as the baseline. Net of fees, ETH+SOL, 2024+, % of balance = R.
ret/DD (return ÷ max-drawdown) is the headline metric; * = n<20 (noise).
What holds — and what doesn't:
Caveats: 2024+ only (3 years, up-biased — so pure MA-rising gates flatter long).
Some combined cells are thin (n<20, flagged *). This is a regime-attribution study on
historical trades, not a re-optimization — the point is which filters help consistently, not the
single best cell.
Green = high ret/DD, red = negative. Hover a cell for n + total%.
| filter ↓ / algo → | hhv llv | supertrend 10 3 | supertrend 7 2 | donchian20 | sol ma cross |
|---|---|---|---|---|---|
| base | +5.7 | +0.8 | -0.4 | +3.1 | +2.4 |
| ATR_low | +5.3 | +2.2 | +0.7 | +3.9 | +2.6 |
| ATR_high | +1.0 | -0.8 | -1.0 | +0.9 | -0.2 |
| ER_low | +2.3 | +0.2 | +0.2 | +0.8 | +3.8 |
| ER_high | +5.2 | +0.7 | -1.0 | +4.2 | +0.5 |
| LRslope_up | +6.7 | +1.6 | +0.2 | +2.8 | +4.1 |
| ADX_weak | +6.3 | +2.9 | +0.9 | +4.5 | +2.8 |
| ADX_strong | +2.0 | -0.8 | -0.9 | +0.1 | +0.0 |
| MA_aligned | +5.3 | +2.1 | -0.3 | +3.1 | -0.1 |
| MACD_aligned | +10.9 | +0.8 | -0.7 | +6.6 | +0.9 |
| DI_aligned | +5.7 | +0.5 | -0.7 | +2.9 | +0.6 |
| MA_aln·ATRlow | +3.4 | +2.4 | +0.5 | +1.4 | +0.8 |
| MACD_aln·ATRlow | +6.9 | +0.1 | -0.2 | +6.3 | +1.4 |
| ADXweak·ATRlow | +5.4 | +3.2 | +0.8 | +3.2 | +1.7 |
| ADXstrong·ATRhigh | +0.4 | -1.1 | -1.0 | -0.6 | -0.9 |
| filter | n | Cmb rDD | tot% | Lng rDD | tot% | Sht rDD | tot% |
|---|---|---|---|---|---|---|---|
| Existing single-axis matrix (baseline) | |||||||
| base (all) | 462 | +5.7 | +216% | +1.8 | +62% | +8.0 | +153% |
| ATR low | 260 | +5.3 | +187% | +2.1 | +55% | +12.5 | +132% |
| ATR high | 202 | +1.0 | +29% | +0.3 | +7% | +0.9 | +22% |
| ER low | 226 | +2.3 | +105% | +2.0 | +47% | +2.4 | +58% |
| ER high | 236 | +5.2 | +111% | +0.8 | +15% | +5.9 | +95% |
| LR-slope up | 225 | +6.7 | +122% | +2.3 | +48% | +4.1 | +75% |
| LR-slope dn | 237 | +3.3 | +93% | +0.5 | +14% | +4.8 | +79% |
| New direction axes (single) | |||||||
| MACD hist >0 | 223 | +2.8 | +101% | +2.9 | +63% | +1.7 | +38% |
| MACD hist <0 | 239 | +6.2 | +115% | -0.0 | -1% | +12.0 | +116% |
| MA rising | 224 | +11.7 | +161% | +4.4 | +76% | +4.7 | +85% |
| MA falling | 238 | +1.6 | +55% | -0.4 | -13% | +3.7 | +68% |
| +DI > -DI | 183 | +6.3 | +108% | +3.3 | +63% | +2.5 | +45% |
| -DI > +DI | 279 | +3.5 | +108% | -0.0 | -1% | +6.8 | +109% |
| ADX >= 25 (strong) | 266 | +2.0 | +49% | -0.3 | -9% | +2.5 | +58% |
| ADX < 25 (weak) | 196 | +6.3 | +167% | +3.3 | +71% | +10.7 | +96% |
| Direction-ALIGNED (trade dir = indicator dir) | |||||||
| MA-aligned (dir=MA) | 240 | +5.3 | +144% | +4.4 | +76% | +3.7 | +68% |
| MACD-aligned (dir=hist) | 225 | +10.9 | +179% | +2.9 | +63% | +12.0 | +116% |
| DI-aligned (dir=+DI/-DI) | 247 | +5.7 | +172% | +3.3 | +63% | +6.8 | +109% |
| Combined: direction × ATR level | |||||||
| MA-aln + ATR low | 129 | +3.4 | +90% | +4.0 | +48% | +1.9 | +42% |
| MA-aln + ATR high | 111 | +2.7 | +53% | +1.3 | +27% | +2.6 | +26% |
| MACD-aln + ATR low | 114 | +6.9 | +141% | +4.7 | +63% | +10.4 | +78% |
| MACD-aln + ATR high | 111 | +1.4 | +38% | +0.0 | +0% | +1.9 | +37% |
| DI-aln + ATR low | 134 | +3.2 | +108% | +1.6 | +29% | +5.0 | +79% |
| DI-aln + ATR high | 113 | +4.4 | +64% | +2.3 | +34% | +2.7 | +30% |
| ADX-strong + ATR low | 121 | +2.5 | +37% | -0.7 | -15% | +5.1 | +52% |
| ADX-strong + ATR high | 145 | +0.4 | +12% | +0.3 | +6% | +0.3 | +6% |
| ADX-weak + ATR low | 139 | +5.4 | +150% | +3.9 | +70% | +7.3 | +80% |
| ADX-weak + ATR high | 57 | +1.4 | +17% | +0.1 * | +1% | +2.5 | +16% |
| ADX-strong + DI-aligned | 141 | +4.3 | +70% | +1.1 | +20% | +3.6 | +50% |
| filter (combined) | 2024 | 2025 | 2026 |
|---|---|---|---|
| base | +133 | +110 | -28 |
| ATR_low | +91 | +118 | -22 |
| ATR_high | +42 | -8 | -6 |
| ER_low | +92 | +44 | -30 |
| ER_high | +42 | +67 | +2 |
| LRslope_up | +99 | +32 | -8 |
| ADX_weak | +96 | +93 | -22 |
| ADX_strong | +37 | +18 | -6 |
| MA_aligned | +86 | +78 | -20 |
| MACD_aligned | +101 | +91 | -13 |
| DI_aligned | +96 | +102 | -26 |
| MA_aln·ATRlow | +45 | +65 | -19 |
| MACD_aln·ATRlow | +55 | +101 | -15 |
| ADXweak·ATRlow | +77 | +95 | -22 |
| ADXstrong·ATRhigh | +23 | -5 | -6 |
| filter | n | Cmb rDD | tot% | Lng rDD | tot% | Sht rDD | tot% |
|---|---|---|---|---|---|---|---|
| Existing single-axis matrix (baseline) | |||||||
| base (all) | 120 | +0.8 | +11% | -0.8 | -19% | +4.2 | +30% |
| ATR low | 74 | +2.2 | +23% | -0.6 | -11% | +10.6 | +34% |
| ATR high | 46 | -0.8 | -12% | -1.0 | -8% | -0.6 | -4% |
| ER low | 67 | +0.2 | +3% | -0.4 | -6% | +1.3 | +9% |
| ER high | 53 | +0.7 | +8% | -1.0 | -12% | +5.1 | +21% |
| LR-slope up | 61 | +1.6 | +12% | +0.2 | +2% | +1.9 | +10% |
| LR-slope dn | 59 | -0.0 | -0% | -1.0 | -20% | +4.9 | +20% |
| New direction axes (single) | |||||||
| MACD hist >0 | 56 | -0.1 | -1% | -1.1 * | -13% | +1.9 | +11% |
| MACD hist <0 | 64 | +1.9 | +13% | -0.5 | -6% | +6.2 | +18% |
| MA rising | 58 | +3.5 | +24% | +0.9 | +6% | +3.5 | +18% |
| MA falling | 62 | -1.1 | -13% | -1.0 | -24% | +5.5 | +12% |
| +DI > -DI | 45 | +1.2 | +7% | -1.1 * | -10% | +4.3 | +17% |
| -DI > +DI | 75 | +0.3 | +4% | -0.6 | -9% | +3.2 | +13% |
| ADX >= 25 (strong) | 70 | -0.8 | -11% | -1.0 | -27% | +3.3 | +16% |
| ADX < 25 (weak) | 50 | +2.9 | +22% | +1.4 | +8% | +4.4 | +14% |
| Direction-ALIGNED (trade dir = indicator dir) | |||||||
| MA-aligned (dir=MA) | 52 | +2.1 | +17% | +0.9 | +6% | +5.5 | +12% |
| MACD-aligned (dir=hist) | 40 | +0.8 | +6% | -1.1 * | -13% | +6.2 | +18% |
| DI-aligned (dir=+DI/-DI) | 45 | +0.5 | +3% | -1.1 * | -10% | +3.2 | +13% |
| Combined: direction × ATR level | |||||||
| MA-aln + ATR low | 33 | +2.4 | +17% | +1.2 * | +6% | +2.8 * | +11% |
| MA-aln + ATR high | 19 | +0.1 * | +0% | -0.0 * | -0% | +0.2 * | +1% |
| MACD-aln + ATR low | 27 | +0.1 | +1% | -1.1 * | -10% | +4.9 * | +10% |
| MACD-aln + ATR high | 13 | +1.3 * | +5% | -1.5 * | -3% | +2.7 * | +8% |
| DI-aln + ATR low | 28 | +1.4 | +8% | -1.3 * | -5% | +3.4 | +13% |
| DI-aln + ATR high | 17 | -0.8 * | -5% | -1.2 * | -5% | -0.3 * | -1% |
| ADX-strong + ATR low | 38 | +0.0 | +0% | -1.0 | -16% | +4.2 * | +16% |
| ADX-strong + ATR high | 32 | -1.1 | -11% | -1.1 * | -11% | -0.1 * | -0% |
| ADX-weak + ATR low | 36 | +3.2 | +23% | +0.9 * | +5% | +5.5 * | +18% |
| ADX-weak + ATR high | 14 | -0.2 * | -1% | +1.3 * | +3% | -1.2 * | -4% |
| ADX-strong + DI-aligned | 27 | +0.6 | +3% | -1.1 * | -5% | +3.9 * | +8% |
| filter (combined) | 2024 | 2025 | 2026 |
|---|---|---|---|
| base | +14 | +2 | -4 |
| ATR_low | +24 | -1 | +1 |
| ATR_high | -10 | +3 | -5 |
| ER_low | +21 | -10 | -9 |
| ER_high | -8 | +11 | +5 |
| LRslope_up | +8 | +4 | -0 |
| ADX_weak | +14 | +15 | -7 |
| ADX_strong | -1 | -13 | +3 |
| MA_aligned | +12 | +6 | +0 |
| MACD_aligned | +5 | +2 | -1 |
| DI_aligned | +4 | +0 | -1 |
| MA_aln·ATRlow | +18 | -3 | +2 |
| MACD_aln·ATRlow | +3 | -2 | -0 |
| ADXweak·ATRlow | +20 | +10 | -7 |
| ADXstrong·ATRhigh | -5 | -1 | -5 |
| filter | n | Cmb rDD | tot% | Lng rDD | tot% | Sht rDD | tot% |
|---|---|---|---|---|---|---|---|
| Existing single-axis matrix (baseline) | |||||||
| base (all) | 200 | -0.4 | -12% | -0.7 | -24% | +1.0 | +12% |
| ATR low | 118 | +0.7 | +14% | -0.1 | -2% | +1.7 | +16% |
| ATR high | 82 | -1.0 | -26% | -1.0 | -22% | -0.5 | -5% |
| ER low | 100 | +0.2 | +5% | -0.2 | -3% | +0.8 | +8% |
| ER high | 100 | -1.0 | -17% | -0.8 | -21% | +0.4 | +4% |
| LR-slope up | 100 | +0.2 | +4% | -0.5 | -8% | +1.6 | +12% |
| LR-slope dn | 100 | -0.7 | -16% | -0.7 | -16% | -0.0 | -0% |
| New direction axes (single) | |||||||
| MACD hist >0 | 99 | -0.0 | -0% | -1.1 | -13% | +1.1 | +12% |
| MACD hist <0 | 101 | -0.4 | -12% | -0.5 | -12% | -0.1 | -1% |
| MA rising | 100 | +0.2 | +3% | -0.5 | -7% | +1.5 | +11% |
| MA falling | 100 | -0.9 | -16% | -0.7 | -17% | +0.1 | +1% |
| +DI > -DI | 81 | -0.6 | -10% | -1.0 | -18% | +1.3 | +9% |
| -DI > +DI | 119 | -0.2 | -3% | -0.3 | -6% | +0.3 | +3% |
| ADX >= 25 (strong) | 130 | -0.9 | -27% | -1.0 | -39% | +0.9 | +12% |
| ADX < 25 (weak) | 70 | +0.9 | +15% | +1.2 | +14% | +0.0 | +0% |
| Direction-ALIGNED (trade dir = indicator dir) | |||||||
| MA-aligned (dir=MA) | 96 | -0.3 | -6% | -0.5 | -7% | +0.1 | +1% |
| MACD-aligned (dir=hist) | 69 | -0.7 | -13% | -1.1 | -13% | -0.1 | -1% |
| DI-aligned (dir=+DI/-DI) | 79 | -0.7 | -15% | -1.0 | -18% | +0.3 | +3% |
| Combined: direction × ATR level | |||||||
| MA-aln + ATR low | 57 | +0.5 | +6% | -0.1 | -1% | +0.9 | +7% |
| MA-aln + ATR high | 39 | -0.8 | -12% | -0.8 | -7% | -0.7 * | -6% |
| MACD-aln + ATR low | 38 | -0.2 | -2% | -0.8 | -7% | +1.8 * | +5% |
| MACD-aln + ATR high | 31 | -0.8 | -12% | -1.2 * | -6% | -0.6 | -6% |
| DI-aln + ATR low | 46 | -0.0 | -0% | -1.1 * | -11% | +1.8 | +11% |
| DI-aln + ATR high | 33 | -0.9 | -15% | -1.0 * | -7% | -0.7 * | -8% |
| ADX-strong + ATR low | 70 | +0.1 | +1% | -0.9 | -16% | +3.0 | +17% |
| ADX-strong + ATR high | 60 | -1.0 | -28% | -1.0 | -23% | -0.5 | -5% |
| ADX-weak + ATR low | 48 | +0.8 | +13% | +1.3 | +13% | -0.0 | -0% |
| ADX-weak + ATR high | 22 | +0.2 | +1% | +0.3 * | +1% | +0.1 * | +1% |
| ADX-strong + DI-aligned | 55 | -0.2 | -3% | -1.1 * | -10% | +1.0 | +7% |
| filter (combined) | 2024 | 2025 | 2026 |
|---|---|---|---|
| base | +10 | -17 | -5 |
| ATR_low | +17 | -1 | -2 |
| ATR_high | -7 | -16 | -4 |
| ER_low | +17 | -7 | -5 |
| ER_high | -8 | -9 | -0 |
| LRslope_up | +11 | -5 | -2 |
| ADX_weak | +17 | +8 | -11 |
| ADX_strong | -7 | -25 | +5 |
| MA_aligned | -3 | -2 | -2 |
| MACD_aligned | +3 | -14 | -3 |
| DI_aligned | -4 | -9 | -3 |
| MA_aln·ATRlow | +6 | +1 | -1 |
| MACD_aln·ATRlow | +1 | -2 | -1 |
| ADXweak·ATRlow | +22 | +2 | -11 |
| ADXstrong·ATRhigh | -2 | -22 | -4 |
| filter | n | Cmb rDD | tot% | Lng rDD | tot% | Sht rDD | tot% |
|---|---|---|---|---|---|---|---|
| Existing single-axis matrix (baseline) | |||||||
| base (all) | 298 | +3.1 | +82% | +0.4 | +10% | +3.4 | +72% |
| ATR low | 169 | +3.9 | +72% | +0.6 | +10% | +5.9 | +62% |
| ATR high | 129 | +0.9 | +10% | -0.0 | -0% | +0.7 | +10% |
| ER low | 153 | +0.8 | +19% | +0.5 | +7% | +0.7 | +12% |
| ER high | 145 | +4.2 | +63% | +0.2 | +3% | +7.4 | +60% |
| LR-slope up | 152 | +2.8 | +51% | +0.9 | +16% | +3.3 | +36% |
| LR-slope dn | 146 | +2.1 | +31% | -0.4 | -6% | +3.2 | +37% |
| New direction axes (single) | |||||||
| MACD hist >0 | 137 | +2.4 | +35% | +1.8 | +19% | +1.0 | +16% |
| MACD hist <0 | 161 | +3.4 | +47% | -0.5 | -9% | +7.9 | +57% |
| MA rising | 150 | +5.3 | +69% | +2.0 | +23% | +3.9 | +46% |
| MA falling | 148 | +0.8 | +13% | -0.7 | -13% | +2.5 | +26% |
| +DI > -DI | 116 | +2.1 | +32% | +0.4 | +6% | +1.3 | +26% |
| -DI > +DI | 182 | +3.3 | +51% | +0.3 | +4% | +4.9 | +46% |
| ADX >= 25 (strong) | 173 | +0.1 | +1% | -0.6 | -18% | +1.0 | +19% |
| ADX < 25 (weak) | 125 | +4.5 | +82% | +1.5 | +28% | +9.7 | +54% |
| Direction-ALIGNED (trade dir = indicator dir) | |||||||
| MA-aligned (dir=MA) | 155 | +3.1 | +50% | +2.0 | +23% | +2.5 | +26% |
| MACD-aligned (dir=hist) | 144 | +6.6 | +76% | +1.8 | +19% | +7.9 | +57% |
| DI-aligned (dir=+DI/-DI) | 161 | +2.9 | +52% | +0.4 | +6% | +4.9 | +46% |
| Combined: direction × ATR level | |||||||
| MA-aln + ATR low | 87 | +1.4 | +23% | +1.2 | +12% | +0.8 | +11% |
| MA-aln + ATR high | 68 | +2.9 | +27% | +1.3 | +12% | +2.9 | +15% |
| MACD-aln + ATR low | 74 | +6.3 | +56% | +2.3 | +18% | +10.3 | +38% |
| MACD-aln + ATR high | 70 | +1.5 | +20% | +0.1 | +1% | +1.9 | +19% |
| DI-aln + ATR low | 88 | +1.9 | +26% | -0.1 | -2% | +4.0 | +28% |
| DI-aln + ATR high | 73 | +3.7 | +25% | +0.8 | +7% | +3.5 | +18% |
| ADX-strong + ATR low | 82 | +0.9 | +10% | -0.6 | -10% | +1.8 | +20% |
| ADX-strong + ATR high | 91 | -0.6 | -10% | -0.5 | -8% | -0.2 | -2% |
| ADX-weak + ATR low | 87 | +3.2 | +62% | +1.3 | +20% | +8.9 | +42% |
| ADX-weak + ATR high | 38 | +4.0 | +20% | +2.5 * | +8% | +1.6 | +12% |
| ADX-strong + DI-aligned | 94 | +1.8 | +18% | -0.0 | -0% | +2.1 | +18% |
| filter (combined) | 2024 | 2025 | 2026 |
|---|---|---|---|
| base | +72 | +23 | -13 |
| ATR_low | +56 | +22 | -6 |
| ATR_high | +16 | +1 | -7 |
| ER_low | +36 | -0 | -17 |
| ER_high | +36 | +23 | +4 |
| LRslope_up | +43 | +14 | -6 |
| ADX_weak | +69 | +27 | -15 |
| ADX_strong | +3 | -4 | +2 |
| MA_aligned | +29 | +27 | -7 |
| MACD_aligned | +60 | +17 | -1 |
| DI_aligned | +34 | +29 | -11 |
| MA_aln·ATRlow | +17 | +11 | -6 |
| MACD_aln·ATRlow | +33 | +25 | -2 |
| ADXweak·ATRlow | +55 | +21 | -15 |
| ADXstrong·ATRhigh | +2 | -5 | -7 |
| filter | n | Cmb rDD | tot% | Lng rDD | tot% | Sht rDD | tot% |
|---|---|---|---|---|---|---|---|
| Existing single-axis matrix (baseline) | |||||||
| base (all) | 448 | +2.4 | +79% | -0.3 | -14% | +4.6 | +93% |
| ATR low | 247 | +2.6 | +87% | -0.1 | -4% | +4.5 | +92% |
| ATR high | 201 | -0.2 | -8% | -0.3 | -10% | +0.1 | +2% |
| ER low | 217 | +3.8 | +63% | -0.6 | -19% | +5.4 | +81% |
| ER high | 231 | +0.5 | +17% | +0.2 | +5% | +0.3 | +12% |
| LR-slope up | 235 | +4.1 | +70% | -0.3 | -10% | +4.8 | +79% |
| LR-slope dn | 213 | +0.2 | +10% | -0.2 | -4% | +0.5 | +14% |
| New direction axes (single) | |||||||
| MACD hist >0 | 210 | +2.2 | +47% | -0.6 | -14% | +4.6 | +60% |
| MACD hist <0 | 238 | +1.4 | +33% | -0.0 | -0% | +2.0 | +33% |
| MA rising | 238 | +3.2 | +55% | -0.6 | -21% | +4.0 | +75% |
| MA falling | 210 | +0.8 | +25% | +0.2 | +7% | +0.9 | +18% |
| +DI > -DI | 166 | +2.5 | +53% | -0.7 | -12% | +3.7 | +65% |
| -DI > +DI | 282 | +0.6 | +26% | -0.1 | -2% | +1.1 | +28% |
| ADX >= 25 (strong) | 233 | +0.0 | +2% | -1.0 | -54% | +3.1 | +55% |
| ADX < 25 (weak) | 215 | +2.8 | +78% | +2.3 | +40% | +2.2 | +38% |
| Direction-ALIGNED (trade dir = indicator dir) | |||||||
| MA-aligned (dir=MA) | 208 | -0.1 | -3% | -0.6 | -21% | +0.9 | +18% |
| MACD-aligned (dir=hist) | 176 | +0.9 | +19% | -0.6 | -14% | +2.0 | +33% |
| DI-aligned (dir=+DI/-DI) | 194 | +0.6 | +16% | -0.7 | -12% | +1.1 | +28% |
| Combined: direction × ATR level | |||||||
| MA-aln + ATR low | 122 | +0.8 | +19% | -0.2 | -4% | +1.3 | +22% |
| MA-aln + ATR high | 86 | -0.6 | -21% | -0.6 | -17% | -0.4 | -5% |
| MACD-aln + ATR low | 95 | +1.4 | +29% | -1.0 | -17% | +4.5 | +46% |
| MACD-aln + ATR high | 81 | -0.4 | -10% | +0.4 | +3% | -0.7 | -13% |
| DI-aln + ATR low | 104 | +0.9 | +24% | -1.3 * | -5% | +1.2 | +29% |
| DI-aln + ATR high | 90 | -0.3 | -8% | -0.4 | -7% | -0.0 | -1% |
| ADX-strong + ATR low | 100 | +1.4 | +43% | -0.6 | -13% | +3.3 | +56% |
| ADX-strong + ATR high | 133 | -0.9 | -41% | -1.0 | -40% | -0.1 | -1% |
| ADX-weak + ATR low | 147 | +1.7 | +44% | +0.6 | +9% | +2.3 | +35% |
| ADX-weak + ATR high | 68 | +2.2 | +33% | +5.9 | +31% | +0.1 | +3% |
| ADX-strong + DI-aligned | 111 | -0.2 | -8% | -1.0 | -16% | +0.4 | +8% |
| filter (combined) | 2024 | 2025 | 2026 |
|---|---|---|---|
| base | +33 | +46 | +0 |
| ATR_low | +41 | +49 | -3 |
| ATR_high | -8 | -3 | +3 |
| ER_low | +19 | +39 | +4 |
| ER_high | +14 | +7 | -4 |
| LRslope_up | +33 | +16 | +21 |
| ADX_weak | +48 | +53 | -23 |
| ADX_strong | -15 | -7 | +23 |
| MA_aligned | -22 | +13 | +7 |
| MACD_aligned | +12 | +6 | +1 |
| DI_aligned | +6 | +16 | -6 |
| MA_aln·ATRlow | -9 | +26 | +1 |
| MACD_aln·ATRlow | +5 | +30 | -6 |
| ADXweak·ATRlow | +32 | +34 | -21 |
| ADXstrong·ATRhigh | -25 | -22 | +5 |
run_trend_combo_filters.py → trend_combo_filters.json. ret/DD = total return ÷
|max drawdown|; tot% = cumulative % of balance (1% risk per trade = 1R).