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
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.
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.
Forward trades happen after your rules are written. No hindsight, no cherry-picked window. It's the most honest test a strategy can face.
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.
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.
Run every idea here first, keep what works, and retire what doesn’t.
Send the alerts from every strategy and indicator you’re curious about: 40+ instruments across futures, gold, forex and crypto, with more coming.
Every signal is recorded live, in real market hours, with no money at stake. Duplicates filtered, nothing to journal by hand.
Rank them on a fair score, add your real slippage, and let the optimizer find the target, stop and hours that fit.
Move only the proven strategy to your live account, and keep it running here, so you see the moment its edge cools.
Pro-level analytics: a fair strategy ranking, Monte Carlo risk of ruin, Value at Risk and an execution optimizer.
Pinpoint the optimal profit target, stop, and time-filter from your actual forward-test history, not the noise of simulated fills.
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.
Identify the specific sessions and hours where your strategy outperforms, and the chop windows to avoid, without touching your signal logic.
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.
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.
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.
| Dimension | Backtesting | Forward testing |
|---|---|---|
| Market data | Historical (past) | Live, real-time |
| Overfitting risk | High | Much lower |
| Price source | Simulated fills | Live signal prices |
| Results credibility | Can be cherry-picked | Timestamped live |
| Time required | Minutes | Days to weeks |
| Capital at risk | None | None (paper) |
| Psychological realism | None | Real-time results |
Field notes on forward testing, execution parameters, and reading your own data honestly.
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.
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.
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.
A forward test without structure is just watching charts. Here is a systematic framework that turns observation into actionable data.
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.
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.
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.
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.
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.
A dashboard full of numbers means nothing if you do not know which metrics matter and which ones mislead.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Alt+A.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.
market_position and prev_market_position is read exactly: a declared scale-in adds, a declared flat closes.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")
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.
barmerge.lookahead_off and alert once per bar close.Connect your TradingView strategy to the dashboard with webhook alerts. Works with any platform that supports HTTP POST.
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.
Alt+Ahttps://pnlytics.io/webhook/YOUR_TOKENThe 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.
Upgrade when you need more strategies, alerts, or history. First 100 users lock in the Basic Founder's price*.
No card required · free forever
First 100 users keep $19/mo* · $25/mo after
Everything unlimited · full analytics suite
* 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.
Connect your strategies today, let the market sort them, and go live only with the one that earned it.
Start free, no card required