Methodology — every rule, in the open
Most tools in this niche describe themselves with adjectives. This page describes ArdenAlgo with parameters. If a claim on our site can't be traced to a rule on this page and a row in the public ledger, treat it as marketing — and tell us.
1 · Data
The engine consumes closed 15-minute bars of exchange-based USDT-M perpetual futures OHLCV, with H1 and H4 views derived from closed bars only. A bar that hasn't closed doesn't exist for the engine — that single constraint eliminates the most common source of "too good to be true" signal demos. Detection was cross-checked bar-by-bar against TradingView chart data before the engine went live (gate G1).
2 · The pipeline
One strict sequence, three timeframes. H4 sets bias (structure, dealing-range premium/discount, untapped liquidity ahead). H1 supplies the zone (order blocks and fair value gaps qualified by displacement and fill state). M15 runs the confirmation state machine: liquidity sweep → displacement-validated structure shift → FVG retest. No stage can be skipped; each has a timeout window.
3 · Exact thresholds
These are the live values the engine runs — not illustrative examples. Changing any of them creates a new mechanization version with a dated changelog note; results across versions are never silently pooled.
| Parameter | Value | Used for |
|---|---|---|
| Displacement | body ≥ 1.5 × avg body of prior 20 bars | MSS validation, OB/FVG quality |
| Equal-level cluster | tolerance 0.25 × ATR(14) | Liquidity map (EQ highs/lows) |
| FVG lifecycle | tracked until ≈50% filled | Zone qualification & entry |
| Sweep → MSS window | 16 bars (M15) | Confirmation must be timely |
| MSS → retest window | 32 bars (M15) | Entry must be timely |
| Trade expiry | 192 bars (48 hours) | Paper ledger accounting |
| Per-symbol cooldown | 4 hours | No signal spam |
| Alert filter | R:R ≥ 1.5 | Notification only — every signal still hits the ledger |
| Universe | BTC, ETH, SOL, BNB, XRP, DOGE, ADA, LINK | USDT-M perpetuals, 24/7 |
| Mechanization | v1 — frozen 16 Jul 2026 | Any change = new version, documented |
4 · Why signals can't repaint
Every computation happens on confirmed bars; swing pivots confirm with a deliberate delay (a pivot needs neighbors on both sides, so it is only knowable k bars later — we accept that lag instead of pretending otherwise). The engine is deterministic: replaying the same data produces the same events, which the automated test suite enforces on every change. A signal, once logged, is immutable — the ledger has no update or delete path. Deep dive: no repaint, by design →
5 · Paper-ledger accounting
Every signal becomes a paper trade: fill at the FVG edge, stop beyond the sweep tip, target at the mapped liquidity, 48-hour expiry. Accounting is touch-based and pessimistic — if one bar touches both stop and target, it counts as a stop. Net results subtract modeled taker fees, slippage and funding via a cost model reused from a sibling research project. Why net bps is the only number we quote →
6 · What we measure — and what we can't
Claims are only trustworthy next to their complements. Both columns below are load-bearing:
| We do | We don't |
|---|---|
| Record every signal live, before its outcome (verify on the ledger) | Backtest-and-cherry-pick: there is no backtest anywhere on this site, by policy |
| Compute on closed bars, deterministically (G1 evidence) | Know the future: pivots confirm late on purpose, and lag is the price we pay |
| Model taker fees, slippage and funding into every net figure | See the order book: paper fills approximate queue position optimistically |
| Hold every pooled result to a duration-matched random-entry benchmark — pre-registered as gate G2, trigger pending | Claim the engine is profitable — that claim is exactly what G2 exists to test |
| Version every parameter change (changelog) | Pool results across versions, ever |
How a win is counted, precisely: a trade is a win only if the stored bracket's target is touched before its stop or its 48-hour expiry, with the pessimistic tie rule (a bar touching both counts as a stop). Everything else is a stop or an expiry. Costs don't decide the label — they are subtracted afterwards in every net figure, which is why a target-hit can still end up net-negative. There is no "first take-profit" trick and no "maximum favorable movement" accounting — why that matters →
7 · Limitations, stated plainly
- Paper fills are optimistic about queue position; live slippage can be worse than modeled, especially in fast markets.
- Samples are small until the evaluation trigger; pooled stats before that are descriptive, never predictive.
- The engine mechanizes one documented interpretation of ICT-style concepts; it is not "the" interpretation, and it may simply fail its evaluation — in which case we say so.