Three common starting points. Click a card to jump straight to what you need. New here? The fastest path for any persona is to import a preconfigured layout from Discord — see Shared Layouts.
Submit your TradingView username. Sent automatically with your welcome email. Scripts are typically granted within 24 hours.
Accept the invitation. Open the invite link in your inbox to enable script access in TradingView.
Load the tools. In TradingView open the path below. Every tool you have access to appears ready to deploy.
Configure for your style. Set asset class and trading style — the tools auto-tune internally. Manual overrides available for power users.
Paper trade first. Run in simulation for at least a week before going live. Verify the signals match your expectations.
Pro tipIf you're new, jump straight to Setup Recipes below. They give you concrete starter configs for the most common cases — Apex eval, MNQ day trading, manual indicator-only.
You do not have to figure out the "best" settings yourself. Our team and the community publish complete TradingView layouts — preconfigured charts with the indicators, strategies, inputs, sessions, and timeframes already dialed in. Import a layout, save it as your own, and you're ready in under two minutes. This is the fastest path from zero to running.
What is a layout?A TradingView chart layout is a saved snapshot of one or more charts: the instrument, the timeframe, the timezone, every indicator and strategy on the chart, every input setting, every session filter, every drawing, and the multi-pane arrangement. Loading a shared layout in your TradingView account reproduces that exact setup on your screen instantly — no manual configuration.
Where to find layouts in Discord
📌 Official Layouts
Maintained by the Paradox Algo team. These are the validated layouts that match the configurations we publish backtests against. Updated whenever a strategy version ships or a major prop firm rule changes. Start here if you want the "we tested this exact config" path.
Find it under the #official-layouts channel in Discord.
💬 User Shared Layouts
Posted by members of the community. Often tuned for specific use cases — a particular prop firm eval, a specific instrument, a unique market regime, or a personal style preference. Read the original post before importing — the author usually explains who it's built for and what tradeoffs they made.
Find it under the #user-shared-layouts channel in Discord.
How to import a shared layout
Layouts are shared as TradingView links. The flow takes under two minutes:
Open the layout link. In Discord, click the layout URL in the post. TradingView opens in your browser with the chart and all its settings already loaded — but at this point you're viewing the author's layout, not editing it.
Save it to your account. In the top-right of TradingView, click the cloud icon (Save Layout) → pick "Save As..." → give it a name you'll recognize (e.g. Paradox Apex Eval — my copy). The layout is now in your personal Chart Layouts list under your account.
Confirm the indicators / strategy are on the chart. Look at the bottom panel — you should see the Strategy Tester populated and any indicators visible. If they're missing, your account doesn't yet have access to those scripts (check your Pro tier and TradingView username in your account portal).
Inspect the inputs before going live. Click the gear icon next to each indicator/strategy → review the input panel. The layout author has already set everything — but it's still your responsibility to know what you're running. Spend two minutes reading the inputs.
Set up your alert. If the layout is for automated execution, create the webhook alert (Condition: Any alert() function call) as described in Webhook Setup. Layouts do not include alerts — alerts are per-user.
Run the 3-Gate ladder. Even with a community-validated layout, follow the Three-Gate ladder. Don't skip Paper just because someone else's backtest looks good.
Always "Save As" — never edit the originalIf you make changes to a layout you opened from someone else's link without first saving your own copy, your edits will be lost on refresh. The first thing you do after opening any shared layout is Save As with a new name. Make sure the name in the top bar is yours, not the author's, before you start customizing.
Why layouts beat manual configuration
Zero setup time. No hunting through input panels, no copy-pasting numbers from a recipe.
Reproducibility. Backtests published with a layout are reproducible by anyone who imports it — you know you're running the exact configuration that was tested.
Updates flow automatically. When the official team ships a new strategy version, an updated layout is posted alongside. You re-import once and you're current.
Community knowledge. Member-shared layouts often reveal use cases the official team hasn't published (specific eval firms, exotic instruments, unique session windows).
Safer for new users. Reduces the risk of misconfiguring an input you didn't realize mattered.
Want to share your own?If you've built a layout that performs well for a specific use case, post it in #user-shared-layouts with: (1) the TradingView share link, (2) the instrument and timeframe, (3) the use case (eval firm, style, etc.), and (4) the Strategy Tester results screenshot from your timeframe. Community contributions are how this library grows.
Reference setups for common use cases. Treat these as starting frames — not prescriptions. Every trader's instrument, account size, broker, and risk tolerance is different, so adapt the recipe to your situation, validate in backtest, and use a shared layout from Discord whenever possible to start from a known-good configuration.
Use Manual Brackets: OFF (volatility-scaled brackets adapt as the market regime shifts)
Trail Trigger / Distance: Balanced preset defaults — trail locks profit once the trade has run roughly 0.6σ; profit-protect band sits 0.3σ behind peak price
Recovery Period: 4 bars after a loss (wall-clock time scales with your chart timeframe)
Active Hours: 0830-1500 Chicago (full RTH window)
Routing: PickMyTrade → Tradovate (best for futures-only setups)
Alert Condition: Any alert() function call (this is the ONLY setting you configure in TradingView — frequency is built into the strategy)
σ = sigma, the strategy's volatility unit. The bracket adapts automatically as σ changes throughout the day. Glossary →
Instrument: MES1! recommended (Micro S&P — $1.25/tick), or MNQ1! / ES1! if your account supports it
Timeframe: use the official Kairos preconfigured layout from Discord (recommended — guarantees you're on a validated configuration) or pick a chart timeframe you've validated yourself
Profile: leave the default — v1.3 ships pre-tuned with our optimized configuration active out of the box (Profile = Custom). Conservative / Balanced / Aggressive remain available as opt-in presets; the dashboard shows "preset locked" vs "CUSTOM" so you always know which is driving
Session: Active Hours 08:30–11:30, Session Timezone New York, Weekday Filter ON (Mon–Fri) — the NY morning liquidity burst. Full-RTH alternative: 08:30–15:00 ET. See Kairos v1.3 session settings
Daily Risk Limit: $500 (start strict; raise only after a 20-session green streak)
Daily Profit Target: 0 (disabled by default — turn on if your prop firm requires a specific daily target)
Loss Circuit Breaker: 2 — after 2 consecutive losses it halts new entries for the remainder of the day, then resets at the next session (or on a win)
Recovery Period: 6 bars after a loss before the strategy is allowed to re-enter (wall-clock time scales with chart timeframe)
Stop-Loss Order Type: Stop (default) — all routing providers accept it. Use Stop-Limit only if your broker supports it and you've tested in paper
Contracts: 1 to start (scale up only after a live equity curve confirms the setup)
Routing: PickMyTrade or TradersPost — both native dropdown options in v1.3 (QuantLynk is not supported for Kairos; why →)
Alert Condition: Any alert() function call (the only TradingView alert setting to configure — frequency is built into the strategy)
Upgrading from v1.2? Tuned v1.2 configurations don't carry over — the signal engine changed in v1.3. Start from the shipped defaults (or re-tune), and re-create the alert from scratch. See Kairos Scalper v1.3.
Always paper-trade firstThese are starter configs — not signed guarantees. Run every recipe in paper for at least one week and verify it behaves the way you expect before going live with real capital.
Paradox Algo is a quantitative trading ecosystem for TradingView. Three automated strategies, six manual indicators, and an AI strategy optimizer — all built on advanced statistical models and institutional finance principles. Designed to work across crypto, forex, stocks, and futures markets, our models analyze the context of a move (volatility regimesVolatility regime: the market's current personality — quiet, normal, or wild. The algo measures it in real time and adapts its risk to match., order-flow imbalancesOrder-flow imbalance: when one side of the order book is consistently being absorbed faster than the other. Often a leading signal for big moves., liquidity zones) instead of relying on simple crossover signals.
The indicator suite is purpose-built for discretionary traders who read the market themselves. Each indicator surfaces a different dimension of price action — trend, momentum, regime, structure, edge — so you can layer them into an approach that fits your style. No prescribed strategy: you decide which combination of signals warrants an entry, your own stop placement, and your own targets.
SignalWaveMomentum-exhaustion oscillator with zero-config setup. Auto-tunes internally. Paints clear BUY/SELL labels at reversals with adaptive volatility cloud, momentum flow ribbon, and multi-timeframe confirmation.
EdgeFlowNormalized momentum oscillator on a clean −1 to +1 scale. Auto-tunes across markets. Multi-layered gradient heat-map makes intensity instantly readable. Threshold crossings fire discrete entry signals — no manual calibration required.
DeepWaveVolatility regime detector. Tells you when to trade — not which direction. Classifies markets into discrete volatility states with entry-filter logic, real-time dashboard, and visual spike warnings. The meta-filter every other indicator is missing.
TrendScoreQuantifies trend quality on a 0–100 scale. Stop trading chop. Built for systematic traders who need clean trend/no-trend classification and swing traders who want to eliminate whipsaw entries during consolidation.
QuantumFlow SMC/ICTSmart Money Concepts auto-mapper. Order blocks, fair value gaps, liquidity sweeps, and premium/discount zones — drawn for you in real time. Stop chasing structure; let the indicator surface it.
Nova AI TraderAdaptive ML system processing real-time volatility, flow, and structure data to dynamically rank setups. Ranks setups by historical edge so you focus on the highest-probability conditions.
Fastest start for manual tradersImport a preconfigured indicator layout from Discord (see Shared Layouts). The official and community channels publish indicator-only chart layouts with sensible defaults, complementary indicator combinations, and clean visual hierarchies. Save a copy to your account and customize from there — you'll be reading the market in minutes instead of spending an hour setting up six indicator panes.
Three strategies, three different jobs. Each is a fully automated TradingView strategy with its own input panel, prop-firm framework, and webhook payload builder. Pick by use case:
Paradox Algo All Tiers
Flagship multi-factor confluence engine. Wide market coverage — evaluates trend, momentum, flow, structure, regime, and participation across multiple timeframes. Entries fire only when enough factors agree.
Best for: futures day traders who want a versatile baseline. Default cadence: 1-5 trades per session. Adaptive risk brackets, full prop-firm framework (daily caps, multi-day trailing DD, NY-anchored reset), webhook routing to PickMyTrade or TradersPost.
Typical use: futures intraday (MNQ / NQ / ES / MES). Works across timeframes — pick the one you've validated, or import a shared layout from Discord.
Quantum Edge Pro-Only
Mean-reversion precision engine. Tighter, more selective entries that fade overextended moves, built around smoothed dual price-action layers plus a volatility gate that auto-exits dangerous spikes before they hit your stop.
Best for: traders who find Paradox Algo's confluence net too wide in high-volatility sessions. Quantum Edge under-trades by design — fewer setups, higher per-trade conviction, no chasing.
Typical use: high-volatility news days, momentum sessions, when you want the strategy to skip rather than risk a marginal setup.
Kairos Scalper Pro-Only
Production-grade scalper built specifically for the NY morning liquidity burst. Multi-factor confluence on a tighter time horizon — entries fire only above a high conviction threshold, and v1.3's entries are direction-aware: the algo waits for pullbacks instead of chasing extended price.
Best for: traders who want a focused scalp window (typically 8:30–11:30am ET, Mon–Fri) on the micros. Adaptive brackets, post-loss cooldowns, pre-tuned out of the box (presets optional), and an Advanced Engine for power users.
Typical use: futures scalping (MES / MNQ / ES). Import the official Kairos layout from Discord for the validated configuration.
Can I run all three at once?Yes, but each on its own chart with its own alert. Many Pro members run Paradox Algo across the full session, Kairos on a separate chart during the morning window, and treat Quantum Edge as their "skip if not perfect" fallback. The easiest setup is to import the multi-strategy layout from Discord (see Shared Layouts). Just make sure your max-contracts plan accounts for the worst-case all-three-fire-at-once exposure.
Stratera is our macOS desktop app. Load any TradingView strategy, set your target metrics (SharpeSharpe ratio: reward per unit of risk. Higher is better. Anything above 1 is solid; above 2 is rare in trading., profit factor, net profit, max drawdown, win rate), click Optimize. Stratera autonomously runs thousands of adaptive backtests in the background — experimenting with input configurations until it finds the combo that maximizes your target.
What Stratera does
Loads any TradingView Pine strategy you have access to — Paradox products or your own
Reads your input panel and presents every tunable parameter as a search dimension
Outputs a ranked list of configurations with full report data for each
Lets you save the winning config back to your TradingView strategy with one click
System requirements & install
OS: macOS 12 (Monterey) or later. Apple Silicon (M1+) recommended. No Windows version currently planned.
RAM: 8GB minimum, 16GB recommended for long historical sweeps
Disk: ~250MB for the app itself; sweeps cache locally and clear on demand
TradingView plan: any paid tier (Essential+). Stratera needs your browser-logged-in TradingView session for chart data — keep TradingView open in your default browser while Stratera runs
Subscription: active Pro membership. Stratera verifies your tier on launch via your account email
Common workflow
Open TradingView in your default browser. Load the chart and strategy you want to optimize.
Launch Stratera. Sign in with your Paradox account email if prompted.
Click Connect to TradingView. Stratera will detect your active chart and strategy.
Pick a target metric (Sharpe, Net Profit, Profit Factor, Max Drawdown). Optional: lock certain inputs you don't want optimized.
Click Optimize. Stratera runs in the background — you can keep using TradingView while it works.
Review the ranked results panel. Pick a winner, click Apply to TradingView, and the strategy's input panel updates automatically.
Why optimize locally?Your strategy parameters stay on your Mac. Nothing is uploaded, nothing is shared, nothing is logged on our side. Privacy and IP protection built in.
Watch for curve-fitOptimized configurations always look better in-sample. Always run the winning config on out-of-sample data (the last 6 months you didn't include in the sweep) before going live. If out-of-sample P&L drops more than 30% vs the sweep, the configuration is overfit — pick a less aggressive runner-up.
v7.2 is a drop-in upgradev7.2 is an automation-layer update — the signal engine, entries, and exits are unchanged from v7.1. Existing users can load v7.2 onto their current chart with no new layout or setup required. Everything below is about webhook routing, risk-control behavior, defaults, and clarity — nothing about how trades are generated.
Webhook & broker automation
Providers streamlined to three fully supported destinations — PickMyTrade (recommended), QuantLynk, and Custom Template. Cleaner dropdown; TradersPost moves to the order-fills method (intentionally not a built-in option).
Every provider payload corrected and verified so orders route exactly as each provider expects.
QuantLynk credentials now map automatically — enter your QuantLynk User ID in Auth Token / API Key and your Alert ID in Account ID; the payload puts each in the right field (qv_user_id / alert_id).
PickMyTrade payload improved — guaranteed strategy-mode market-order handling, with the full bracket (entry, take profit, stop loss, trailing stop) delivered in a single alert.
Custom Template "Flatten Word" setting added — match any provider's exact close keyword (e.g. close or exit) so force-exits flatten correctly on any broker.
Verified live end-to-end on PickMyTrade → Tradovate: market entry, bracket placement, broker-side trailing stop, and automatic cancellation of the remaining bracket order after an exit.
Risk controls
Loss Circuit Breaker resets automatically at the start of each session — a losing streak can no longer leave the strategy paused longer than intended.
Daily Loss Cap now tracks live floating P&L, not just closed trades — an open position moving against your limit can trigger protection before it closes. This matches how prop firms evaluate accounts.
New default settings (optimized for MNQ 3-minute)
Input
New default
Contracts
1
Target Multiplier
3.5
Risk Multiplier
3.5
Confluence Gate
5
Max Trades per Day
3
Daily Loss Cap
$700
Multi-Day Window
30 days
Existing users keep their saved settings — these apply to new chart loads only. The Setup Recipes still recommend their own values where a specific goal calls for it (e.g. prop-firm caps with a safety buffer).
Setup & clarity
Every input tooltip rewritten in plain English, including per-provider field mapping and the recommended alert configuration.
Alert setup, built-in providers (PickMyTrade, QuantLynk, Custom Template): set the TradingView alert Condition to Any alert() function call and leave the Message box empty — the strategy supplies the full payload. Fill in your Auth Token and Account ID in the strategy inputs before creating the alert. Full walkthrough →
Alert setup, TradersPost: follow TradersPost's documented setup instead — their JSON in the alert Message box with Order fills only.
Reminder: a blank Auth Token or Account ID is the most common cause of alerts never reaching your broker. Enter credentials in the strategy inputs first, every time.
Carried over from v7.1: zero-repaint confirmed-bar execution, per-timeframe regime-flip exits, the adaptive volatility trailing stop, the prop-firm P&L engine, persistent exit + cancel-all on reconnect, and the grouped input panel.
Upgrading from v1.2? Your tuned settings don't carry over.The signal engine changed in v1.3, so v1.2-tuned configurations are not transferable. Start from the shipped defaults (recommended) or re-tune from scratch — and re-create your TradingView alert either way.
Ships pre-tuned. Profile now defaults to Custom with our optimized configuration active out of the box — no setup needed beyond the broker connection. Conservative / Balanced / Aggressive remain as opt-in presets.
Profile lock, made visible. The dashboard shows "preset locked" vs "CUSTOM" — custom input values only take effect on the Custom profile (or with Advanced Tuning enabled).
Direction-aware entries. v1.3 waits for pullbacks instead of chasing extended price.
Smarter confluence scoring. Scoring now requires agreement across independent signal dimensions — the Confluence Gate is a true selectivity control.
Session settings rebuilt — the old session string is gone (see below).
Provider list is now 3 options — PickMyTrade, TradersPost, Custom Template (see below).
PickMyTrade entries are explicit market orders (order_type: MKT) — no action needed on your side; this eliminates limit-order ambiguity at entry.
Loss Circuit Breaker, clarified: when it trips, it halts new entries for the remainder of the day and resets at the next session (or on a win).
Fixed: the v1.2 issue where the circuit breaker could halt a backtest permanently.
The input panel at a glance
Open the strategy's settings (gear icon on the chart) and you'll move through these groups top to bottom — everything in this section lives in one of them:
Profile — the preset selector. Ships on Custom with the optimized configuration already active; switch to Conservative / Balanced / Aggressive only if you deliberately want a preset driving instead.
Session — Active Hours, Session Timezone, and the Weekday Filter with its Mon–Sun checkboxes (detailed below).
Risk controls — Daily Risk Limit, Daily Profit Target, Loss Circuit Breaker, Recovery Period, and the prop-firm compliance fields (daily reset hour, trailing drawdown, force-close).
🔗 Webhook & Broker — the Webhook Provider dropdown (PickMyTrade / TradersPost / Custom Template), the Auth Token and Account ID fields, and the Custom Template box.
Advanced Engine — power-user tuning, including the new Wick Sensitivity control: raise it to filter out noisier wick-driven signals, lower it to let more through. Inputs here (and any custom values) only take effect on the Custom profile or with Advanced Tuning enabled.
The on-chart dashboard is your live status readout. Alongside the session and P&L state, it always shows which configuration is actually driving: "preset locked" means a preset is in control and your manual inputs are ignored; "CUSTOM" means your own input values are live. If you ever change an input and nothing happens — check this readout first; you're almost certainly on a locked preset.
Providers — what changed and why
Kairos v1.3's Webhook Provider dropdown has exactly three options: PickMyTrade, TradersPost, and Custom Template. Note this differs from Paradox Algo v7.2 — for Kairos, TradersPost is a native dropdown option with full JSON support.
Provider
TradingView Alert Condition
Message box
Broker-side bracket
PickMyTrade
Any alert() function call
leave empty
Full — TP + SL + trailing; entries as explicit market orders
TradersPost
Any alert() function call
leave empty
Full — native Kairos JSON, brackets delivered at entry
Custom Template
Any alert() function call
leave empty
Depends on your bridge — verify in paper first
The acceptance bar for a native providerOnly providers that support Kairos's full execution model — market entry plus per-trade adaptive take-profit, stop, and trailing stop, all held broker-side from the entry payload — get native JSON in the dropdown. Anything less means exits that can diverge from the backtest, and that's not a trade-off we ship.
QuantLynk — removed for Kairos. Its webhook can't carry stop / target / trailing data, and Kairos's exits live in broker-side brackets delivered at entry. Routed through QuantLynk, positions would sit unprotected at the broker and desync from the strategy. (QuantLynk remains supported for Paradox Algo v7.2, which manages its exits differently.)
Generic (Universal) — removed. It was redundant with Custom Template.
CrossTrade — evaluated, not supported. It carries TP/SL but not per-trade trailing, so live exits would diverge from the backtest.
Custom Template users: keep the {token} / {account} placeholders in the template itself and put your real credentials in the Auth Token and Account ID input fields — don't hardcode credentials into the template. The placeholder list now also includes {trail_enable}, {trail_offset}, and {trail_act}, and {sl_type} can resolve to trailing_stop.
Session settings — fully rebuilt
The old session string (e.g. 0800-1200:23456) is gone. v1.3 replaces it with a proper UI in the Session group of the input panel. Top to bottom, here's exactly what you'll find and what each control does:
Active Hours — a start-time and end-time pair defining your trading window (e.g. 08:30 → 11:30). The strategy only opens new positions inside this window; outside it, signals are ignored.
Session Timezone — a dropdown with six options: New York, Chicago, London, Tokyo, Sydney, UTC. Your Active Hours are interpreted in this timezone — not your chart's timezone and not your computer's. Set it once to your market's home exchange and your window stays correct year-round, DST included.
Enable Weekday Filter — a toggle. Switched ON, the Mon–Sun checkboxes below it become active and the strategy only trades on checked days. Switched OFF, every day of the week is eligible.
Mon–Sun checkboxes — one per day. The typical futures setup checks Mon–Fri and leaves Sat/Sun unchecked.
24/7 markets (crypto): check Sat + Sun and turn the weekday filter OFF — or set Active Hours to 00:00–23:59.
Daily counters follow your timezone. Daily P&L, the trade limit, and the circuit breaker all reset at the selected timezone's day boundary — not your chart's.
Instrument
Recommended Active Hours
Notes
MNQ / ES — open drive
08:30–11:30 ET
the core Kairos window
MNQ / ES — full RTH
08:30–15:00 ET
longer exposure, more trades
CL
08:30–13:30 ET
pit-session liquidity
BTC / crypto
00:00–23:59
weekday filter off, Sat + Sun checked
Prop-firm traders: check your firm's frequency rulesKairos is a high-frequency scalper — trade counts can clash with some prop firms' consistency or frequency rules. Read your firm's rulebook before running it on an eval, and consider the flagship Paradox Algo strategy as the steadier choice for evaluations.
Alert setup is unchanged: Condition = your strategy + Any alert() function call, Message box empty, fires once per bar close. Backtest disclaimers also unchanged — use a fixed-month contract for reproducible backtests.
A few things differ between the Strategy Tester and live execution — all of them normal. Knowing them up front prevents the usual "this is repainting / the script is broken" confusion.
Fires on confirmed bar close. Signals are only emitted when a bar closes — never intra-bar. This is exactly what makes the strategy non-repaint: backtest and live both act on the same confirmed bar, so the report matches reality.
Timestamps: bar-open label, bar-close fill. TradingView labels each trade by the bar's open time, but the fill happens at the bar close. A trade stamped 9:30 on a 3-min chart actually filled at that bar's close (~9:33). Your broker's fill log is the source of truth for the real fill time — not the TradingView label.
Webhook latency is normal. Expect sub-second to a few seconds from bar close to broker fill, sometimes longer under heavy load. That's the nature of TradingView → bridge → broker, not a malfunction.
Bar vs tick — they will differ. The backtest simulates the trailing stop on bar data; your broker runs it tick by tick. So live and backtest exits won't be identical — and the gap is largest with tight trails, which a single tick can trigger but a bar can't represent. Widen the trail if you want them to track closely.
Use Bar Magnifier for a realistic backtest. In the strategy's Properties tab, enable Bar Magnifier — it backtests intrabar using lower-timeframe data and models the trail far more realistically. Note: Bar Magnifier requires TradingView Premium or higher.
Each algo's input panel surfaces the specific options available for that engine, organized into clear groups (Confluence Engine, Order Execution & Risk, Risk Controls, Prop Firm Settings, Webhook & Broker, Session, Display). Most users only need to touch the preset profiles (Conservative / Balanced / Aggressive) to get a working configuration — Custom mode unlocks every advanced input for power users.
Prop Firm Compliance
Turn ON Enable Prop Firm Settings for any prop accountIf Enable Prop Firm Settings is off, the daily loss cap and drawdown guards do nothing — they can't protect you. Flip it on the moment you load the strategy on a funded or eval account.
Daily Loss Cap: hard ceiling on daily loss before new entries are blocked. Set it to your firm's daily loss rule (minus a safety buffer). v7.2: the cap now includes open (floating) P&L, so it can trip before a position closes — the moment your unrealized loss reaches the cap, not just on a realized loss.
Loss Circuit Breaker: halts new entries after N consecutive losses. v7.2: it now resets each session — it can no longer lock you out permanently across days the way it could before.
Daily Profit Cap: optional ceiling that auto-flattens once your daily profit target is hit.
Multi-Day Loss Guard (trailing drawdown): tracks high-water-mark equity over a rolling window and blocks entries if the peak-to-current drop breaches the cap. Enable it for any firm with a trailing drawdown rule (most of them).
Daily Reset Hour: the hour (in NY time) your daily P&L counter resets to zero. Match it to your firm's reset window — most CME-aligned firms use 18 (6 PM ET, the futures session open). Topstep, Apex, and Tradeify can differ, so check your firm's rule sheet.
How to match your firm: set Daily Loss Cap and Multi-Day Loss Cap to your firm's actual dollar limits minus a 15–20% buffer, set the Daily Reset Hour to their reset time, and set Force Close to their end-of-day rule. Then the strategy enforces the rules before the firm's bridge ever has to.
Session-based Trade Limits: max trades per session and per day, with minimum spacing between entries.
Risk Brackets (TP1 / TP2 / TP3 / SL / EP / Trail)
Three-Tier Take-Profit (TP1 / TP2 / TP3): the strategy supports up to three partial scale-outs per trade. Configure each TP distance independently for both Long and Short side. Position size is split across the three legs based on your weighting.
Stop-Loss (SL): hard ceiling on per-trade loss. Required input.
Entry Placement (EP): offset from the signal price. Use a small positive offset to require price confirmation past the trigger before filling.
Adaptive (recommended): TP, SL, and trail distances scale with live volatility. Risk stays proportional to conditions.
Fixed: manual mode for deterministic stop sizes. Pick one format (% · Ticks · Points · Pips) and stay consistent across SL and all TP legs.
Adaptive Position Exit (Trailing Stop): the adaptive trailing logic ratchets behind price using a volatility-derived buffer. Activates after TP1 by default. Recommended for trends; toggle off for mean-reverting setups.
Golden Rule: never set SL wider than TP1.
Move SL to Entry After TP1: eliminates risk on the remaining position. Strongly recommended.
Manual Brackets & the Trail (read before you touch them)
Manual Trail = 0 does NOT turn the trail offWith Manual Brackets ON, a 0 in any manual field does not mean "disabled" — it means "fall back to the adaptive value for that component." So Manual Trail = 0 just uses the adaptive trail. To actually disable the trail, set Manual Trail Trigger to a high number like 9999 (so it never activates), or widen the distance intentionally.
How Manual Brackets work (mix & match). When Manual Brackets is enabled, each manual field overrides the adaptive value only if it is greater than 0. Any field left at 0 keeps using the adaptive value. So you can set a fixed Manual SL and Manual TP while leaving the trail at 0 to stay adaptive — every component is independent.
Tight trails exit you in seconds. A small trail distance on a fast instrument scalps you out almost instantly — a 1–10 tick trail on MNQ gets hit by normal noise within seconds of entry. Recommended starting range: 40–60 ticks on MNQ (scale up for ES / NQ). If trades keep closing the instant they open, the trail is too tight — widen it.
Adaptive vs Manual — when to use each.Adaptive (the default) scales TP / SL / trail with live volatility, so risk stays proportional across regimes — best for most users, most of the time. Manual is for deterministic fixed bracket sizes — a prop firm requiring exact stops, or testing a specific fixed-tick configuration. Unsure? Stay Adaptive.
Trade Pacing & Cooldowns
Cooldown Period: blocks new entries for N minutes after a position exits. Prevents revenge trading.
Consecutive-Loss Circuit Breaker: auto-blocks new entries after N losses in a row. Forces a pause. v7.2: resets at the start of each session, so it can't lock you out permanently.
Max Hold Time: auto-flattens any position open longer than your specified threshold. Useful for scalpers.
Start with Max Trades = 1 until your discipline is proven and your results are consistent. Scale up only after that bar is met.
Session & Time Filtering
Time Zone: set UTC offset for your locale (e.g. UTC−5 for ET).
Force Close: Don't Force · Day Close · Session Close · Custom Time. Required for funded-account end-of-day rules.
Session Filter: NY · London · Tokyo · Sydney presets, plus custom HHMM-HHMM windows.
Day-of-Week Filter: Mon–Fri toggles — disable holidays and low-liquidity days.
Read this twiceOnly risk 10% of your maximum drawdown per trading day. This single rule has kept more accounts alive than any indicator ever will.
Example. Prop account max drawdown = $4,000. Daily risk limit = 10% × $4,000 = $400. That is your total allowable loss across every trade that day.
Position sizing (NQ, the big E-mini). Stop = 20 ticks × $5/tick = $100 risk per contract. Daily limit $400 ÷ $100 = 4 contracts max. For a second trade: verify combined risk ≤ $400 or reduce size.
Position sizing (MNQ, the micro). Stop = 20 ticks × $0.50/tick = $10 risk per contract. Daily limit $400 ÷ $10 = 40 contracts max. Micros let you scale granularly while you build live conviction.
Tactical stops use indicator context — SignalWave reversals, EdgeFlow threshold crossings — for short-term placement.
Structural stops sit at QuantumFlow order-block invalidation levels.
Stop distance balance: too tight = stop-outs; too wide = violates position sizing.
Tick Value Cheat Sheet
Use this to size positions accurately on the most popular CME futures. Tick math is the #1 source of "I sized this wrong" mistakes in live trading. Bookmark this section.
Symbol
Name
Tick size
$ / tick
$ / point
ES
E-mini S&P 500
0.25 pt
$12.50
$50
MES
Micro E-mini S&P 500
0.25 pt
$1.25
$5
NQ
E-mini Nasdaq-100
0.25 pt
$5.00
$20
MNQ
Micro E-mini Nasdaq-100
0.25 pt
$0.50
$2
RTY
E-mini Russell 2000
0.10 pt
$5.00
$50
M2K
Micro E-mini Russell 2000
0.10 pt
$0.50
$5
YM
E-mini Dow
1.0 pt
$5.00
$5
MYM
Micro E-mini Dow
1.0 pt
$0.50
$0.50
CL
Crude Oil
0.01 / bbl
$10.00
$1,000
MCL
Micro Crude Oil
0.01 / bbl
$1.00
$100
GC
Gold
0.10 / oz
$10.00
$100
MGC
Micro Gold
0.10 / oz
$1.00
$10
Quick ruleMost micros = 1/10th of the big contract. If you know the big-E-mini exposure, divide by 10 for the micro. MNQ ≠ NQ — they look similar in TradingView but the dollar risk differs by 10×.
MNQ vs NQ & symbol mapping
Know which contract you're on before setting contractsMNQ is $2 per point. NQ is $20 per point — a 10× difference. One MNQ contract and one NQ contract are not remotely the same risk. Confirm which symbol your chart and broker account are on before you set your contract count, or you can be 10× over-sized without realizing it.
Symbol mapping. The strategy's Broker Symbol input (e.g. MNQ1!) maps to the front-month contract on the broker side — for example MNQM6. MNQ1! is TradingView's continuous front-month alias; your broker fills the actual dated contract. Make sure the front month your broker resolves to is the one you intend to trade (watch for roll periods near expiration).
Sizing math. Daily risk ÷ (stop in ticks × $/tick) = max contracts. Example, MNQ with a $400 daily cap and a 20-tick stop: 20 × $0.50 = $10/contract → $400 ÷ $10 = 40 MNQ max. The same stop on NQ: 20 × $5 = $100/contract → 4 NQ max. Size to your account, not to the chart.
Pre-Trade Checklist
Does this trade fit within my daily risk cap?
Will my stop-loss maintain acceptable per-trade risk?
Am I using structural or tactical indicator context for stop placement?
Have I tracked cumulative risk across the day?
Is my prop-firm trailing drawdown still safe after this trade?
This is where almost every setup ticket comes from — and the fix is nearly always the same one step. Read the non-negotiable item first, then follow the exact setup for your provider. Bracket prices are computed on the strategy side and embedded in every alert, so there's nothing to parse on the bridge.
Non-negotiable: fill in BOTH Auth Token and Account IDIn the strategy's 🔗 Webhook & Broker input group, fill in Auth Token / API KeyandAccount ID. If either is blank, the alert still fires — but the payload goes out with empty credentials and your broker bridge silently drops it with no error shown anywhere. This is the single biggest cause of "my alerts aren't firing / nothing reaches my broker." Fill both, every time, before you create the alert.
Pre-flight checklist — run through this BEFORE creating any live alert
TradingView plan is Essential or higher and 2FA is enabled on your account
You loaded the strategy on a chart, not just the indicators (check the bottom panel for the Strategy Tester tab)
Chart timeframe matches what you've validated in backtest, or you've imported a preconfigured layout from Discord (see Shared Layouts)
Your routing provider account (PickMyTrade, QuantLynk, or a Custom Template bridge) is connected to a broker — paper or live, but connected
The broker account you'll route to has enough buying power for at least 1 contract of your target symbol
Auth Token / API Key and Account ID are both filled in the strategy's Webhook & Broker inputs — this is the #1 thing people forget
You've configured the rest of the input panel (Preset, Contracts, Prop Firm Settings, Webhook Provider)
You've run at least one Strategy Tester report on the chart timeframe and reviewed the results
You know your daily loss cap in dollars and your max contracts per trade
You have a plan for what to do if the strategy halts mid-day (it will if your circuit breaker trips)
How signals flow from chart to broker
TradingViewStrategy fires on bar close. Alert built with bracket prices embedded.
→
Routing BridgePickMyTrade · QuantLynk · Custom Template (or TradersPost via order-fills) receives the payload, translates to broker.
v7.2 ships three built-in providers in the Webhook Provider dropdown: PickMyTrade, QuantLynk, and Custom Template. The TradingView alert Condition you select depends on which one you use:
Provider
TradingView Alert Condition
Message box
PickMyTrade
Any alert() function call
leave empty
QuantLynk
Any alert() function call
leave empty
Custom Template
Any alert() function call
leave empty
TradersPost
Order fills only
paste TradersPost's own JSON
TradersPost is intentionally not a dropdown optionYou won't find TradersPost in the strategy's Webhook Provider list — and that's by design. TradersPost has its own documented setup: set the TradingView Condition to Order fills only and paste TradersPost's own JSON into the Message box. You don't select a built-in provider for this path; TradersPost's template drives it. (For the three built-in providers, the Message box stays empty — the strategy supplies the payload.)
Per-provider field mapping
What goes in the strategy's Auth Token / API Key and Account ID inputs, by provider:
Provider
Auth Token / API Key →
Account ID →
Broker bracket
PickMyTrade
your PMT token
your exact Tradovate account number
native, broker-side
QuantLynk
your qv_user_id
your alert_id
none*
Custom Template
fills the {token} placeholder
fills the {account} placeholder
depends on template
*QuantLynk does not carry a broker-side bracket. The strategy still manages TP / SL / trail internally and emits the close events, but QuantLynk won't hold a native bracket order at the broker the way PickMyTrade does — so the close depends on the strategy's exit firing, not a resting broker bracket.
Provider setup
PickMyTrade Primary recommendation for futures
Best for: futures traders running Tradovate, Rithmic, TopstepX (ProjectX), TradeStation, Interactive Brokers, TradeLocker, or Match-Trader. Native broker-side bracket support.
Sign in at app.pickmytrade.io and link your broker. Supported: Tradovate · Rithmic · Interactive Brokers · TradeStation · ProjectX (TopstepX) · TradeLocker · Match-Trader · Binance · Bybit.
In the strategy's 🔗 Webhook & Broker inputs, set Webhook Provider = PickMyTrade.
Set Auth Token / API Key = your PMT token, and Account ID = your exact Tradovate account number (copy it from PMT — see "Account ID" below). Both must be filled.
Copy the webhook URL from your PickMyTrade strategy detail page: • Multi-broker accounts: https://api.pickmytrade.io/v2/add-trade-data-latest
• Tradovate-only: https://api.pickmytrade.trade/v2/add-trade-data-latest
Your token travels in the JSON body the strategy emits — not in the URL. The older app.pickmytrade.com/webhook/... format is deprecated and silently fails.
In TradingView: create the alert → Condition = your strategy + Any alert() function call → Notifications tab → enable Webhook URL → paste the PMT endpoint. Leave the Message box empty.
Test in PickMyTrade's paper mode first. Confirm the order appears in PMT's order log AND your broker's paper account.
Nothing to configure on Tradovate. PMT executes through the Tradovate API. The only requirement is that the account is connected inside PickMyTrade — you do not log into Tradovate or set anything up there.
QuantLynk
In the strategy's 🔗 Webhook & Broker inputs, set Webhook Provider = QuantLynk.
Set Auth Token / API Key = your qv_user_id, and Account ID = your alert_id. Both must be filled — a blank in either field sends empty credentials and the order is dropped.
In TradingView: Condition = your strategy + Any alert() function call, paste the QuantLynk webhook URL into the Webhook URL field, and leave the Message box empty.
Note — no broker-side bracket. QuantLynk does not hold a native TP/SL bracket at the broker. The strategy still computes and manages the bracket internally and fires the exit/close events, but there is no resting bracket order on the broker side. Size and manage risk accordingly.
Custom Template Any other bridge
For any bridge not built in, set Webhook Provider = Custom Template and paste your bridge's exact JSON into the Custom Template field, using the strategy's single-brace placeholders. The strategy substitutes each one at fire time:
{token} — fed by your Auth Token / API Key input · {account} — fed by your Account ID input
Flatten Word field. The Flatten Word input controls the exact word the strategy puts in {action} when it closes a position (time-exit, session end, or stop). Set it to whatever your bridge expects for a close — e.g. close, exit, or flat. If your bridge ignores closes, that almost always means the Flatten Word doesn't match what it's looking for.
TradersPost Not a dropdown option — uses order fills
TradersPost is not a built-in Webhook Provider in v7.2, and that's intentional. You use TradersPost's own documented method instead of the strategy's emitted payload:
Sign in at traderspost.io, connect your broker(s), and create a strategy. Copy its webhook URL: https://webhooks.traderspost.io/trading/webhook/<id>/<token>.
In TradingView: Condition = your strategy + Order fills only. Paste the TradersPost URL into Webhook URL, and paste TradersPost's own JSON template (shown on your TradersPost strategy page) into the Message box.
Use TradersPost's Send Test button to confirm reception before going live. For safety in week one, enable "Disable Auto Submit" so you approve each fire manually.
Don't mix methods: the built-in providers use Any alert() function call + empty Message; TradersPost uses Order fills only + its pasted template. Never pick "Order fills and alert() function calls" — that doubles every fire.
Where the webhook URL goes
In the TradingView alert dialog, open the Notifications tab → enable Webhook URL → paste your provider's endpoint there. Do not paste it in the Message box (that box is for the payload, which the strategy fills for the built-in providers). For PickMyTrade, copy the endpoint from your strategy detail page in PMT — it's the api.pickmytrade.io/v2/add-trade-data-latest address (or the .trade variant for Tradovate-only accounts).
Account ID must be your exact broker accountA wrong or mistyped Account ID returns "Account Id Not Found" and the order never places. For PickMyTrade, copy your exact Tradovate account number straight from PMT (your connected-account list shows it) and paste it into the strategy's Account ID input — don't retype it from memory.
TradingView plan requirements
Minimum plan: EssentialWebhook alerts (the Webhook URL field) are available on TradingView's Essential plan and above — Pro and Pro+ are fine too. The free plan does NOT include webhook alerts. Alert quotas: Essential 20 · Pro 100 · Premium 400 · Ultimate 2,000. Open-ended alert expiration (no 60-day timer) requires Premium or Ultimate; on lower tiers, alerts expire after ~2 months and must be renewed. 2FA must be enabled on your TradingView account before webhooks will deliver.
Creating the alert — step by step
For the three built-in providers (PickMyTrade, QuantLynk, Custom Template), this is the whole flow. The Condition is Any alert() function call and the Message stays empty — the strategy supplies the payload, bracket prices and all.
Open a chart with the Paradox strategy loaded — not just the indicators. Strategies fire alerts on entries/exits; indicators only fire on visual conditions you wire up manually.
Make sure Auth Token / API Key and Account ID are both filled in the strategy's Webhook & Broker inputs (see the non-negotiable note at the top). Skip this and the order goes out with empty credentials.
Click the Alerts button (bell icon) in TradingView, then Create Alert.
In the Condition dropdown (first field), select the strategy's exact name — e.g. Paradox Algo Strategy v7.2 or Kairos Scalper [ParadoxAlgo], matching what appears in your Indicators → Invite-Only Scripts list.
In the second field, select . (TradersPost is the exception — it uses Order fills only + a pasted template; see the TradersPost section above.)
Open the Notifications tab, enable Webhook URL, and paste your provider's endpoint there.
Leave the Message field empty — the strategy injects its own JSON payload via alert() with bracket prices, ticker, and direction already filled in. Do not paste a template here (that's only for the TradersPost order-fills path).
Set the alert Expiration to Open-ended (Premium/Ultimate) or the longest available on your plan. Re-create when it expires.
Click Create. Verify the alert appears in the Alerts panel with a green dot (active).
Test once in your provider's paper/sandbox mode before going live. Use RequestBin or Webhook.site to inspect the raw payload if anything looks off.
The three things that must be right(1) Auth Token AND Account ID filled. (2) Condition = Any alert() function call (built-in providers) or Order fills only + JSON (TradersPost) — never "Order fills and alert() function calls," which doubles fires. (3) Webhook URL pasted in the Notifications tab. Get those three right and the alert reaches your broker.
Do not skip gates. Every gate exists because someone before you blew up by skipping it. Each step's pass criteria is concrete and measurable — there's nothing to interpret.
1
Backtest
Duration: 2+ years of dataMin sample: 500+ tradesTools: TradingView Strategy Tester · Stratera
Validate that the strategy passes minimum statistical sanity on historical data for your specific instrument and timeframe.
Pass criteria
Profit Factor > 1.3
Max consecutive losses ≤ Loss Circuit Breaker setting
Win rate consistent with the published reference report (±5%)
Equity curve shape resembles "stair-step up" — no single trade or month dominates
You've changed Inputs at least once and re-run — you understand what each main setting actually does
2
Paper / Sim
Duration: 30+ trading sessionsAccount: broker paper or prop-firm simTools: PickMyTrade paper · TradersPost "Disable Auto Submit"
Confirm the full chain (TradingView → Webhook → Bridge → Broker) executes correctly under live market conditions and that your rule discipline holds.
Pass criteria
≥ 10 webhook-fired trades reach the broker with correct TP, SL, and quantity
Zero rule violations (daily loss cap, max trades, session window)
You did NOT manually override a single signal — let the strategy run
You can identify what triggered each entry and each exit, in order
Live realized P&L is within ±15% of backtest expectation over the sample (slippage drift)
3
Live — Minimum Size
Duration: 10+ trading sessionsSize: 1 contract / 1 share — the smallest unit your broker allowsTools: broker live account
Skin in the game changes behavior. Verify your psychology and your tech survive real money before scaling.
Pass criteria
You did NOT touch the chart, alert, or input panel mid-session for any reason
Zero rule violations across the 10 sessions
You journaled each session: entries, exits, surprises
You did NOT increase size mid-streak (winning OR losing)
Net P&L is positive — or at minimum, breakeven before commissions
4
Live — Full Size
Unlocked only after Gate 3 passes
Scale to your target position size in increments of 25% — not 100%. Re-validate after each step. Weekly journal review is non-negotiable from here on.
No skipping.Every blown account we've ever debugged with a customer skipped Gate 2 or Gate 3. The math says "this should work" — the market says "prove it." Pay the time tax.
When a webhook trade doesn't show up at your broker, the problem is in one of five places. Check each in order until you find the break.
1. Did the strategy actually generate a signal?Open the Strategy Tester (bottom panel) → "List of Trades" tab. If the most recent bar has no new entry row, the strategy didn't think this bar was a setup. Re-check your Preset, Confluence Gate, and session window.
2. Did TradingView fire the alert?Open the Alerts panel (right sidebar bell icon) → click the alert row → "Logs" tab. You should see a fire event timestamped with the bar close. If no log, your alert isn't active (red dot) or has expired. Re-create it.
3. Did the alert reach your routing provider?Open PickMyTrade app.pickmytrade.io → Logs, or TradersPost traderspost.io → Activity tab. The webhook should show as received with the JSON body. If absent: URL typo, account paused, or strategy disabled at the provider.
4. Did the provider translate it to a broker order?Same logs panel — look for a "translated order" or "order sent" line tied to the webhook. If translation failed: usually a symbol mismatch (you sent MNQ1!, provider expects MNQM2026) or an unsupported field (e.g., Stop-Limit when broker only accepts Stop).
5. Did the broker fill it?Open your broker's order log (Tradovate, TradeStation, Rithmic, etc.). If the provider sent the order but the broker rejected: usually insufficient buying power, contract expired, or rule-engine block at the broker (some prop firms block orders outside session).
Common-Issue FAQ
Indicator or strategy not showing in TradingView
Confirm you submitted your TradingView username correctly during checkout. Verify your tier includes the tool (Core gets Paradox Algo only; Pro gets all 3 algos + 6 indicators). Refresh TradingView and search for the exact algo name in Indicators → Invite-Only Scripts: look for Paradox Algo Strategy v7.2, Kairos Scalper [ParadoxAlgo], or the indicator family name. If access was just granted, log out and back in.
I'm on the TradingView free plan — will webhooks work?
No. Webhook alerts require Essential plan or higher. You can use the indicators visually on the free plan, but to wire up Webhook URL in the alerts dialog, you need at least Essential. 2FA must also be enabled on your TradingView account. Alert quotas by plan: Essential 20 · Pro 100 · Premium 400 · Ultimate 2,000. "Open-ended" alert expiration requires Premium or Ultimate.
Signals are delayed or not updating
Three things to verify, in order: 1. Real-time vs delayed data feed. Check the top-left corner of your TradingView chart. If you see a small orange "D" icon next to the symbol, you're on a delayed CME feed (typically 10-minute delay) — signals will appear ~10 minutes after the actual bar close, and live webhooks will fire on stale data. Click the symbol to upgrade to real-time CME data (small monthly fee on TradingView's plan settings, or bundled with broker market-data subscriptions). The "D" icon must be gone for live execution to work correctly. 2. Chart timeframe matches what you've validated. If you imported a community or official layout, it's already correct — otherwise re-run the Strategy Tester on your chosen timeframe to confirm the configuration behaves as expected. 3. Multi-timeframe filters can introduce slight delay. The strategy fires only on confirmed-bar close by design (zero repaint), so signals always confirm at the bar boundary — not intra-bar. This is intentional and improves accuracy.
Alerts not reaching the broker / "not firing"
Check these four things, in order — this covers nearly every case: 1. Auth Token AND Account ID are both filled in the strategy's Webhook & Broker inputs. A blank in either sends empty credentials and the broker silently drops the order. This is the #1 cause. 2. Condition = "Any alert() function call" (built-in providers) with an empty Message box. (TradersPost is the exception — Order fills only + pasted JSON.) 3. Webhook URL is set in the Notifications tab and is exact (no trailing space, correct domain). 4. Account ID matches your broker account exactly (see "Account Id Not Found" below).
If all four are right, run the Webhook chain of custody above to find which hop is dropping it.
Alerts firing too often, duplicating, or on wrong events
The Condition setting is almost always wrong. The correct setup is:
• First dropdown (Condition): your strategy name (e.g. Paradox Algo Strategy v7.2)
• Second dropdown (right beneath): Any alert() function call — paired with an empty Message field
Never pick "Order fills and alert() function calls" — it duplicates every fire. The one valid exception to the empty-Message rule is TradersPost, which uses Order fills only + a pasted JSON template. Frequency is handled inside the strategy — you don't configure it in the alert dialog.
"Account Id Not Found"
The Account ID in your strategy inputs does not match your actual broker account. Copy your exact account number straight from your provider (for PickMyTrade, your connected-account list shows the Tradovate account number) and paste it into the strategy's Account ID input — don't retype it from memory. A single wrong character returns this error and the order never places.
Orders closing in seconds
Your trail is too tight. A small trail distance on a fast instrument gets hit by normal noise within seconds of entry — a 1–10 tick trail on MNQ will scalp you out almost instantly. Widen it (start around 40–60 ticks on MNQ), or disable it: remember Manual Trail = 0 does NOT disable the trail (it falls back to adaptive) — set Manual Trail Trigger to a high number like 9999 to actually turn it off. See Manual Brackets & the Trail.
Backtest looks better than live
Expected, and it's about the trail. The backtest simulates the trailing stop on bar data; your broker runs it tick by tick, so a tick can trigger an exit that the bar-based backtest never modeled — the gap is largest with tight trails. For a realistic backtest, enable Bar Magnifier in the strategy's Properties tab (requires TradingView Premium). See Live vs Backtest.
Trade timestamp doesn't match my fill
Not a bug. TradingView labels each trade by the bar's open time, but the fill happens at the bar close. So a trade stamped 9:30 on a 3-min chart actually filled near 9:33. Your broker's fill log is the source of truth for the real fill time — the TradingView label is just the bar reference.
Webhook alerts fail or return HTTP errors
Ensure your webhook URL begins with https:// — TradingView only accepts ports 80 and 443 with TLS strongly enforced. Verify the URL is exact (no trailing space, correct domain). For PickMyTrade the current endpoint is https://api.pickmytrade.io/v2/add-trade-data-latest (or .trade for Tradovate-only) — the older app.pickmytrade.com/webhook/... format is deprecated and silently fails. Use RequestBin or Webhook.site to test payload reception before going live.
Can I run the strategy on multiple charts at once?
Yes — each chart needs its own alert. One alert = one chart = one symbol/timeframe combination. If you're running Paradox Algo on two different symbols or two different timeframes simultaneously, create two separate alerts (each with its own webhook URL and broker account ID if you want them routed separately). Each active alert counts against your TradingView alert quota.
What happens if my computer crashes or I close TradingView mid-trade?
Alerts fire on TradingView's servers, not your local machine. Once an alert is created with a green-dot "active" status, it continues to fire even if your browser is closed. Already-open positions are managed by your broker (PickMyTrade / TradersPost passes the entry-time bracket prices to the broker, which holds the TP/SL natively). So a local crash will not lose a trade. The only risk is if you intended to close manually and now can't — make sure your strategy's Max Hold / session-end exits are configured to flatten you automatically.
How long from signal to broker fill (latency)?
Typical end-to-end: 2-8 seconds. TradingView fires the alert within ~1s of bar close; the webhook hops to your routing provider within ~500ms; the provider translates to a broker order within ~1-2s; the broker fills within ~100ms-2s depending on market depth. If you see consistent latency > 15 seconds, the bottleneck is usually broker-side (Tradovate API queue) or a stale TradingView session — log out and back in.
How do I switch from paper to live execution?
Do NOT change anything in TradingView. Change it on your routing provider: • PickMyTrade: on the strategy detail page, toggle "Account" from your paper account to your live account. Save. • TradersPost: on the strategy detail page, change the connected broker from "Paper" to your live broker. Save. Then re-test by triggering the alert manually (or wait for the next bar-close fire) and verify the order hits your live log. The webhook URL stays the same — only the destination account changes at the provider.
How does the strategy handle holidays / half-days?
The strategy enforces your Active Hours session window every day the Weekday Filter allows. On half-days (Thanksgiving Friday, Christmas Eve, etc.) the session window still runs but the broker may close earlier — the strategy's force-flatten-at-session-end will fire on your normal session boundary, which may be after the market is already closed. To avoid this, manually toggle the day off in the Weekday Filter for known half-days, or shorten your Active Hours to end before the early close.
What if my prop firm isn't Apex, Topstep, or Tradeify?
The prop-firm framework is provider-agnostic — set Daily Loss Cap, Daily Profit Cap, Multi-Day Loss Cap, and Daily Reset Hour to match your firm's actual rule sheet. The strategy enforces the rules at the strategy layer; the firm's bridge enforces them at the account layer. MyFundedFutures (MFFU) is a special case — they have no daily loss limit on any plan, so set Daily Loss Cap to its disabled value (99999) and rely on their trailing drawdown rule via the Multi-Day Loss Guard.
Strategy backtests show very few trades
Check that confluence thresholds aren't too strict — try the Balanced or Aggressive preset. Disable unnecessary entry conditions. Verify your session filter and time zone match chart data. Confirm Max Trades isn't accidentally set to zero. If you're running an unfamiliar chart timeframe, try importing a preconfigured layout from Discord (see Shared Layouts) to start from a known-good baseline.
Backtest report is empty or shows "No trades"
The #1 cause is the TradingView Properties tab — specifically the margin inputs. Click the gear icon next to the strategy name → switch to the Properties tab → scroll to Margin for long positions and Margin for short positions. These MUST be set to 0 for the strategy to take trades on a typical account; any non-zero value tells TradingView that each contract requires that much margin, and if your initial capital can't afford it the backtester silently refuses to enter. Set both margin values to 0, click OK, and the Strategy Tester report will repopulate immediately.
Other things to check if margins are already 0: your chart has enough historical bars loaded (scroll left), your session filter and weekday filter aren't excluding all bars, the Initial Capital field in Properties is sensible (default $100,000 for Paradox Algo, $1,000 for Kairos — adjust if you've lowered it), and the symbol on the chart matches the symbol field in the strategy inputs.
How does the strategy handle real-time vs historical bars?
The strategy hardcodes confirmed-bar execution — signals only fire when a bar closes. This eliminates repaint between backtest and live, which means your TradingView strategy report numbers match what you'll actually see in real-time. Mid-bar visual cues may differ from the final confirmed signal — that's expected and not a bug.
What's the difference between Paradox Algo and Quantum Edge?
Paradox Algo Strategy (Core + Pro) is the flagship multi-factor confluence engine — wide market coverage, prop-firm framework, designed for 1-5 trades per session. Quantum Edge (Pro-only) is a mean-reversion precision engine — same prop-firm framework, but built around dual smoothed candlestick layers and a volatility gate that auto-exits dangerous spikes. You'd choose Quantum Edge for tighter, more selective entries in high-volatility sessions where Paradox Algo's wider confluence net would over-fire.
Stratera won't connect to TradingView
Stratera (our macOS AI optimizer) requires macOS 12 (Monterey) or later and an active Pro subscription. Make sure TradingView is open in your default browser before launching the optimizer. Re-authenticate in Stratera → Preferences → TradingView if the connection drops. No Windows version is currently planned.
Prop firm rule violation despite using the algo
Verify Enable Prop Firm Settings is ON and your Daily Loss Cap is set to your firm's actual rule minus a 15-20% safety buffer. Confirm Multi-Day Loss Guard is enabled if your firm uses a trailing drawdown (Apex, Topstep). Check that the Daily Reset Hour matches your firm's reset window — most CME-aligned firms use 18:00 NY (6pm ET); MFFU has no reset. Re-verify your firm's current rule sheet — these change quarterly.
I want to cancel / pause / refund — where do I go?
All billing actions are in the Stripe Customer Portal — login with the same email you used to subscribe. You can update payment methods, change plans, pause, or cancel directly. Refund policy details are at refund-policy. Script access remains for the full billing period after cancellation; access is removed at the next renewal date.
A concrete sequence for going from "just got access" to "first paper trade" in under 15 minutes.
Pick one instrument. Recommended for first session: MNQ1! (Micro Nasdaq). High liquidity, low contract size, prop-firm friendly. For chart timeframe, the simplest path is to import a preconfigured layout from Discord (see Shared Layouts) — otherwise pick a timeframe you've validated in the Strategy Tester.
Load Paradox Algo from Invite-Only Scripts. Click Indicators → Invite-Only Scripts → pick Paradox Algo Strategy v7.2. The strategy will load and run a backtest immediately.
Open the input panel. Click the gear icon next to the strategy name. Inputs are grouped by function: Entries, Exits, Risk, Compliance, Sessions.
Apply a preset. Under Risk, set the preset to Balanced. This auto-configures TP1/TP2/TP3, SL, EP, trailing logic, and pacing for the timeframe you're on.
Enable prop-firm compliance (if applicable). Set Daily Loss Cap, Trailing Drawdown, and Daily Reset Hour to your firm's actual rules. Set Force Close to Session Close.
Read the Strategy Tester report. Bottom panel of the chart. Check Profit Factor, Max Drawdown, Total Trades, and Equity Curve. If any of these look wrong for your account, change the preset or instrument before going live.
Set up an alert. Click the bell icon, select the strategy in Condition, then pick Any alert() function call from the second dropdown. Paste your webhook URL and leave the Message field empty — the strategy fills it automatically.
Paper-trade for one full week minimum. Track every trade. Compare alert payloads to actual fills. Do not skip this step.
If you inspect the JSON PickMyTrade receives, a few fields won't match the Pine script — and that's correct. Here's what the strategy sends versus what PMT adds on its own side, so you can tell a real issue from a non-issue.
What the strategy sends vs what PMT adds
The strategy emits a compact payload. PickMyTrade then adds its own internal fields on its side before routing to the broker — these are not from the Pine script, and seeing them does not mean the script is broken:
Field
Added by
What it is
symbol · action · quantity
Strategy
the order itself
dollar_tp · dollar_sl
Strategy
bracket distance from entry, in points
token · account
Strategy
your Auth Token and Account ID
full_closed
PMT
PMT's internal close flag
order_type
PMT
PMT's order-type field
main_token_type
PMT
PMT account/token classifier
tif · gtd_in_second
PMT
PMT time-in-force fields
On "diagnostic" claimsIf anyone points at full_closed, order_type, main_token_type, tif, or gtd_in_second as proof the script has bugs — those are PickMyTrade's own internal fields, added on PMT's side, not emitted by the Pine script. They're supposed to be there.
tp and sl showing 0 is correct
If you see tp: 0 and sl: 0 in the payload, that's intentional — the bracket is sent the other way. There are two methods:
Absolute-price method:tp / sl would carry exact prices. The strategy does not use this path for PMT — hence the zeros.
Distance method (what's used): the bracket is sent via dollar_tp and dollar_sl — the distance from entry in points. PMT builds the bracket as entry ± that distance. So tp: 0 / sl: 0 alongside non-zero dollar_tp / dollar_sl is exactly right.
Order type
Entries are market orders — confirmed in live testing. The strategy enters at market on the confirmed signal, and PMT attaches the bracket (from dollar_tp / dollar_sl) on the broker side.
SMCSmart Money Concepts. The structural framework that maps where institutional liquidity sits (order blocks, fair value gaps, liquidity sweeps).
ICTInner Circle Trader. A naming convention for SMC that emphasizes session-based liquidity (London/NY killzones, optimal trade entry).
ConfluenceMultiple independent factors agreeing on a trade direction. v7.1's confluence engine evaluates trend, momentum, flow, structure, regime, and participation across timeframes.
Regime-FlipSignalWave's higher-timeframe trend direction reversing. v7.1 exits open positions when the regime flips against them, with a configurable cooldown before re-entry.
Adaptive BracketsTake-profit, stop-loss, and trailing distances that scale with live volatility instead of being fixed values. Recommended for trending and choppy markets alike.
Trailing DrawdownProp-firm rule that tracks the high-water mark of your equity and locks in a percentage of gains. Once hit, the account is failed. v7.1's compliance engine respects this rule and blocks new entries before breach.
EP (Entry Placement)Offset from the signal price at which an order is actually placed. A small positive EP requires price to move past the signal before filling — reduces false-signal entries.
Cancel-AllClosing one position cancels all related working orders (stop, take-profits) for that trade. v7.1 handles this automatically across all routing providers.
Paradox Algo and affiliated parties are not registered financial advisors. The tools provided are for educational purposes only and do not constitute financial advice. You must understand the risks involved and accept any level of loss. Past performance does not guarantee future results. You assume full responsibility for all trading outcomes.
Still Stuck? Ask In Discord.
Our team and community respond in minutes, not days.