Signal extraction, not screenshots
Messages are parsed into instrument, direction, entry or entry zone, stop-loss and targets. Follow-ups (“TP1 hit”, “move SL to breakeven”, “cancel the order”) are linked back to the signal they belong to.
Backtester.app reads the posts of a trading channel, turns its signals into testable trades, and simulates every entry, stop-loss and target against historical minute-level bid/ask candles. You get an honest report — including the signals that never became trades.
Registration is open. Access is activated manually on Telegram by @backtester_admin.
Win rates are quoted without the losing calls, the unfilled orders or the spread. This tool starts from the channel’s own messages and a fixed, published set of execution rules, then shows every outcome — including the ones that never became trades.
Messages are parsed into instrument, direction, entry or entry zone, stop-loss and targets. Follow-ups (“TP1 hit”, “move SL to breakeven”, “cancel the order”) are linked back to the signal they belong to.
Trades are simulated on 1-minute bid/ask candles from Dukascopy. A long buys at the ask and sells at the bid; a short does the opposite. Slippage and commission are explicit settings, stored with each run.
A message the parser cannot read confidently is reported for review, never traded. Statistics cover resolved trades only, and every unresolved bucket is shown next to them.
The pipeline is deterministic and each step is inspectable in the finished report.
Only the selected channel and only the chosen period, from 1 July 2025 onward.
Signals and their follow-ups are extracted, with explicit ambiguity flags.
Entries, stops, partial targets and updates are applied to historical candles.
Aggregate metrics plus a temporary trade-level report with an expiry.
Definitions are fixed before a run, so two channels are compared on the same basis.
Backtest results depend on execution assumptions. These are the ones this engine makes — and they are printed in every report.
Market orders fill at the next candle open. A gap through a level fills at the open, never at an invented price. Limit orders expire after the configured validity window and are reported as not filled.
If a stop and a target are touched inside the same minute, the intrabar order is unknowable. The run uses an explicit policy — conservative (stop first) by default — and reports how many trades it affected.
Spread is measured per minute from the bid/ask data. Slippage and commission are configured per run. Swap, broker execution quality and liquidity limits are not modelled.
Raw messages and extracted signals exist only in an isolated per-job workspace while the backtest runs. They are deleted when the job finishes, fails or is cancelled, and a cleanup process removes anything left behind by an interrupted job.
Registration is open, but the service is not: every new account starts as pending and cannot run backtests until it is activated.
There is no payment flow. Beta access is approved manually and can be revoked if the service is abused.
| Item | Limit |
|---|---|
| Distinct Telegram channels | 1 per day |
| Historical months validated | 1 per day |
| Queued or running jobs | 2 per user |
| Concurrent jobs | 1 per user |
| Features | Standard deterministic parsing |
| Daily reset | 00:00 UTC |
Need more? Ask @backtester_admin for full access; limits are configured per account.