$10K to $21M in 4 Years: Midnight Ladder Pro
- Sandra Wakefield

- 1 day ago
- 12 min read
Updated: 7 hours ago

Yes. You can grow a 10,000 USD account to 21M USD in 4 years.
2022-2026 XAUUSD Equity Curve

2022-2026 XAUUSD Stats Panel

2022-2026 US500 Equity Curve

2022-2026 US500 Stats Panel

Raw Cbot Trade Log files from 2022 to 2026
The results you see come from the cbot (python) automation of our Tradingview variant Midnight Ladder Pro.
Most trading systems are built around a human making decisions.
That’s the bottleneck.
Midnight Ladder Pro was built around a different idea: what happens when the strategy, risk logic, market context, and execution are engineered into the machine itself?
The results you're seeing come from the automated cBot implementation of our TradingView-based Midnight Ladder Pro architecture. On gold, the system is designed to operate in high-leverage environments from 1:500 to 1:1000, where compounding can become extremely aggressive. On indices and major FX pairs, the return profile is more restrained—but the profit factors have remained highly competitive against conventional prop-trading benchmarks.
The point isn’t to trade faster.
The point is to remove hesitation, inconsistency, fatigue, and emotion from execution—and replace them with code.
This demo release is intentionally constrained to XAUCHF and demo accounts only.
Because before you scale a machine, you prove the machine.
Midnight Ladder Pro.
Trading, engineered.
Download the Demo Cbot v7.5
Download the White Paper
XTIUSD in Full Action

Midnight Limit Ladder cBot v7.5 (cAlgo Ctrader)
Institutional User Manual
Higher-Timeframe Institutional Daily Bias + Markov Regime ValidationL3/L4 Liquidity Ladder Execution | Dynamic VWAP Management | Capital Protection
Purpose: This manual explains the operating logic, decision flow, risk controls, higher-timeframe validation, recommended timeframe, asset suitability, and deployment practices for PSRC Midnight Limit Ladder cBot v7.5. |
Important: Backtests and beta/demo results do not guarantee future performance. This system is designed to control risk, not eliminate it.
Contents
1. Executive Overview
2. Strategy Thesis and Market Logic
3. Complete Decision Flow
4. Institutional Daily Bias
5. Markov Regime Engine
6. L3/L4 Liquidity Ladder
7. Scoring and Trade Qualification
8. Execution, TP, Partial Close and Break-Even
9. Protection Stack and Risk Controls
10. Sessions, Timezone and Best Timeframe
11. Asset Suitability
12. Recommended Default Configuration
13. Dashboard / HUD Interpretation
14. Operational Workflow for Beta Testers
15. Failure Modes and What the cBot Is Designed to Avoid
16. Production Readiness and Validation Standards
1. Executive Overview
PSRC Midnight Limit Ladder v7.5 is a rule-based, non-discretionary intraday liquidity-reversion cBot. Its core purpose is to place limit orders at deeper liquidity pools (primarily L3 and L4) around prior-day, Asian-session, midnight-VWAP and Goldbach-derived structure, while using higher-timeframe institutional context to avoid fading genuine directional repricing.
The central design principle is separation of responsibilities. The Daily Bias estimates directional asymmetry; the Markov engine estimates the market's behavioral regime and persistence; the ladder determines price location; and the execution layer manages risk, partial profit-taking, break-even protection and session eligibility.
Institutional design principle: The cBot does not assume that a bullish higher timeframe means 'never sell'. Mean-reverting liquidity fades may still be valid. The hard block is reserved for the dangerous combination of strong opposing Daily Bias plus a qualified persistent Trend-Stress regime. |
What v7.5 adds over earlier versions
· Institutional Daily Bias replacing simple H4/Daily EMA validation.
· Adaptive three-state Markov regime model with transition persistence.
· Asymmetric score thresholds: default Buy 70 / Sell 75.
· Failed auction confirmation changed to bonus-only by default.
· Automatic New York daylight-saving handling.
· Risk-based position sizing with monetary risk sanity checks.
· Same-side symbol risk cap and total bot open-risk cap.
· Per-order maximum lot / volume ceilings.
· Detailed decision diagnostics and HUD exposure reporting.
2. Strategy Thesis and Market Logic
The strategy is built around the observation that intraday price frequently raids liquidity beyond obvious session or prior-range extremes, then reverts toward fair-value references such as session VWAP. The objective is not to predict every move. It is to selectively provide liquidity at predefined deeper levels where reward-to-risk improves, while refusing to fade conditions that resemble persistent directional repricing.
Primary market hypotheses
Hypothesis | Interpretation |
Liquidity sweep / extension | Price often overshoots prior-day and Asian-session reference points before mean reversion. |
Deep ladder advantage | L3/L4 entries are intentionally farther from fair value and are designed to avoid lower-quality shallow fades. |
VWAP reversion | Midnight VWAP acts as a dynamic fair-value target when price extends materially away from it. |
Regime dependence | Mean-reversion edge degrades sharply during persistent Trend-Stress; this is where Markov protection matters most. |
Directional asymmetry | Daily Bias adjusts confidence and scoring without universally banning counter-bias mean-reversion trades. |
3. Complete Decision Flow
The cBot evaluates the market in the following order:
1. New York day/week reset; initialize NY midnight open, session ranges and VWAP accumulators.
2. Update confirmed higher-timeframe context from Daily and H4 data.
3. Compute Institutional Daily Bias and Markov regime/persistence.
4. Update prior-day high/low, Asian range, midnight VWAP, weekly VWAP and adaptive ladder levels.
5. Determine whether L4/L5 expansion mode is active from ATR-normalized displacement.
6. Evaluate trend-day state, VWAP slope, weekly VWAP state and failed-auction state.
7. Calculate Buy and Sell institutional scores.
8. Apply hard protections: emergency kill switch, daily loss/drawdown, max trades, consecutive losses, session, spread, L4 breach.
9. Apply HTF policy: persistent strong counter-bias Trend-Stress can veto the side.
10. Apply side score threshold: default Buy >= 70, Sell >= 75.
11. Place eligible L3/L4 limit orders, subject to risk-cap approval.
12. After fill: arm/verify broker-side absolute SL/TP, manage partial close, break-even and optional trailing stop.
Simplified decision tree
ACTIVE SESSION? NO -> cancel bot pending orders (if enabled) YES |RISK / SPREAD / DAILY LIMITS PASS? NO -> BLOCK YES |L3/L4 LEVELS READY? NO -> WAIT YES |DAILY BIAS + MARKOV CONTEXT |PERSISTENT TREND-STRESS AGAINST TRADE? YES -> HARD BLOCK NO |VWAP / TREND / SCORE / FAILED-AUCTION POLICY PASS? NO -> BLOCK YES -> PLACE LIMIT ORDER -> RISK CHECK -> BROKER ORDER
4. Institutional Daily Bias
The v7.5 Daily Bias is a continuous, confirmed-daily forecast from approximately -100 to +100. It is not the retail convention of simply comparing price with a single moving average. Its purpose is to estimate directional asymmetry using volatility-normalized trend and recent daily structure.
Core components
Component | Role | Approx. weighting |
EWMAC 8/32 | Fast trend component, volatility scaled | part of 60% trend ensemble |
EWMAC 16/64 | Medium trend component | part of 60% trend ensemble |
EWMAC 32/128 | Slow structural trend component | part of 60% trend ensemble |
1-day normalized displacement | Recent directional impulse | 10% |
5-day normalized displacement | Short swing structure | 15% |
Daily close location | Where the confirmed close sits inside the daily range | 15% |
The forecast is clipped to a bounded range so extreme values do not dominate indefinitely. The default neutral threshold is around +/-15, while a strong-bias threshold is around +/-40.
Why this is more institutional: Institutional trend models commonly normalize forecasts by volatility, combine multiple horizons, and use continuous signals rather than a single binary EMA test. This reduces sensitivity to one arbitrary moving-average length and produces a more stable cross-asset directional state. |
5. Markov Regime Engine
The Markov layer models the market as a sequence of economic states and estimates how likely the current state is to persist based on observed daily transitions. It is specifically designed to distinguish a tradable mean-reversion environment from a dangerous persistent directional expansion.
Three economic states
State | Definition | Trading implication |
MEAN-REVERSION | Directional efficiency below threshold; path is less persistent. | Most permissive environment for L3/L4 fades. |
TREND-QUIET | Directional efficiency is high but realized volatility is not stressed. | Favor bias-aligned trades; counter-bias trades are penalized rather than universally banned. |
TREND-STRESS | Directional efficiency is high and realized volatility is elevated relative to history. | Persistent strong counter-bias fades may be hard-blocked. |
How the state is measured
· Kaufman-style Efficiency Ratio measures directional persistence over the configured daily window.
· Realized volatility is calculated from confirmed daily log returns.
· Current realized volatility is ranked against a rolling historical percentile distribution.
· A transition matrix counts how often each state moves to each other state.
· Persistence is the empirical probability of the current state transitioning to itself.
· The state is considered qualified only when the sample count and persistence threshold both pass.
Default Markov controls
Parameter | Default | Meaning |
Transition lookback | 90 daily transitions | Rolling history used to estimate transition probabilities. |
Minimum state samples | 12 | Prevents false confidence from sparse state observations. |
Persistence threshold | 58% | State must be sufficiently persistent to become authoritative. |
Efficiency period | 10 days | Trend-efficiency measurement window. |
ER trend threshold | 0.42 | Separates trend-like from mean-reverting path structure. |
RV window | 10 days | Recent realized-volatility estimate. |
RV percentile lookback | 60 days | Historical volatility reference distribution. |
Trend-Stress percentile | 70th percentile | Defines stressed directional volatility. |
Critical behavior: A Markov state does not hard-block by itself. Under the default policy, the hard veto requires qualified persistence, Trend-Stress, and a strong opposing Daily Bias. This preserves legitimate mean-reversion trades while protecting against repeated fading of true repricing. | ||
6. L3/L4 Liquidity Ladder
The execution engine constructs layered buy and sell limits using prior-day range structure, Goldbach-style fractional levels, NY midnight open, midnight VWAP, Asian-session extremes and ATR buffers. The default live research configuration focuses on L3 and L4.
Level | Purpose | Default behavior |
L1 | Shallow reversion / near-fair-value liquidity | Not selected by default. |
L2 | Moderate extension | Not selected by default. |
L3 | Deep liquidity pool near prior-day / Asian extremes | Primary default execution level. |
L4 | Expansion-level liquidity beyond L3 | Enabled only when expansion conditions are active. |
L5 | Panic/extreme expansion | Disabled by default. |
Adaptive L4/L5 activation is based on ATR-normalized displacement from midnight VWAP. This prevents the deepest ladder levels from being deployed in ordinary low-extension conditions.
7. Scoring and Trade Qualification
V7.5 separates score from vetoes. Scoring ranks setup quality; hard vetoes are reserved for conditions that materially threaten the strategy's edge or capital.
Factor | Typical role |
Institutional Daily Bias | Directional alignment or counter-bias penalty. |
Markov compatibility | Rewards Mean-Reversion and bias-aligned persistent trends; penalizes incompatible regimes. |
Price vs midnight VWAP | Rewards entry from the appropriate side of fair value. |
VWAP slope | Hard blocker when price and VWAP momentum indicate dangerous continuation. |
Weekly VWAP | Default score-oriented structural context. |
Trend-day detector | Blocks fading of extreme intraday displacement conditions. |
Failed auction | Bonus only by default; no chronic blocker unless explicitly required. |
L4 breach lock | Removes a side after price breaks beyond L4 by the configured ATR buffer. |
Default score thresholds are asymmetric: Buy requires 70 while Sell requires 75. This was introduced after cross-version testing showed that a modestly higher short threshold improved selectivity without disabling the short book.
8. Execution, TP, Partial Close and Break-Even
Initial protection
Pending limit orders are submitted with absolute broker-side stop-loss and take-profit prices. After fill, the cBot verifies that protection exists and re-arms missing stops if necessary.
Dynamic VWAP take-profit
When enabled, the cBot uses midnight VWAP as the preferred fair-value target, subject to minimum and maximum TP-distance constraints. This lets profitable deep fades exit at dynamic fair value rather than forcing every trade to a fixed target.
Position management
· 50% partial close at 50% of the active TP distance.
· Move stop to break-even after successful partial close.
· Configurable positive break-even buffer.
· Optional trailing stop (disabled by default).
· Absolute broker-side protection remains the primary safety layer.
9. Protection Stack and Risk Controls
V7.5 adds production-oriented monetary-risk checks before a pending order is submitted.
Protection | Default | Purpose |
Risk per order | 0.30% equity | Normalizes risk across instruments. |
Max same-side symbol risk | 0.60% | Allows roughly L3 + L4 on one side, but prevents unlimited ladder stacking. |
Max bot open risk | 1.20% | Caps aggregate risk from this cBot's positions and pending orders. |
Max lots per order | 20 lots | Hard ceiling against abnormal contract sizing. |
Risk sanity tolerance | 10% | Rejects/resizes an order if estimated monetary risk materially exceeds the intended risk. |
Max daily trades | 4 | Limits overtrading. |
Max consecutive losses | 3 | Stops trading after a short loss cluster. |
Daily equity drawdown | 2.0% | Stops new trading and cancels pending orders after daily equity loss threshold. |
Emergency kill switch | Off by default | Immediate manual trade-disable control. |
Spread filter | On | Blocks trading when transaction cost is too high relative to intraday ATR. |
L4 breach kill switch | On | Locks a side after deep level failure. |
Risk note: The risk percentage is a planning target, not a guarantee. Gaps, slippage, stop execution rules and broker contract specifications can cause realized loss to differ from estimated loss. | ||
10. Sessions, Timezone and Best Timeframe
Recommended operating timeframe: M15. The higher-timeframe context is fetched internally, but several execution components use the chart timeframe. M15 is therefore part of the strategy definition, not merely a display preference.
Component | M15 interpretation with defaults |
VWAP slope lookback 6 | Approximately 90 minutes. |
Weekly VWAP slope 12 | Approximately 3 hours. |
Failed-auction expiry 12 | Approximately 3 hours. |
Chop lookback 24 | Approximately 6 hours. |
Trend-day / ATR logic | Balanced granularity for London and New York execution. |
The cBot automatically handles New York DST in v7.5, using UTC-5 in winter and UTC-4 in summer. This matters because session activation, NY midnight reset, Asian range construction and VWAP anchoring are all tied to New York time.
Why not M5 or H1 by default?
On M5, the same lookbacks become much shorter and materially alter the strategy's memory. On H1, the liquidity interaction and session timing become too coarse. If another timeframe is used, the lookbacks should be re-researched rather than assumed equivalent.
11. Asset Suitability
V7.5 is designed for liquid instruments with reliable intraday pricing, meaningful session structure and sufficient movement to reach L3/L4. The following suitability ranking reflects the architecture and current beta/backtest evidence, not a guarantee of future performance.
Asset / group | Suitability | Comments |
US500 / major equity indices | High | Strong historical fit to session liquidity, expansion/reversion and VWAP behavior. Validate broker contract specs. |
EURUSD | High | Stable liquidity and session structure; current tests show moderate positive expectancy with controlled drawdown. |
USDJPY | Moderate-High | Positive but more regime/direction dependent. Useful diversification candidate. |
GBPUSD | Research candidate | Liquid and session-driven; should be tested unchanged before optimization. |
XAUUSD / XAUEUR / XAU crosses | Promising but validation-sensitive | Backtests can show extraordinary results. Demo forward validation is essential because metals contract/pip semantics and fill assumptions can materially affect results. |
XAUCHF | Beta target | Suitable for controlled demo beta, but should be considered unproven until forward data accumulates. |
BTCUSD / liquid crypto | Research candidate | 24/7 structure differs from FX/index sessions; needs dedicated validation. |
Thin exotics / illiquid CFDs | Low | Spread, gaps and inconsistent liquidity can undermine ladder execution. |
Best current deployment profile: M15 on liquid FX majors and major equity indices is the most defensible default. Gold crosses are interesting research targets, but their very strong historical backtests should be treated as a hypothesis to verify in demo forward testing, not as proof. | ||
12. Recommended Default Configuration
Parameter | Recommended default |
Chart timeframe | M15 |
Trade side | Both |
Ladder selection | L3_L4 |
Minimum grade | B_70 |
Long score premium | 0 |
Short score premium | 5 |
Risk per order | 0.30% |
Fixed SL | 30 pips |
Fixed TP | 60 pips |
Dynamic VWAP TP | Enabled |
Partial close | 50% at 50% TP distance |
Move SL to BE | Enabled |
Trailing stop | Disabled |
HTF validation | InstitutionalBiasAndMarkov |
Markov policy | BlockCounterTrendStress |
Require failed auction | False |
Failed auction bonus | True |
L4 enabled | True |
L5 enabled | False |
Max daily trades | 4 |
Max consecutive losses | 3 |
Daily equity DD | 2.0% |
Max same-side symbol risk | 0.60% |
Max bot open risk | 1.20% |
Max lots/order | 20 |
Auto NY DST | Enabled |
13. Dashboard / HUD Interpretation
HUD field | What it means |
Daily Bias | Bull/Bear/Neutral direction plus continuous score. |
Bias Strength | Neutral, moderate or strong based on configured thresholds. |
Markov | Current economic state: Mean-Reversion, Trend-Quiet, Trend-Stress or Unknown. |
Persistence / N | Self-transition probability and state sample count. |
HTF Block | Whether the higher-timeframe policy is vetoing that side. |
Buy/Sell Score | Current side quality versus grade threshold. |
Ladder Expansion | NORMAL / EXPANSION / PANIC ladder state. |
VWAP Slope | Intraday fair-value momentum state. |
Failed Auction | Bonus-only or confirmed status unless explicitly required. |
Order Risk Calc | Estimated monetary risk for the most recent order calculation. |
Bot Open Risk | Estimated aggregate open + pending risk controlled by this bot label. |
Risk State | READY or the reason risk logic is rejecting an order. |
Blocker | Current reason the bot is not placing an otherwise eligible order. |
14. Operational Workflow for Beta Testers
13. Use a demo account for beta testing unless a production build has been explicitly approved.
14. Attach the cBot to an M15 chart.
15. Confirm symbol name, contract specification, pip size, lot size and commission model.
16. Keep default strategy parameters unchanged during the first observation period.
17. Enable debug / decision diagnostics.
18. Record every unexpected block, fill, stop, partial or risk rejection.
19. Do not compare assets using raw profit alone; compare PF, drawdown, trade count, average trade and realized risk.
20. For metals, verify that risk % in the HUD is close to the configured 0.30% and that lot caps are not creating unexpected behavior.
21. Run forward for multiple market regimes before changing thresholds.
15. Failure Modes and What the cBot Is Designed to Avoid
Failure mode | Protection |
Repeatedly fading a genuine directional repricing | Strong opposing Daily Bias + qualified persistent Trend-Stress veto. |
Overtrading during poor conditions | Session filter, score threshold, max trades, spread and no-trade filters. |
Runaway ladder exposure | Same-side symbol risk cap and total bot open-risk cap. |
Abnormal symbol contract sizing | Risk sanity check plus max-lot and max-volume caps. |
Entering after deep liquidity structure has failed | L4 breach side lock. |
Chronically waiting for failed auction confirmation | Failed auction is bonus-only by default. |
Trading outside intended session windows | London / NY activation and automatic cancellation outside the window. |
Seasonal NY session shift | Automatic New York DST handling. |
Missing protection after fill | Emergency stop/TP re-arm check on tick. |
16. Production Readiness and Validation Standards
V7.5 is a production architecture, but deployment should remain evidence-driven. A successful backtest is not sufficient for unrestricted live use.
Minimum validation sequence
· Compile with no blocking errors.
· Backtest unchanged defaults over multiple years and market regimes.
· Cross-asset test without optimization.
· Verify broker-specific symbol risk and execution semantics.
· Run demo forward testing long enough to include trend, stress and mean-reversion periods.
· Compare expected versus realized stop risk, slippage and fill quality.
· Only after stable forward behavior consider small-capital live deployment with reduced risk.
Bottom line: The institutional character of v7.5 is not a marketing label. It comes from multi-horizon volatility-normalized bias, explicit regime modeling, state-persistence qualification, separation of scoring from hard vetoes, broker-side protection, cross-symbol monetary risk controls, and a design that prioritizes survival during adverse market regimes. |
End of manual. Version reference: PSRC Midnight Limit Ladder cBot v7.5 Production.



Comments