AI Trading Platform: Exit Strategy Breakthrough & Paper Trading System
The Real Problem Was Never Entry Signals
After months of work on our AI trading platform, we made a discovery that changed everything. We had been optimizing the wrong thing. Our neural network was already finding good entry signals. The problem was how we exited trades.
A note on terminology: R represents one unit of initial risk per trade. If you risk $100 on a trade, then 1R = $100, 2R = $200, and so on. This standardizes results across different position sizes.
Our MFE (Maximum Favorable Excursion) research showed that winning trades were reaching an average of 1.82R before reversing. But our actual captured profit was only 0.43R. We were leaving 1.14R on the table for every single trade.
The cause? Trailing stops were cutting winners short by an average of 0.81R per winning trade.
Understanding CVR: A Better Way to Measure Trade Quality
We stopped measuring success by win rate alone. A 50% win rate with small winners is worse than a 40% win rate with large winners. Instead, we now use CVR (Captured Value Ratio).
CVR measures how much of the potential profit you actually captured. If a trade could have reached 2R and you exited at 1R, your CVR is 0.5. This single metric tells you more about exit quality than win rate ever could.
Note that CVR above 1.0 is possible when exits outperform the original risk model, typically through runner positions that capture extended moves beyond the initial target.
The Two-Stage Exit Solution
After testing many approaches, we found that position splitting works best. Here is how it works.
When a trade reaches 1R profit (your risk unit), we exit half the position. This locks in gains on what we call the “core” position. The remaining half becomes a “runner” that uses a much wider trailing stop at 1.5R distance.
Why does this work?
Our data showed that 71% of trades reach 1.0R before reversing. By exiting half at this level, we capture profits on most winners. The remaining half has room to capture the 48% of trades that reach 2.0R or higher.
The results speak for themselves:
| Metric | Before | After | Change |
|---|---|---|---|
| Avg Win CVR | 0.936 | 1.032 | +10.2% |
| Expectancy | 0.006R | 0.054R | +0.048R per trade |
| Win Rate | 49.8% | 49.8% | unchanged |
Notice that win rate stayed exactly the same. We did not change our entry logic at all. Expectancy increased from near-zero (+0.006R) to a statistically meaningful level (+0.054R per trade), entirely from better exits.
Signal-Family Exit Routing
Different types of signals need different exit strategies. A breakout signal during a strong trend should run to maximize gains. A mean-reversion signal in a ranging market should take profits quickly.
Note: This routing logic is currently under validation and was tested on historical data. Final parameters are subject to confirmation during paper trading.
We classify signals into two families:
Breakout signals get identified when ADX is above 25, volume is 1.5 times normal, and price is outside Bollinger Bands. These trades get no trailing stop until much larger profit. They target 2R with an average winner of +1.78R.
Drift signals are range-bound trades without strong momentum. These use trailing stops at 0.7R distance after reaching 1.0R profit. They have smaller average winners at +0.97R but a higher win rate of 56%.
This separation improved overall expectancy because we no longer cut breakout trades short.
The Paper Trading System
Backtesting has a fundamental flaw. It knows the entire price history and can make perfect decisions with hindsight. This creates false confidence in strategies that fail in live trading.
We built a paper trading system that processes bars one at a time, just like real trading. The paper executor never sees future prices. It makes decisions based only on current and past data.
How Causal Execution Works
The difference between backtesting and paper trading is crucial:
| Aspect | Backtester | Paper Executor |
|---|---|---|
| Data visibility | All bars at once | One bar at a time |
| Decision timing | Can see future | Current bar only |
| Purpose | Strategy development | Strategy validation |
| Realism | Low | High |
When the paper executor generates a signal, it logs the decision immediately. The trade opens at the next bar’s open price, exactly like live trading. There is no way to cheat.
Paper Dashboard Monitoring
The paper trading dashboard monitors four key areas:
Core Performance shows expectancy, CVR, and win rate compared to our backtest baseline. If these metrics fall below certain thresholds, we get alerts.
Exit Efficiency breaks down performance by exit type. We can see if targets, trailing stops, or time-based exits are performing as expected.
Runner Health tracks our two-stage strategy specifically. If runners are getting stopped out early, this panel shows it immediately.
Regime Breakdown separates results by market conditions. This helps identify if the strategy works better in trending or ranging markets.
Current Platform Statistics
Here are the live statistics from our database as of December 2025:
| Metric | Value |
|---|---|
| Total Backtest Trades | 3,661 |
| Trades with CVR ≥ 1.0R | 628 (17.2%) |
| Average Win CVR | 0.939 |
| Paper Trades (validation) | 100 |
The current paper trade count includes early validation samples and should not yet be considered statistically representative.
The exit breakdown shows each strategy component working:
| Exit Type | Count | Avg CVR |
|---|---|---|
| stopped | 1,610 | -1.000 |
| trailing_stop | 731 | +0.563 |
| target | 533 | +1.953 |
| timeout | 506 | +0.224 |
| breakeven | 272 | +0.173 |
| twostage_target | 9 | +2.363 |
Early two-stage target exits show high CVR values (+2.363), consistent with our design hypothesis. However, the sample size of 9 trades remains too small for statistical validation.
Key Files and Functions
For those interested in the technical implementation:
src/stop_loss_manager.py contains the TwoStageExitConfig class with frozen v0.3 parameters and TwoStageStopLossSimulator for exit simulation. This file handles all exit logic including ATR-based stop calculation.
src/paper_executor.py contains PaperTradeExecutor for causal signal execution and BackgroundPaperTrader for the continuous trading loop. This is where signals become paper trades.
src/paper_dashboard.py provides the database schema for paper trades, metric calculation functions, and alert threshold definitions. The dashboard monitors strategy health in real time.
src/ai_analyzer.py handles RAG-based signal analysis using FAISS vector search. It combines neural network predictions with technical indicators.
MFE-Based Soft Labeling
Traditional trading systems label each trade as a win or loss. This wastes valuable information. Consider a trade that reached 1.5R profit before reversing to finish at 0.3R. The signal was correct. Only the exit was wrong.
Our soft labeling system assigns graduated scores:
- CVR ≥ 1.5R receives label 1.0 (strong win)
- CVR ≥ 1.0R receives label 0.8 (partial win)
- CVR ≥ 0.5R receives label 0.6 (marginal — shows directional skill)
- CVR < 0.5R receives label 0.0 (loss)
This means our neural network learns from all directionally correct trades, not just the ones with perfect exits. The result is better pattern recognition and more useful confidence scores.
Crypto-Specific Configuration
Cryptocurrency markets move differently than stocks. Higher volatility means standard stop distances trigger too often. We now use wider parameters for crypto assets:
- Stop loss uses 3x ATR instead of 2x ATR for stocks
- Trailing trigger activates at 1.5R profit instead of 1.0R
- Breakeven trigger moves to 2.0R profit instead of 1.5R
These adjustments reduced false stop-outs in volatile conditions while maintaining risk control.
What Comes Next
We are now in paper trading validation mode. The v0.3 exit strategy parameters are frozen. No changes are allowed without live trading evidence.
Phase 1 (Current): Monitor paper trades for 30-60 days. Verify that expectancy holds without hindsight bias. Check that runner activation rates match backtest predictions.
Phase 2 (After Validation): Only if paper trading reveals problems will we consider v0.4 adjustments. The most likely change would be the runner activation threshold, but only with statistical evidence from live data.
Phase 3 (Future): Implement position limits, circuit breakers, and real broker integration for live trading preparation.
The key insight from this entire project is that exit strategy matters more than entry strategy. You can have the best signal generator in the world, but if your exits cut winners short, you will never be profitable.
The hardest thing in trading is doing nothing when you should wait. Our paper trading system forces this discipline.
AI Trading Platform Blog
- Exit Strategy Breakthrough & Paper Trading System
- Security Audit & Major System Updates
- From Losing to Winning - Our Optimization Story
Important: The AI Trading Platform is an internal research project operated exclusively by ABXK.AI. It is not publicly accessible and cannot be used by visitors.
Any results, insights, or examples shared on this website or on social media are provided for informational and educational purposes only and do not constitute financial advice.