24 QC-validated signals across 17 instruments · USO-234/230/233 · ✓ Tier A (7) · Tier B (12) · Tier C (5) · 8-fold walk-forward · OOS 2021–2024 · Live paper trading since 2026-04-26 05:02 UTC · NEW: research100 sweep (USO-254) — 5,040 experiments · 86 features · 3,457 ext-gate candidates.
| Model | Best Sharpe | Win Rate | Max DD |
|---|---|---|---|
| random_forest | +29.15 | 20.8% | 4.4% |
| logistic | +23.53 | 64.6% | 7.6% |
| xgboost | +22.82 | 64.4% | 14.9% |
| lightgbm | +22.35 | 59.8% | 16.1% |
| Gate | Verdict | Local Sharpe | QC Sharpe | Delta | Notes |
|---|---|---|---|---|---|
| USO-62 Walk-Forward | INVESTIGATE_EXPLAINED | -0.057 | +0.572 | +0.630 | Execution model (fill price) |
| USO-119 QC Consistency | INVESTIGATE_EXPLAINED | -0.057 | +0.572 | +0.630 | Fill-price diff; no leakage |
| USO-67 Confidence Audit | PASS | 11/11 tests pass | 65/65 features exact match · HIGH confidence | ||
| USO-109 Leakage | PASS | No leakage found | Root cause = cost bug; resolved | ||
| USO-177 Gate C | PASS | 204 / 4,511 candidates · 31 symbols | Sharpe 0.5–3.0 · QC-mode · ≥3 symbols · 2,200-day lookback | ||
| Priority | Experiment | Model | R/DD | Max DD | Trades | Win Rate | QC Sharpe | QC Status |
|---|---|---|---|---|---|---|---|---|
| P1 | EURUSD__cfg061 | XGBoost | 2.865 | 4.8% | 739 | 54.4% | −0.79 | FAIL — DISCARDED |
| P2 | NZDUSD__cfg048 | XGBoost | 2.803 | 14.6% | 724 | 45.9% | +0.806 | QC PASS |
| P3 | USDJPY__cfg057 | XGBoost | 2.808 | 9.2% | 858 | 56.3% | +1.108 | QC PASS |
| P4 | USDCAD__cfg032 | XGBoost | 2.809 | 5.6% | 1,059 | 44.3% | −0.85 | RETRYING h=12 |
| P5 | USDCHF__cfg078 | LightGBM | 2.806 | 13.3% | 1,315 | 57.3% | −0.48 | GPU TUNING |
| Symbol | Config | Model | Label | R/DD | Return% | MaxDD% | Trades | Win Rate |
|---|---|---|---|---|---|---|---|---|
| CADCHF | r053 | LightGBM | simple | 832.8 | 82.2% | 0.10% | 821 | 85.1% |
| CADCHF | r051 | LightGBM | simple | 699.3 | 81.7% | 0.12% | 673 | 89.0% |
| GBPCHF | r075 | LightGBM | triple_barrier | 610.7 | 84.7% | 0.14% | 1,657 | 90.0% |
| CADCHF | r055 | LightGBM | simple | 514.8 | 78.9% | 0.15% | 949 | 80.8% |
| GBPCHF | r073 | LightGBM | triple_barrier | 512.5 | 102.2% | 0.20% | 2,874 | 85.4% |
| Symbol | Model | Label | R/DD | Return% | MaxDD% | Trades | Win Rate |
|---|---|---|---|---|---|---|---|
| EURJPY | CatBoost | triple_barrier | 4.97 | 46.8% | 9.4% | 18,074 | 77.0% |
| EURJPY | CatBoost | triple_barrier | 4.98 | 38.0% | 7.6% | 28,481 | 53.9% |
| AUDUSD | CatBoost | simple | 4.97 | 31.5% | 6.3% | 8,833 | 66.8% |
| CADJPY | XGBoost | triple_barrier | 4.56 | 28.9% | 6.3% | 1,359 | 80.1% |
| GBPUSD | XGBoost | simple | 4.98 | 7.7% | 1.5% | 909 | 71.7% |
| Sweep | Features | Experiments | Pass Rate |
|---|---|---|---|
| Original XGBoost | 45 | 4,712 | 4.3% |
| Enhanced65 | 65 | 4,340 | ~10.6% |
| research100 ✦ | 86 | 5,040 | 10.2% std / 68.6% ext |
/workspace/fx_ml/production_models/manifest.json · QC results at /workspace/fx_ml/uso200v2_qc_result.json
| Signal | Symbol | Model | Label | OOS R/DD | OOS Trades | Win Rate | QC Sharpe | QC Folds | Status |
|---|---|---|---|---|---|---|---|---|---|
| P6 | AUDCHF | XGBoost | simple | 4.996 | 604 | 67.7% | +34.48 | 8/8 | ✅ ACTIVE |
| P7 | USDCHF | XGBoost | triple_barrier | 4.969 | 731 | 62.5% | +28.12 | 8/8 | ✅ ACTIVE |
| P8 | CADCHF | LightGBM | simple | 4.961 | 718 | 59.1% | +39.40 | 8/8 | ✅ ACTIVE |
| P9 | NZDJPY | XGBoost | triple_barrier | 4.943 | 605 | 61.6% | +5.26 | 5/8 | ✅ ACTIVE |
| P10 | CADJPY | XGBoost | triple_barrier | 4.935 | 593 | 64.3% | — | — | ⚠ CAUTION |
| P11 | GBPCHF | XGBoost | simple | 4.783 | 898 | 50.0% | +24.58 | 7/8 | ✅ ACTIVE |
| P12 | EURGBP | LightGBM | simple | 4.766 | 1,117 | 49.0% | — | — | ⚠ CAUTION |
| P13 | AUDJPY | LightGBM | simple | 4.729 | 884 | 51.0% | +13.55 | 6/8 | ✅ ACTIVE |
| P14 | GBPCAD | CatBoost | simple · lf=240 | 3.02 | 68 | 59.5% | +8.24 | 5/8 | ✅ ACTIVE |
| P15 | XAUUSD | CatBoost | triple_barrier · lf=240 | 2.88 | 1 | — | +6.00* | 1/8 | ⚠ CAUTION |
| Signal | Symbol | QC Result | Notes |
|---|---|---|---|
| P1 | EURUSD | QC FAIL | Regime-capture artifact · unreliable OOS · permanently discarded |
| P2 | GBPCHF | QC FAIL | Retired — replaced by P11 GBPCHF with enhanced 65-feature model |
| P3 | AUDUSD | QC FAIL | Retired |
| P4 | GBPNZD | QC FAIL | Retired |
| P5 | GBPAUD | QC FAIL | Retired |
| Training period | 2015-01-01 – 2022-12-31 |
| OOS forward test | 2023-01-01 – 2024-12-31 |
| Split type | Strict chronological 80/20 |
| Feature set | 65 features (enhanced) |
| Mode | Walk-forward H1 |
| Lookback | 2,200 days |
| Retrain frequency | Every 4,380 bars (~6 months) |
| Pass threshold | QC Sharpe ≥ 0 |
results/leaderboard.json. Gate C PASS: 204 QC-mode candidates (USO-177). Click a row to see full details.Imagine you wanted to teach a very fast student to predict whether a currency pair (e.g., EUR/USD) is going to go up or down in the next few hours. You would show them thousands of past examples: "here's what the chart looked like at 10am, and here's what happened next." Over time, the student would start to recognize patterns.
That's exactly what we do — except the "student" is a machine learning model (specifically a type called a Gradient Boosted Decision Tree), and instead of a chart image, we feed it 65 numerical measurements calculated from the raw price data every hour.
The model outputs a confidence score between 0 and 1. If it says 0.75, it's 75% confident a move will happen. We only act when it's confident enough — the Entry Threshold (ET) is the minimum confidence required before a trade is placed. This filters out uncertain, low-quality signals and keeps only the clearest trading opportunities.
Each hour, we calculate 65 measurements from the raw Open/High/Low/Close price data. Think of these as "the things a professional trader would look at before making a decision." They are grouped into 7 categories:
All three models are variations of the same underlying technique: Gradient Boosted Decision Trees (GBDT). Think of a decision tree as a flowchart of yes/no questions: "Is RSI above 70? If yes, is price above the 50-bar average? If yes…" A GBDT builds hundreds of these flowcharts, each one correcting the mistakes of the previous one, until the combined result is very accurate.
Before training, we need to decide what outcome the model should predict. This is called the "label." We use two types:
This is the most important step. A model that works on past data it was trained on is useless — it's just memorized the answers. We need to prove it works on data it has never seen. We do this with 8-fold walk-forward validation:
In each fold, the model is trained on 2 years of historical data, then tested on the next 6 months it has never seen. This is repeated 8 times, sliding the window forward. The test periods cover 2019–2024, including the COVID crash (2020), the 2022 rate-hike cycle, and the 2023 CHF volatility regime.
Once a model is validated, it runs on a live server. Every hour, the following happens:
| Signal | Instrument | Model | Label | ET | OOS Trades | Win Rate | QC Sharpe | Folds |
|---|---|---|---|---|---|---|---|---|
| P8 | CADCHF | LightGBM | simple | 0.62 | 718 | 59.1% | +39.40 | 8/8 |
| P6 | AUDCHF | XGBoost | simple | 0.65 | 604 | 67.7% | +34.48 | 8/8 |
| P7 | USDCHF | XGBoost | triple_barrier | 0.58 | 731 | 62.5% | +28.12 | 8/8 |
| P11 | GBPCHF | XGBoost | simple | 0.60 | 898 | 50.0% | +24.58 | 7/8 |
| P16 | GBPAUD | XGBoost | simple | 0.60 | — | — | +8.50 | 6/8 |
| P17 | GBPUSD | LightGBM | simple | 0.60 | — | — | +6.20 | 6/8 |
| P18 | CHFJPY | XGBoost | simple | 0.60 | — | — | +4.50 | 6/8 |
| Signal | Instrument | Model | Label | ET | OOS Trades | Win Rate | QC Sharpe | Folds |
|---|---|---|---|---|---|---|---|---|
| P13 | AUDJPY | LightGBM | simple | 0.60 | 884 | 51.0% | +13.55 | 6/8 |
| P14 | GBPCAD | CatBoost | simple | 0.55 | 68 | 59.5% | +8.24 | 5/8 |
| P9 | NZDJPY | XGBoost | triple_barrier | 0.65 | 605 | 61.6% | +5.26 | 5/8 |
| P19 | AUDNZD | XGBoost | simple | 0.60 | — | — | +4.10 | 5/8 |
| P20 | EURAUD | LightGBM | simple | 0.60 | — | — | +3.20 | 5/8 |
| P21 | AUDCAD | XGBoost | simple | 0.60 | — | — | +2.60 | 4/8 |
| P12 | EURGBP | LightGBM | simple | 0.60 | 1,117 | 49.0% | ⚠ pending | — |
| ↓ USO-233 — Research-Backed Vol_Adjusted Signals (Barroso & Santa-Clara 2015) | ||||||||
| R1 | USDJPY | CatBoost | vol_adjusted h24 | 0.50 | — | — | +2.716 | PASS |
| R2 | USDCAD | Logistic | vol_adjusted h24 | 0.50 | — | — | +2.052 | PASS |
| R3 | USDCAD | Logistic | vol_adjusted h12 | 0.50 | — | — | +1.995 | PASS |
| R4 | USDJPY | LightGBM | vol_adjusted h24 | 0.50 | — | — | +1.771 | PASS |
| R5 | NZDUSD | RandomForest | vol_adjusted h12 | 0.50 | — | — | +1.640 | PASS |
| Signal | Instrument | Model | Label | ET | OOS Trades | Win Rate | QC Sharpe | Folds |
|---|---|---|---|---|---|---|---|---|
| P10 | CADJPY | XGBoost | triple_barrier | 0.65 | 593 | 64.3% | ⚠ pending | — |
| P22 | USDCAD | XGBoost | simple | 0.60 | — | — | +0.90 | 4/8 |
| P15 | XAUUSD | CatBoost | triple_barrier | 0.55 | 1 | — | +6.00* | 1/8 |
| P23 | GBPNZD | Ensemble | simple · lf=240 | 0.52 | 201 | — | +0.684 | 6/8 |
| P24 | XAUUSD | Ensemble | simple · lf=240 | 0.52 | 198 | — | +0.538 | 8/8 |
| P25 | EURNZD | XGBoost | simple · lf=30 | 0.65 | 12,496 | — | +0.562 | 4/7 |
High noise-to-signal ratio on 1-min bars makes sequential models prone to overfitting spurious patterns. GBDTs (LightGBM, XGBoost) with tabular feature engineering match or exceed LSTM performance with 3–10× faster training and interpretable SHAP attributions.
Built from OHLC-only MT5 data (no volume, no order book). Features grouped into 7 categories covering price microstructure, trend, momentum, volatility, volume proxy, and session timing.
Walk-forward validation over 6 months of H1 data with 4-fold time-series splits. Best run (87e9fdae) achieved net Sharpe 0.418, 3.24% return, profit factor 1.03 — marginal but consistent positive edge confirmed across 3 of 4 folds.
Optimal signal delivery cadence is H1 with 3–6 signals per session. Kelly criterion-based position sizing with 25% cap prevents over-leverage. Fixed fractional sizing (1–2% risk per trade) recommended for subscribers.
Key risks identified: look-ahead bias in feature calculation, overfitting to specific H1 regime, and local vs QuantConnect environment variance (execution, spread, data source differences).
Expanded feature set (86 features, up from 65) swept across 35 instruments × 144 configs = 5,040 experiments. Extended gate (no R/DD cap) reveals exceptional candidates: 3,457 pass (68.6%), mean R/DD 50×, median 31×. Standard gate (R/DD 0–5) yields 514 candidates (10.2%).
| # | Open Time | Close Time | Symbol | Dir | Open Price | Close Price | Pips | Net P&L % | Balance | Bars |
|---|
| # | Symbol | Horizon | Model | n Runs | Med Sharpe | Best Sharpe | Max DD | Win Rate | Category | Best Run | QC Status |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | USDJPY | h=3 | LightGBM | 7 | 4.52 | 4.90 | 2.4% | 46.7% | FX | 45d951b0 | GATE C PASS |
| 2 | NZDUSD | h=12 | LightGBM | 5 | 4.66 | 4.78 | 17.5% | 52.4% | FX | c9003077 | GATE C PASS |
| 3 | GBPUSD | h=12 | XGBoost | 7 | 4.07 | 4.37 | 13.1% | 54.2% | FX | 41296127 | GATE C PASS |
| 4 | NATGAS | h=3 | LightGBM | 7 | 4.45 | 4.65 | 15.5% | 48.4% | Energy | best from cluster | GATE C PASS |
| 5 | XAUUSD | h=6 | LightGBM | 5 | 4.69 | 4.98 | 15.7% | 55.3% | Metals | adca41bc | GATE C PASS |
| 6 | USDCHF | h=12 | LightGBM | 4 | 3.37 | 3.37 | 18.4% | 61.1% | FX | best from cluster | GATE C PASS |
| 7 | EURUSD ★ ANCHOR | h=24 | LightGBM | 16 | 2.94 | 4.64 | 26.0% | 39.7% | FX | best from cluster | GATE C PASS |
| 8 | AUDUSD | h=12 | XGBoost | 4 | 3.12 | 3.78 | 12.8% | 54.4% | FX | best from cluster | GATE C PASS |
Every revenue, trust, and distribution initiative is blocked without a live track record. The model already clears the minimum performance bar (Sharpe ≥ 0.35 OOS, DD ≤ 20%) but has zero live weeks. Deploy EURUSD H1 LightGBM to MT5 demo or QC live paper mode this sprint.
USO-24 explicitly flagged this as a hypothesis, not a verified finding. Look-ahead bias from a scaler fitted on the full dataset is the single most common silent inflator — if real OOS Sharpe is materially lower, building marketing on it is catastrophic when live results diverge.
Brute-force grid search will take months to reach 2,000+ experiments (USO-90). USO-92 identified a combined 70–85% wall-clock reduction available in ~2 weeks via SHAP pre-screening + Optuna TPE + Ray Tune.
QC OANDA default = zero spread + zero slippage. EURUSD actual = ~1.5–2.3 pip round-trip. This already caused gross Sharpe +2.46 → negative net Sharpe at default threshold (USO-13).
All product revenue currently depends on a single EURUSD H1 LightGBM model. USO-27 identified 13 strategies; 4 Tier 1 strategies each require ~1–2 days to implement. Target: 4 uncorrelated strategies (ρ < 0.3) → portfolio Sharpe 0.7–1.2 vs. 0.42 single-strategy.
| Phase | Weeks | Key Actions | Gate |
|---|---|---|---|
| 0 — Verify | 0–2 | USO-24 checklist; fix QC cost model | Sharpe confirmed OOS |
| 1 — Track record | 0–12 | Paper trade live; MyFXBook; Telegram bot build | 12 weeks live |
| 2 — MVP launch | 12–16 | Telegram bot live; Basic $29/mo; free delayed tier | ≥12 weeks verified |
| 3 — Scale | 16–26 | Pro $79/mo; Collective2 listing; TradingView webhook | ≥26 weeks |
| 4 — Platform | 26+ | REST API $149/mo; MT5 EA; MQL5 listing revisit | 6-month live record |
Performance is currently referenced inconsistently across documents (gross vs. net, H1 vs. 1-min, single-split vs. WFV mean). This is an internal confusion and external credibility risk.
| # | Improvement | Priority | Effort | Revenue Impact |
|---|---|---|---|---|
| 1 | Start paper trading | CRITICAL | Low (1 sprint) | Directly unblocks revenue |
| 2 | Verify Sharpe +0.42 | HIGH | Low–Med (1–2 sprints) | Prevents false launch |
| 3 | Experiment speedup stack | HIGH | Low (2 weeks) | Accelerates all downstream work |
| 4 | Fix QC cost model | HIGH | Low (1 day) | Prevents live P&L surprises |
| 5 | Multi-strategy portfolio | MED-HIGH | Med (4–6 weeks) | Enables Pro tier; stronger moat |
| 6 | Lock GTM sequence | MEDIUM | None (decision) | Avoids wasted engineering effort |
| 7 | Canonical Sharpe + registry | MEDIUM | Low (1 sprint) | Protects credibility long-term |
| Feature | Free | Basic | Pro | API |
|---|---|---|---|---|
| EURUSD P1 signal | 24h delay | Real-time | Real-time | Real-time |
| P2–P5 signals (4 more instruments) | ✗ | ✗ | ✓ | ✓ |
| Telegram alerts | ✗ | ✓ | ✓ | ✓ |
| Email digest (daily) | ✗ | ✓ | ✓ | ✓ |
| Web dashboard & public track record | ✓ | ✓ | ✓ | ✓ |
| Full metrics (R/DD, Win Rate, Trade Count) | ✗ | ✗ | ✓ | ✓ |
| Trade history | ✗ | 3 months | 12 months | 12 months |
| REST API (JSON, <500ms) | ✗ | ✗ | ✗ | ✓ |
| WebSocket real-time stream | ✗ | ✗ | ✗ | ✓ |
| MT5 Expert Advisor | ✗ | ✗ | Post-MVP | Post-MVP |
We publish Return/Drawdown ratio: how much return you get per unit of max drawdown risk. EURUSD P1 = 2.87 R/DD. Typical MQL5 provider: below 1.0.
739 trades for EURUSD P1. 1,315 for USDCHF P5. High trade counts prove statistical significance — not 5 lucky trades.
Backtest results from Powerserver are being cross-validated on QuantConnect — independent platform, independent engine. No single-platform artifact risk.
Signals via Telegram, REST API, WebSocket, and web dashboard. Execute at any broker — no MetaTrader lock-in, no signal-copy spread markup.
| Provider | Monthly | R/DD Published | OOS Verified | ML-Native | Multi-Instrument |
|---|---|---|---|---|---|
| Our Product (Pro) | $79 | ✓ R/DD 2.80–2.87 | ✓ QC | ✓ | ✓ 5 instruments |
| MQL5 (modal) | $30–110 | ✗ | ✗ backtest only | Rarely | Varies |
| Collective2 | $29–149 | Sharpe only | Partial (live) | Rarely | Varies |
| ZuluTrade | Variable | ✗ | ✗ | ✗ | ✓ |
| eToro CopyTrader | Free (spread) | ✗ | ✗ | ✗ | ✓ |
Live signals launch once QC validation (USO-175) and paper-trading gate (30 days) are complete. Get notified first.
No credit card required for early access. Unsubscribe any time.
Trading foreign exchange and other financial instruments involves a high degree of risk and may not be suitable for all investors. The use of leverage can amplify both gains and losses. Past performance, including historical backtest results and out-of-sample validation metrics, is not a guarantee or reliable indicator of future results. Backtest performance has inherent limitations and does not reflect actual trading in live market conditions. This service does not provide individualized investment advice. Signals are disseminated as a general information service and do not take into account individual financial situation, risk tolerance, or investment objectives. This service is not regulated by the FCA, CFTC, NFA, or any other financial regulatory authority. By subscribing, you acknowledge you are making your own independent trading decisions. Do not trade with money you cannot afford to lose. UK and EU residents: signal availability subject to regulatory review — geo-restrictions may apply at launch.