FOUNDER'S OFFER: FIRST 100 USERS LOCK BASIC AT $25 $19/MO LOCKED IN* Claim your spot →
Forward-testing analytics

Stop guessing.
Start proving.

Stop risking capital on unproven TradingView ideas. Forward-test every strategy side by side on live markets, net of your real slippage and fees, and go live only when your edge is proven.

● Free tier live · 30-day history · connects in minutes

NQ · STRATEGY EQUITY · EXAMPLE
$0 ▲ 0.0%
Example dashboard · 92 sessions · forward-tested
Win rate
63.4%
Profit factor
2.18
Max DD
-$6,840
Why forward testing

Backtests simulate. Forward tests validate.

Stop relying on curve-fit history. Verify your edge against live market volatility and timing, net of your real slippage, before the risk is real.

Live, the moment it happens

Every signal is captured the instant your alert fires: real market hours, real volatility, real timing. Add your measured slippage and see exactly what's left after costs.

Out-of-sample by default

Forward trades happen after your rules are written. No hindsight, no cherry-picked window. It's the most honest test a strategy can face.

Timestamped at the source

Every trade is recorded from the original alert the moment it arrives, with duplicates filtered automatically. Your track record builds itself. No journal to fudge.

Automated tracking

Alerts captured 24/7 via webhook with built-in dedup. If an alert can't be used, your dashboard tells you why and how to fix it. No manual logging, no human error.

How it works

From idea to live account, without paying the market to learn.

Run every idea here first, keep what works, and retire what doesn’t.

STEP 01

Connect every strategy

Send the alerts from every strategy and indicator you’re curious about: 40+ instruments across futures, gold, forex and crypto, with more coming.

STEP 02

Let them run, risk-free

Every signal is recorded live, in real market hours, with no money at stake. Duplicates filtered, nothing to journal by hand.

STEP 03

Compare & refine

Rank them on a fair score, add your real slippage, and let the optimizer find the target, stop and hours that fit.

STEP 04

Go live with the winner

Move only the proven strategy to your live account, and keep it running here, so you see the moment its edge cools.

The platform

Your strategy, measured from every angle.

Pro-level analytics: a fair strategy ranking, Monte Carlo risk of ruin, Value at Risk and an execution optimizer.

Flagship · Optimizer

The better version of your strategy is in your data.

Pinpoint the optimal profit target, stop, and time-filter from your actual forward-test history, not the noise of simulated fills.

  • Finds the profit target, stop, and trading hours that fit your strategy
  • Flags when your sample is large enough to trust the result
  • Apply a suggested setup to the simulator in one click
pnlytics.io/dashboard · optimizer · sample data
Strategy Optimizer: heatmap of daily profit target versus drawdown stop (sample data)
Live analytics

High-resolution performance monitoring.

The moment a signal fires, your equity curve, win rate, drawdown, and per-session breakdown update, served from pre-computed trades, so it loads fast.

  • Cumulative equity curve + daily bars, zero-based drawdown
  • Full trade log with duration and qty
  • Side-by-side comparison across 20 metrics, ranked by a fair score that rewards consistency, not a lucky streak
pnlytics.io/dashboard · daily P&L · sample data
Daily P&L: daily bars with the cumulative equity line and per-day statistics (sample data)
Edge discovery

Isolate the windows where your edge exists.

Identify the specific sessions and hours where your strategy outperforms, and the chop windows to avoid, without touching your signal logic.

  • Hourly P&L + win-rate in your own timezone
  • Day-of-week performance and overnight-session control
  • Spot the chop hours to sit out, then confirm on fresh trades
pnlytics.io/dashboard · time patterns · sample data
Time Patterns: P&L and win rate by hour of day (sample data)
Risk analytics

Know the worst case before it finds you.

Monte Carlo resampling, Value at Risk, and drawdown-event analysis turn your forward-test record into a real risk profile, so position sizing is a decision, not a guess.

  • Equity fan charts & risk-of-ruin simulation
  • Historical, parametric & conditional VaR
  • Drawdown-event table with depth, duration & recovery
pnlytics.io/dashboard · monte carlo · sample data
Monte Carlo: probability of profit, risk of ruin and a 5,000-run equity fan chart (sample data)
Monthly view

Every month, and every day, at a glance.

Monthly P&L with a running total, plus a trading calendar that shows each day's result and your weekly totals. Click any month to drill straight into its days.

  • Monthly bars + cumulative line that honor every filter
  • Day-by-day P&L calendar with weekly totals
  • Included free on every plan
pnlytics.io/dashboard · monthly P&L · sample data
Monthly P&L: monthly bars with the cumulative P&L line (sample data)
Pick the winner · Pro

From 20 strategies to the one that deserves your money.

Every strategy you run lands in one table, ranked by a fair score that rewards steady profit per dollar of drawdown, not a lucky streak or a short hot run.

  • Short records are discounted until they prove themselves
  • Enter your real slippage so a winner is still a winner after costs
  • Recent Edge flags when a strategy’s last 30 trades go cold
pnlytics.io/dashboard · comparison · sample data
Comparison Stats: strategies ranked by the Normalized score (sample data)
Forward vs backtesting

Both have a place. Only one is proof.

DimensionBacktestingForward testing
Market dataHistorical (past)Live, real-time
Overfitting riskHighMuch lower
Price sourceSimulated fillsLive signal prices
Results credibilityCan be cherry-pickedTimestamped live
Time requiredMinutesDays to weeks
Capital at riskNoneNone (paper)
Psychological realismNoneReal-time results
35+
Webhook field formats auto-detected
24/7
Automated capture, zero manual logging
40+
Instruments & counting: futures, gold, forex & crypto
Free
Download all your data anytime, on every plan
Webhook in
TradingViewnativeTrading botsCustom scripts+ anything that POSTs JSON
The quantitative edge

Build the edge before you build the position.

Field notes on forward testing, execution parameters, and reading your own data honestly.

Psychology

Why Most Traders Skip Forward Testing (And Pay the Price)

Backtesting feels productive. Forward testing feels slow. But the traders who survive their first year almost always did one thing differently.

Every trader discovers backtesting early. You load up historical data, tweak a few parameters, and watch the equity curve climb. It feels like progress. The numbers look good. You feel ready.

Then you go live, and everything falls apart.

The gap between theory and execution

Backtesting answers one question: "Would this strategy have worked in the past?" But it ignores the two variables that actually determine whether you make money: your execution discipline and your emotional response to real losses.

Forward testing bridges that gap. It forces you to watch your strategy operate on live data, in real time, with no ability to skip ahead or adjust parameters after the fact. Every trade is timestamped. Every result is permanent.

Why traders avoid it

  • It takes time. A meaningful forward test needs 50–100 trades, which can take weeks or months depending on your strategy.
  • It reveals uncomfortable truths. That 75% win rate from backtesting might drop to 58% in live conditions.
  • It requires patience. You cannot fast-forward the market. You have to sit with uncertainty while the data builds.

The reward for patience

Traders who complete a proper forward test (at least 50 trades with documented results) have something rare: evidence. Not a curve-fitted backtest. Actual, verified, timestamped proof that their strategy works in current market conditions. That evidence becomes your conviction when the inevitable drawdown arrives. And drawdowns always arrive.

Guide

How to Set Up a Proper Forward Test in 5 Steps

A forward test without structure is just watching charts. Here is a systematic framework that turns observation into actionable data.

Step 1: Define your rules before you start

Write down every entry condition, exit condition, position size rule, and time filter before running a single trade. If the rules are not specific enough to automate in TradingView, they are not specific enough to test.

Step 2: Choose your sample size

Decide in advance how many trades you need before evaluating. A minimum of 50 trades is recommended for statistical relevance, though 100 gives much stronger confidence. Commit to this number before you start, not after the first losing streak.

Step 3: Automate the logging

Manual trade journals introduce bias. You forget to log losing trades, round numbers in your favor, or skip days when you were distracted. Automated webhook capture eliminates all of these problems.

Step 4: Track more than just P&L

Track win rate by time of day and by day of week. Look at maximum drawdown. Identify which sessions are profitable and which are consistently negative. This granular data tells you where to optimize.

Step 5: Review weekly, decide monthly

Check your dashboard weekly to stay engaged, but do not make strategy changes based on a single week of data. Wait until you hit your target sample size, then review the full picture.

Strategy

What Your Forward Test Data Is Really Telling You

A dashboard full of numbers means nothing if you do not know which metrics matter and which ones mislead.

Profit factor: your single most important number

Profit factor is gross profit divided by gross loss. Above 1.0 means net profitable. Above 1.5 is solid. Above 2.0 is excellent. If your forward test shows a profit factor below 1.0 after 50+ trades, the strategy is not working in current conditions, regardless of what the backtest showed.

Win rate is overrated (sometimes)

A 40% win rate strategy can be highly profitable if the average win is three times the average loss. Conversely, a 70% win rate strategy can lose money if one bad trade wipes out ten small wins. Always look at win rate alongside average win and average loss size.

Maximum drawdown is your reality check

Your backtest might show 5% max drawdown; your forward test shows 12%. That gap is the difference between simulated fills and real conditions. The forward-test drawdown is the number to use for risk management.

Hourly patterns reveal hidden edges

If your hourly analysis shows consistent losses between 12 PM and 1 PM, consider turning off alerts during that window. This single optimization can dramatically improve performance without changing the core logic. Just confirm it holds on fresh trades before you rely on it.

Strategy

Why Every Strategy Has a Better Version of Itself

A 35% win rate is not necessarily a bad strategy. It might just be running at the wrong time, taking profits too early, or holding through drawdowns it should have cut.

The hidden variable: execution parameters

Most traders spend all their time optimizing entry signals. But the entry is only half the equation. When to take profit, when to cut losses, and which hours to trade often has a bigger impact on the bottom line than the signal itself.

The right profit target changes everything

No target means you capture big winners but give back gains on reversals. Too tight caps your upside. The optimal target depends on your strategy's average win size, its tendency to give back gains, and how often it produces outlier days.

Drawdown stops protect capital (if set correctly)

A daily drawdown stop prevents one bad session from erasing a week of gains. Too tight and you stop out of trades that would have recovered; too loose and it never triggers. The right stop is specific to your loss distribution.

Time windows: the most underused edge

A strategy that loses from 12–2 PM but prints from 9–11 AM is not a bad strategy. It is a good strategy running during bad hours. Restricting to profitable hours can turn a breakeven strategy into a profitable one, as long as the edge holds up on new trades you didn’t optimize on.

How much data do you need?

Under 50 trades, you are reading tea leaves. At 100, patterns stabilize. At 200+, you can trust the recommendations. Collect at least 200 forward-test trades, then optimize, and keep testing to verify the parameters hold.

Tutorial

How to Forward-Test a TradingView Indicator (Usually No Coding Needed)

Indicators work too. If your indicator already has alerts, you can send its buy and sell signals to Pnlytics without changing a line of code.

Option 1: Use the indicator’s own alerts (most indicators)

Most indicators come with alert conditions such as “Buy signal” and “Sell signal”. Create one TradingView alert for each, and type a message that tells Pnlytics what happened.

  1. Add the indicator to your chart and press Alt+A.
  2. In Condition, pick the indicator and its buy signal.
  3. Paste the buy message below into the Message box, turn on Webhook URL and enter your Pnlytics URL.
  4. Repeat for the sell signal with the sell message, and for an exit signal if the indicator has one.
MyIndicator: {"ticker": "{{ticker}}", "action": "buy",  "price": "{{close}}"}
MyIndicator: {"ticker": "{{ticker}}", "action": "sell", "price": "{{close}}"}
MyIndicator: {"ticker": "{{ticker}}", "action": "exit", "price": "{{close}}"}

Use the same name before the colon in every alert so the trades land in one strategy.

How the trades are counted

  • Buy and sell only: the indicator is treated as always in the market. A sell closes the long and opens a short, and a buy does the reverse.
  • With an exit alert: the position goes flat until the next signal.
  • Repeated signals: a second buy while already long replaces the entry and is listed under Alert issues as a possible missed exit, so a signal that fires every bar does not stack positions. A strategy alert that sends market_position and prev_market_position is read exactly: a declared scale-in adds, a declared flat closes.

Option 2: The indicator has no alerts

If you can edit the script, add one line per signal, save, and then follow Option 1:

alertcondition(buySignal,  title="Buy signal")
alertcondition(sellSignal, title="Sell signal")

Option 3: Convert it to a strategy

Convert only if you want TradingView to handle exits, stops and position sizing for you. Change the declaration and turn signals into orders:

strategy("My Signal", overlay=true,
     default_qty_type=strategy.fixed,
     default_qty_value=1,
     calc_on_every_tick=false)

if buySignal
    strategy.entry("Long", strategy.long)
if sellSignal
    strategy.entry("Short", strategy.short)

A strategy sends one alert for every order, using {{strategy.order.action}} in the message. See the webhook guide below.

Common pitfalls

  • Repainting: signals that change after the bar closes look better on the chart than they trade live. Use barmerge.lookahead_off and alert once per bar close.
  • Missing messages: if an alert does not reach your dashboard as a trade, check Settings → Alert issues. It shows what arrived and how to fix it.
Tutorial

How to Set Up Webhook Alerts for Forward Testing

Connect your TradingView strategy to the dashboard with webhook alerts. Works with any platform that supports HTTP POST.

Alert message format

TradingView alerts support placeholders replaced with real values when the alert fires:

StrategyName: {"ticker": "{{ticker}}", "action": "{{strategy.order.action}}", "price": "{{strategy.order.price}}", "contracts": "{{strategy.order.contracts}}", "market_position": "{{strategy.market_position}}", "prev_market_position": "{{strategy.prev_market_position}}"}

The name before the colon identifies the strategy; the JSON carries the trade details. The action must be buy, sell or exit (or a common alias such as long, short, close, take_profit, stop_loss) and the price above zero. The last three fields are optional: with them Pnlytics tells a scale-in from a missed exit and a partial exit from a full one.

Step-by-step setup

  1. Add your strategy to a chart and press Alt+A
  2. Select your strategy in the Condition dropdown, set it to "Order fills only"
  3. Paste the JSON template into the Message field
  4. Enable Webhook URL and enter https://pnlytics.io/webhook/YOUR_TOKEN
  5. Set expiration to Open-ended and click Create

Supported platforms

The webhook accepts POST JSON from any source and normalizes 35+ field-name variations: TradersPost, 3Commas, Bybit, Alpaca, and custom bots work without format changes. Then watch the trade appear in Recent Trades within seconds. If an alert can’t be used, say a ticker we don’t support yet, your dashboard tells you exactly why.

Pricing

Start free. Scale when you're ready.

Upgrade when you need more strategies, alerts, or history. First 100 users lock in the Basic Founder's price*.

Free

$0/mo

No card required · free forever

  • Strategies 3
  • Alerts / month 100
  • History 30 days
  • Real-time webhooks ✓
  • Daily & Monthly P&L + Trades ✓
  • Download your data ✓
  • Time Patterns (hourly & day of week) ✕
  • Target P&L ✕
  • Comparison / Risk / MC ✕
Sign up free

Pro

$49/mo

Everything unlimited · full analytics suite

  • Strategies Unlimited
  • Alerts / month Unlimited
  • History Unlimited
  • Cost Tolerance ✓
  • Comparison Stats ✓
  • Risk & Monte Carlo ✓
  • CSV import / export ✓
  • Strategy Optimizer ✓
Start Pro

* Founder’s price: $19/mo for the first 100 Basic subscribers, kept for as long as your subscription renews without a break and we offer the Basic plan. If we ever discontinue the plan, you’ll get 30 days’ notice and no further charges. See Terms.

Don’t gamble real money on unproven theories.

Connect your strategies today, let the market sort them, and go live only with the one that earned it.

Start free, no card required