Skip to content
  • Complete Pine Script source code
  • Lifetime support
  • Lifetime updates
  • 24/7 AI assistant (Limited time offer)
  • Lifetime account access
Back to Blog
TradingViewTrading EducationGuide

How to Use TradingView: The Complete Guide to Plans, Alerts, Pine Script and Automation

By Rajeev Gupta · · 36 min read
Laptop showing the TradingView charting platform with a rising candlestick chart and a live watchlist, next to the Quantzee logo, illustrating the complete guide to using TradingView

TradingView is the chart almost every retail trader opens first, and also the platform most people only half-understand. Not because it’s complicated to click around — it isn’t — but because the thing that actually decides whether your workflow holds up is buried a layer below the tour. It’s the alert cap your plan quietly enforces. The three seconds a webhook gives your server to answer before TradingView drops it. The fifteen minutes a delayed feed adds to every signal without changing a single number on the chart. The version annotation that decides whether a script you copied from a two-year-old forum post compiles at all. None of that shows up in a feature list, and most guides to “how to use TradingView” never get past the feature list.

We build and sell indicators that run on top of this platform, which means our support queue is a running log of exactly where that gap bites people. “My alert fired late.” “My indicator gave a bad signal.” “I can’t find the script I wrote last week.” Almost none of those are actually bugs. They’re the plan tier, the data feed, or the execution model doing exactly what it was built to do, just not what the trader assumed it would do. This page is the map of that gap — what TradingView’s own documentation says, what we’ve verified by testing it ourselves, and where to go deeper on each piece. Read this page first for how the pieces connect, then follow the link to the full breakdown of the one you’re actually stuck on. Whatever you take from any of these — a new alert type, an automated webhook, a Pine Script you found in the public library — paper trade it first. Everything on this page and the posts it links to is analytical software and educational content, not investment advice.

What’s Actually Ranking for “How to Use TradingView” Right Now

Before writing this page we did what we’re telling you to do for any signal tool further down: we checked who currently ranks for the head terms — “how to use TradingView,” “TradingView review,” “TradingView plans,” “TradingView alerts,” “TradingView Pine Script,” “is TradingView worth it” — and read what they actually say, not a summary of them.

The pattern is consistent, and worth naming because it’s the exact gap this page and the posts it links to are built to close. TradingView’s own help centre and support documentation are, unsurprisingly, the most accurate source on what each plan tier actually includes — and they still outrank almost everyone on pure “what does X button do” questions, for the obvious reason that nobody writes a better primary source than the company that built the product. We’re not trying to out-document TradingView’s own docs here, and any guide that tries usually ends up thinner and staler than the original. Where independent pages add value — or fail to — is everything downstream of the documentation: judgment calls, failure modes, and the honest “here’s what actually breaks” layer the official docs don’t cover because it isn’t their job to.

Most of the review and “worth it” pages ranking for these terms run the same shape. A pricing table, lifted straight from TradingView’s own site, presented as original research. A features list that reads like the marketing page with different adjectives. And a verdict — “yes, worth it” or “it depends on your account size” — that rarely reconciles with the review score sitting right there on the same page. One widely-read review currently quotes a Trustpilot score in the “poor” range, with a single-digit number of verified reviews behind it, and still closes with an unqualified recommendation to sign up. That’s not dishonesty exactly; it’s an affiliate incentive doing the talking instead of the evidence. We don’t carry that incentive — Quantzee sells indicators that run on top of TradingView, not TradingView subscriptions, so a reader who decides the free tier is enough costs us nothing either way.

The guides to the technical side — Pine Script, alerts, webhooks — have a different, more specific gap. They explain the happy path competently and almost never cover the failure path. A tutorial on connecting TradingView to a broker via webhook will walk through the JSON payload and the alert dialog in careful detail, then stop, without once mentioning that TradingView gives a receiving server roughly three seconds to acknowledge a webhook before dropping it silently, or that a resend only happens on a specific range of server error codes. A tutorial on Pine Script documentation will point you at the reference manual and leave you there, without naming the twenty or so constructs that actually carry a first working script, or the single line — the version annotation — that breaks more copied scripts than any logic error does. The gap, across this entire cluster, is the same one every time: feature description without failure mode, and a plan-tier number repeated as “it varies” instead of printed as a table you can actually plan around.

We also pulled the People Also Ask and “related searches” shape of this topic rather than just the head term, because that’s where the real search intent clusters. Questions like “is TradingView free to use,” “does TradingView cost money for alerts,” “why did my TradingView alert not fire,” “can you automate TradingView without coding,” and “is TradingView good for beginners” show up constantly, and most ranking pages answer one of them while ignoring the rest, or answer with marketing copy instead of a tested claim. The FAQ block at the bottom of this page is built against that list directly, with the same rule the rest of this guide holds itself to: a verified source or a tested claim behind every answer, not a guess dressed up as confidence.

The Six Numbers That Actually Gate Your Workflow

Start here, because almost every other section on this page eventually runs into one of these six limits, and almost no tutorial prints them in one place. These are read directly from TradingView’s own pricing page and cross-checked against its Pine Script execution-limits documentation, current as of late October 2026. Plan limits are a business decision TradingView revises on its own schedule — treat this table as a snapshot, not a permanent spec, and re-check the pricing page before planning a workflow around any single number months from now.

LimitBasic (Free)EssentialPlusPremiumUltimate
Charts per tab124816
Indicators per chart25102550
Active alerts3201004001,000
Saved chart layouts15101010
Historical bars available5K10K10K20K40K
Pine Script run-time per execution20s40s40s40s100s

Each row gates something specific, and the failure mode is almost never a clear error message — it’s a silent limitation that looks like the platform (or your script) misbehaving.

Charts per tab and indicators per chart are the two most visible limits, because you hit a wall in the UI immediately — the “add indicator” button simply won’t add a sixth one on a Basic chart. These are annoying but honest; you know the moment you hit them.

Active alerts is the one that breaks workflows quietly. Three alerts on a free account disappears the moment you’re tracking more than one symbol with more than one condition each. We’ve watched traders build out a full basket-monitoring setup across five symbols, two conditions apiece, and only discover at alert ten that they’re three over a tier’s ceiling — at which point the oldest or lowest-priority alerts simply stop being creatable, not a warning, just a hard stop in the dialog.

Saved chart layouts is the limit almost nobody budgets for, because it doesn’t come up until you’re actually running two different workflows — say, a daily swing-chart layout and a separate intraday scalping layout. A free account gets exactly one saved layout. Switch between two setups on a free account and you’re either rebuilding from scratch every session or overwriting the one you need. Essential’s jump to five is, in practical terms, the single most valuable upgrade for a trader running more than one symbol group, and it’s rarely the feature anyone mentions when recommending a paid tier.

Historical bars available caps how far back a chart — and critically, a Pine Script backtest — can see. This is the limit that quietly invalidates a result rather than blocking an action. A strategy script written to reference 15,000 bars of 5-minute history for a long moving average will silently truncate its lookback on a 10K-bar plan. The strategy tester still runs. It still produces a report with a profit factor and a win rate. It just ran on less history than the script author intended, and nothing in the output flags that the window was cut short. A backtest that looks solid on six months of intraday data can fall apart on three years of it — and if your plan only shows you the six months, you find that out live, with real capital, not on the platform itself.

Pine Script run-time per execution only matters once you write your own scripts, but it’s the ceiling that decides whether a heavier script runs at all. Twenty seconds on Basic is enough for a simple moving-average cross. It is not enough for a script doing meaningful looping — scanning several hundred historical bars inside a single calculation, for instance — which will time out partway through and either throw a run-time error or silently return an incomplete result, depending on where in the loop it got cut off. The jump from 20 to 40 seconds (Basic to Essential or Plus) is the first upgrade most script writers actually need, usually well before the chart or alert caps become the bottleneck.

The practical read: for a trader on one or two symbols with a handful of saved alerts and no custom scripting, the free tier genuinely covers the workflow — paying for more buys features that trader will never touch. For anyone running a basket of symbols, more than one chart layout, or any Pine Script heavier than a basic cross, Essential or Plus is where the real workflow starts, and the alert cap or the layout cap (not the indicator-per-chart cap most marketing pages lead with) is usually the first wall hit in practice.

Alert Types, and the Setting That Decides Whether Your Alert Means Anything

TradingView alerts come in a handful of flavors — price alerts set directly on a level, indicator alerts tied to a built-in or custom condition, drawing alerts tied to a trendline or shape you’ve drawn, and script alerts fired from a Pine Script alertcondition() or alert() call inside a strategy or indicator. For anything beyond “notify me when price crosses this one number,” script alerts are the ones that actually carry conditional logic, and they’re the type every webhook automation in the next section depends on.

The setting almost every tutorial glosses over sits in the alert creation dialog, under “Alert actions to trigger on”: Once Per Bar, Once Per Bar Close, or Only Once. The difference is not cosmetic.

Once Per Bar fires the instant the condition is true on the forming, still-live bar — which, on a lower timeframe, can mean several times during a single candle as price ticks back and forth across the trigger level. Once Per Bar Close waits for the candle to finish and checks whether the condition is still true at that moment, firing exactly once per qualifying bar. For any non-repainting signal — the entire category of indicator this matters for — Once Per Bar Close is the setting that makes the alert mean what you think it means. An alert set to fire on every tick can notify you of a cross that reverses before the candle finishes, which is functionally a false signal dressed up as a real one.

This single setting is the most common silent cause of “my indicator gave me a bad signal” tickets we see. The indicator logic was usually fine. The alert was configured to fire on information that hadn’t confirmed yet. If you take one setting away from this entire page, make it this one: set alerts to Once Per Bar Close unless you have a specific, understood reason not to.

Decision table: which alert setting for which use case

What you’re doingSettingWhy
Acting on a non-repainting confirmed signalOnce Per Bar CloseConfirms the condition held through the full candle before notifying
Watching a fast-moving intrabar level for manual discretionOnce Per BarAccepts noise in exchange for the earliest possible notice
A one-time price target you’ll disable after it firesOnly OnceFires once, ever, then the alert deactivates itself
Feeding a webhook/automation pipelineOnce Per Bar CloseA repainting or intrabar-triggered signal feeding automation is a liability, not a convenience

Webhooks: What They Actually Are, and Where Automation Pipelines Quietly Break

A webhook is simpler than the automation-platform marketing language makes it sound: it’s an HTTP POST request. The instant your alert’s condition fires, TradingView sends the contents of that alert’s message field to a URL you specified when you created it. Whatever is listening at that URL — a broker’s API, a no-code bridge, a bot — receives the message and can act on it immediately. That’s the entire mechanism. No code is required on the TradingView side; you paste a URL into a field. Any code lives on the receiving end, and for most retail setups, even that end can be a no-code bridge rather than custom infrastructure. Webhook delivery requires a paid plan — it isn’t available on the free tier.

What almost no beginner-facing tutorial covers is how that delivery actually behaves under real conditions, and this is where a genuinely automated pipeline either holds up or quietly fails for weeks before anyone notices.

The acknowledgment window is short. TradingView’s webhook delivery is designed around a tight response window — commonly reported at roughly three seconds — for the receiving server to acknowledge the request. If your receiving endpoint is slow, cold-starting, or momentarily overloaded and doesn’t answer inside that window, the delivery is treated as failed. This is the single most common reason a webhook “sometimes doesn’t fire” when the alert log on TradingView’s side shows it fired correctly — the alert left TradingView’s servers; your endpoint just didn’t answer fast enough to count.

Retries are conditional, not automatic. A dropped or failed delivery does not retry under every failure condition. Retry behavior is generally tied to specific server error responses from the receiving end (the 5xx range, with some exclusions) rather than firing again for every kind of failure — a timeout, a malformed response, or an endpoint that’s simply unreachable can all behave differently from a clean 5xx error, and not all of them trigger a resend. The practical implication: a receiving service that’s slow but technically “up” can silently eat signals indefinitely, because from TradingView’s side nothing about that looks like the kind of failure that earns a retry.

Alerts queue, they don’t parallelize. When several alerts fire at effectively the same moment — a common event in a multi-symbol basket at a session open — TradingView processes them in sequence rather than simultaneously. An alert further back in that queue can land seconds after the triggering bar closed, which matters disproportionately for anything time-sensitive, like an expiry-day entry window measured in single-digit minutes.

The three safety layers most first-time automation setups skip

  1. A dry-run / test mode. Route the webhook to a logging endpoint first — one that records the payload but places no real order — for at least a few dozen fire events across different market conditions, before connecting it to anything that touches capital.
  2. A position-size cap on the receiving end, independent of whatever TradingView sends. A malformed or duplicated payload should never be able to size a position beyond a hard ceiling you set on the receiving side, regardless of what the alert message claims.
  3. A delivery-reconciliation check, run daily: compare TradingView’s own alert log (visible in the platform) against your order log on the receiving end. A gap between the two — an alert that fired on TradingView’s side with no corresponding order — is exactly the silent-failure pattern the acknowledgment window and conditional retries above create. Nothing on the TradingView side will proactively tell you this happened; you have to go look.

Where to send it

Three realistic paths exist, depending on technical comfort. Path A is a broker with native TradingView webhook support — several retail-facing brokers across crypto, forex and equities now accept the payload directly, which eliminates a middle layer entirely; check your specific broker’s API documentation before building anything more complex. Path B is a no-code webhook-to-broker bridge — a growing category of tools built specifically to translate a TradingView JSON payload into a broker API call via dashboard clicks, no custom backend required; this is the realistic default for most retail traders. Path C is a general-purpose automation platform (Zapier/Make-style tools), useful when the destination isn’t a broker at all — logging to a spreadsheet, posting to Telegram, triggering a wider workflow — but usually the wrong choice for latency-sensitive order placement, since general-purpose automation platforms add their own processing hop on top of TradingView’s own delivery window.

One structural point worth stating plainly, because it determines whether automating a signal is even worth doing: the entire value of automating a non-repainting indicator is that the signal is real and stable the instant it confirms. Automating a repainting one just moves the same unreliable signal faster — it doesn’t make it reliable. Confirm the indicator holds its signal after bar close, using Bar Replay, before wiring anything to a webhook, not after.

Pine Script: Reading the Docs, Finding the Editor, and the Errors That Stop You First

Pine Script is TradingView’s scripting language, and it is simultaneously the platform’s biggest strength and the source of most of its support tickets. Two separate things trip people up — navigating the documentation, and finding and using the editor itself — and they’re worth separating because the fixes are different.

The documentation is organized by feature, not by build order. TradingView splits its Pine Script documentation into four distinct pieces: a primer (a short, linear walkthrough — the only one of the four meant to be read top to bottom), a user manual (conceptual material — how script execution works bar by bar, how value types differ, how repainting happens), a reference manual (the alphabetical index of every function and keyword — complete, precise, and the wrong first stop for a beginner), and release notes (a running changelog almost nobody reads until a script that compiled last year suddenly doesn’t). Most beginners skip the primer and land straight on the reference manual, which tells you what a function does, not when you’d reach for it. For a genuinely detailed walkthrough of the reading order and the roughly twenty constructs a first working indicator actually needs, see our full post on reading TradingView’s Pine Script documentation in build order, summarized further down this page. For the syntax itself — how to actually write the functions once you know which ones you need — our Pine Script glossary is the reference entry point; this guide won’t re-explain syntax that page already covers in depth.

The editor moved, and almost nobody’s muscle memory caught up. Through a redesign that rolled out from August 2025, the Pine Editor shifted from a tab docked at the bottom of the chart to a dedicated icon on the right-hand toolbar — the angle-bracket symbol, not the indicators (fx) icon next to it, which only opens the public script library. That single relocation is why a surprising share of “where is Pine Editor” searches still land on tutorials describing the old layout. Once you’ve found it, the harder problem starts: the compiler throws errors in a vocabulary nobody explained. Our full walkthrough of the new location plus the specific errors that stop new Pine users first — series/simple type mismatches, argument-type errors on built-ins, historical-reference and lookback errors, run-time timeouts, and scope errors — is summarized below and covered in depth at Pine Editor: where it moved, and the errors it throws first.

One idea explains almost every Pine compiler error, and it’s worth internalizing before you touch the error list at all. A Pine script doesn’t run once, top to bottom, the way a typical program does. It’s evaluated once per bar, from the oldest bar on the chart forward to the current one, with state accumulating as it goes. Every variable is really a series — a value with a potentially different reading on every bar. Most compiler errors exist because Pine needs to know, at compile time, whether a value will change bar-to-bar (a “series” value) or stay fixed for the script’s lifetime (a “simple” or “const” value), and the compiler enforces that split rigidly. Once that one idea clicks, error messages that looked arbitrary start reading as the compiler telling you, specifically, that it can’t resolve whether something is allowed to vary where you’ve asked it to be fixed.

Resource caps exist independent of how clean your code is, because every open chart recalculates its scripts live and an unbounded script on one chart would slow the platform for everyone sharing that compute. Plots per script, request.security() call counts, maximum historical bars a script can reference (max_bars_back), and per-bar calculation time are all capped server-side, tier-dependent on some of these, and the fix for hitting one is architectural — fewer security calls, shorter lookbacks, a hard iteration ceiling on loops — never a workaround, because the cap won’t budge for a cleverer script. Three honest signs a strategy has outgrown the Pine Editor entirely: it needs more request.security() calls than the ceiling comfortably allows, it needs to size a position against more than one instrument at once (Pine has no native multi-instrument position-sizing concept, since every script runs against a single chart), or the backtest needs a walk-forward or out-of-sample split that Pine’s built-in strategy tester doesn’t provide on its own. None of those are reasons Pine Script is a bad tool. They’re signs the job has moved to a different scale than the one it was built for.

The failure the compiler never flags is repainting, and it deserves a mention here even though it isn’t a Pine Script documentation problem — a script can compile cleanly, run cleanly, and still quietly change its own past signals as new bars arrive. That’s a correctness question, not a syntax one, and it’s covered properly in our dedicated repainting-test guide rather than re-argued here; the point worth carrying forward is that repainting is a documented, real risk specific to how a script references data, not a Pine Script quirk unique to any one author’s code.

Real-Time vs Delayed Data: The Gap Almost Nobody Prices In

Here’s a fact most TradingView tutorials never state plainly, and it changes what a subscription actually buys you: paid plan tiers do not include real-time data for most stock and futures exchanges. Per TradingView’s own support documentation, most of the exchanges it supports charge separate fees for real-time data, and the subscription price does not cover those fees even on a paid plan. Crypto is the one broad exception — every crypto exchange on the platform streams real-time with no extra purchase required. For NYSE, NASDAQ, CME futures and most global indices, you’re on a delayed feed — commonly fifteen minutes on US primary exchanges — unless you specifically add a market-data package or route through a connected broker that carries its own real-time entitlement.

A second, quieter default catches people even once they know about the fee: by default, TradingView sources US stock data from the Cboe exchange rather than directly from NASDAQ or NYSE — a slightly different tape than the primary listing exchange, which can disagree by a tick or two around the open and close. Most retail charts run that Cboe feed without the user ever having chosen it.

A delayed feed is not a broken feed. The data is accurate — it’s just late, and that distinction is the whole topic. An alert condition is evaluated when the bar carrying that condition is delivered to your chart, not when the underlying price event actually happened on the exchange. On a real-time feed those two moments are effectively identical. On a fifteen-minute delayed feed, they sit fifteen minutes apart. If your indicator’s buy condition triggers correctly on the bar where price crossed a level, and that symbol is delayed, your phone buzzes roughly fifteen minutes after the cross happened — not as an early warning, but as a late notification of something the market has probably already moved past. For a position held days to weeks, that lag is cosmetic. For anything intraday — including index option entries measured in single-digit minutes — a fifteen-minute-old price isn’t a rounding error; it can span several strikes of movement on an active expiry.

Backtests, usefully, mostly sidestep this entirely. A historical Strategy Tester run uses the same completed, settled bars regardless of whether your current plan is real-time or delayed — the exchange’s historical record doesn’t change based on your subscription tier. What is affected is anything reacting to the market as it happens: a live forward test, a paper-trading session meant to validate a strategy before real capital, or any workflow that logs fills against the currently-forming bar. If that forming bar is fifteen minutes stale, a forward test on it is pricing entries and exits against information the live market has already moved past — not because the strategy changed, but because the clock it ran on did.

Delay and repainting get confused constantly, and they are not the same failure. Delay is a timing issue — the data is correct, it just arrives late. Repainting is an integrity issue — the indicator rewrites a past signal’s value or position after new data arrives, so today’s chart shows a cleaner history than what actually printed in real time. A delayed-but-non-repainting indicator eventually shows you the truth, just later than you’d like. A repainting indicator can show you a comfortable lie permanently, even on a real-time feed, because the lie is baked into how the script recalculates history, independent of when the data arrived. Three checks, each under a minute, tell you which one you’re looking at: the market-status label in the chart’s data window (TradingView marks “Data is delayed” directly, it doesn’t hide it), the exchange prefix next to the symbol (the exchange, not your plan name, sets the fee and delay window, and recall the Cboe default above), and whether your chart’s status actually matches your broker’s own order-ticket feed, since a connected broker can run its own separate, independently-latent price stream even while your TradingView chart streams live.

The one free fix that sidesteps both problems: test and trigger only on completed bars. A strategy or alert that only acts once a bar has fully closed is immune to the “is this still forming” ambiguity that both delay and repainting exploit, because you’re never reading a value still in transit.

Screener, Watchlists and the Workflow Between Them

The chart gets all the attention in most tutorials; the Screener and Watchlist are where a multi-symbol workflow actually lives day to day, and they solve different problems.

A watchlist is a persistent, manually curated list of symbols you track — the names you’ve already decided matter to you, grouped however makes sense for your workflow (by sector, by setup type, by timeframe). It’s a monitoring tool, not a discovery one: you add a symbol because you already have a reason to watch it.

The Screener is the discovery tool — it filters the entire market (or a chosen exchange/sector) against conditions you set, surfacing symbols you weren’t already watching. That’s the meaningful difference in practice: a watchlist answers “how are the names I already care about doing right now,” while a screener answers “what in the broader market currently matches a condition I care about.” Treating them as interchangeable — scrolling a giant watchlist looking for setups instead of filtering for them — is a common reason a multi-symbol workflow feels slow and manual when it doesn’t need to.

A practical daily sequence that avoids duplicating effort between the two: run the screener first, against whatever structural or volatility condition defines your trading day (a volume or range filter, a technical condition, a sector), to generate a short list of candidates. Move anything that clears a second, manual glance onto a working watchlist for the session. Only chart and set alerts on names that made it through both passes. Skipping the screener step and working straight from a large, static watchlist tends to produce the same handful of familiar names every day — not because they’re the best setups, but because they’re the ones already in the list.

Bar Replay and the Strategy Tester: Two Different Questions, Often Confused

Bar Replay — the clock icon in the chart toolbar, or Shift+B — rewinds the chart to a point you choose and steps forward one candle at a time, which is the closest thing to live trading you can do without risking anything. It’s genuinely useful, and it’s also trivially easy to defeat without realizing it. If you already know the shape of the chart ahead of the candle you’re stepping into — because you’ve scrolled past it once already, or because you recognize the pattern from having traded that symbol before — the “test” is contaminated before it starts. Two habits make it mean something: pick a date range you genuinely haven’t studied closely, and write your entry/exit rule down in words before pressing play, not while watching bars print. Adjusting the rule mid-replay to match what just happened ends the test’s validity on the spot, even if you keep playing.

The Strategy Tester report is a different instrument entirely, and the two get treated as interchangeable more often than they should. Bar Replay (and paper trading more broadly) simulates execution — it places unfunded orders in real time and shows fill behavior, timing, and whether you can actually act on your own signals at real market speed. The Strategy Tester evaluates a coded rule set against history instead — net profit, profit factor, max drawdown, win rate, equity curve — all computed from a Pine Script strategy running against bars that have already happened. A strategy can look strong in the tester report and fall apart in Bar Replay or paper trading the moment real latency and real order queues enter the picture. A setup that feels right in paper trading can still have coded logic that happens to fail outside the exact window you backtested. The sensible order is to validate the coded logic in the tester first, with commission and slippage set to realistic, non-zero values, before spending weeks confirming execution feel on a rule set that was never going to hold up regardless of execution quality.

It’s also worth being honest about what even a clean paper-trading result proves. A simulated fill at a simulated price is not a real order competing for liquidity in a live order book — paper trading can’t fully price in slippage, partial fills, or the psychological difference between risking real capital and watching numbers move on a demo balance. That gap doesn’t make paper trading useless; it makes it one step in a sequence, never the final word on whether a system is ready for real money. Paper trade any new rule for a meaningful number of occurrences — not two or three — before sizing a live position around it, and treat a clean backtest and a clean paper-trading run as two separate hurdles a strategy has to clear, not one hurdle cleared twice.

Choosing a Third-Party Indicator or Signal Tool

The public script library is TradingView’s biggest strength and its biggest risk at the same time, because it’s open to anyone of any skill level, and a script with a thousand likes is not automatically a script that behaves the way its thumbnail chart suggests. Picking a signal tool by brand recognition — reaching for whichever name shows up in the most ads — tells you about a marketing budget, not about whether that tool fits how you actually trade.

The first, non-negotiable filter for any indicator before anything else about it matters: does it repaint? A repainting indicator recalculates its own signal after the bar that generated it, which means the clean backtest you’re looking at is a history that never existed in real time — you would never have caught those entries live, no matter how good they look on the chart today. Bar Replay is the way to check this yourself, on at least twenty signal occurrences across different market conditions, before trusting any other claim about the tool. Our full breakdown of what to look for in a signal tool, summarized below, walks through six further criteria beyond repainting — transparency of the underlying logic, multi-market coverage, alert reliability, adaptability to regime shifts, independent verifiability of any track record, and price measured as a percentage of your actual trading capital rather than a flat monthly number. We won’t re-run that full checklist here; the post linked above is the place for it, and it’s written as a protocol you run yourself, not a recommendation to take on faith.

Common Misconfigurations, and the Quick Fix for Each

What goes wrongWhy it happensThe fix
Alert fires on a value that later reversesSet to “Once Per Bar” instead of “Once Per Bar Close”Switch the trigger frequency; confirm on closed bars only
Webhook “sometimes doesn’t fire”Receiving endpoint too slow to acknowledge inside the delivery windowSpeed up the endpoint’s response, or add a lightweight acknowledgment layer that answers instantly and processes after
Backtest looks great, strategy tester silently used less history than intendedScript referenced more bars than the plan’s historical-bars cap allowsCheck the plan’s bar-depth limit against the script’s lookback before trusting the report
Script “works” on a short lookback, fails on a longer oneHit the per-execution run-time cap partway through a heavy loopShorten the loop, move repeated calculations outside it, or upgrade tier if the logic genuinely needs the time
”TradingView is down”Stale browser tab, lost WebSocket connection, or a delayed feed mistaken for a freezeReload in a fresh tab first; check the official status page only if a reload doesn’t fix it
Can’t find a script you “published” last weekSave, Add to Chart, and Publish are three different actions, often confusedSave writes to your private library; Add to Chart runs it without saving; Publish is the only one with a public dimension
Alert feels late on an intraday setupSymbol is on a delayed data feed, mistaken for real-timeCheck the market-status label and exchange prefix; add real-time data or use a broker feed for anything time-sensitive
AI-generated Pine Script won’t compileGenerated against an older Pine Script version’s syntaxCheck the version annotation on line one, then cross-check every function name against the current reference manual

How the Pieces Fit Together

None of the sections above are meant to be read as independent trivia. They stack in a fairly specific order if you’re building a real workflow rather than just poking around a chart. Plan tier decides what you can even attempt — how many alerts, how much history, how much Pine execution time. Alert configuration decides whether what you’ve built means what you think it means, with “Once Per Bar Close” doing most of the real work. Webhook delivery, if you automate anything, is the layer where a correct signal can still silently fail to reach a broker, which is why the three safety layers above aren’t optional polish. Data feed status decides whether the clock your alerts and forward tests run on matches the market’s actual clock. And Pine Script, if you write your own logic, is gated by an execution model that makes every compiler error look arbitrary until you understand that a script runs once per bar, not once overall.

A trader hitting a wall anywhere in that chain almost always diagnoses it as “the platform is buggy” or “my indicator is bad,” when the actual cause is usually one layer up or down from where the symptom showed. A late alert is rarely bad logic — check the data feed first. A script that “stopped working” after months of fine behavior is rarely new logic — check the release notes for a version change. A webhook pipeline that worked in testing and goes quiet in production is rarely a broken bridge — check the acknowledgment window on your own receiving endpoint first.

The Posts This Guide Draws On

Each post below goes deeper than this page does on one specific piece of the platform. Read this page for how they connect; read the post itself for the full method, the numbers behind it, and the edge cases this summary leaves out.

Is TradingView Good? An Honest Answer From a Team That Builds On It is the review this cluster starts from, and it’s written by a team with a disclosed stake — we build indicators that run on TradingView, so we don’t earn anything from a reader signing up for a plan, which is the opposite incentive of almost every other review currently ranking for this keyword. The post’s core finding is that the charting and Pine Script ecosystem genuinely outclass most alternatives at this price, and that almost every real complaint about the product traces back to four specific, nameable limits rather than a vague “it depends on your plan”: exchange data fees billed on top of the subscription (not included, even on paid tiers), Pine Script run-time caps, alert-capacity ceilings, and historical bar depth. It also does something almost no competing review does — it checks TradingView’s own public incident log directly rather than inventing an uptime number, and names the specific affiliate-funded pattern across competing reviews (a “poor” Trustpilot score, quoted and then waved past, because the review’s revenue depends on the signup, not on the accuracy of the score). If you’re deciding whether to pay for anything at all before you’ve touched a chart, this is the post to read first.

How to Use TradingView: The Six Limits That Decide What Your Chart Can Do is the source for the plan-limits table reproduced and expanded on earlier in this page, read directly from TradingView’s pricing page rather than a secondhand summary of it. Beyond the table itself, the post walks a genuinely useful first-ten-minutes sequence for a brand-new account — symbol, interval, saved layout, one indicator, a locked price level, one alert set to close-only triggering — and covers two things most “how to use TradingView” tutorials skip entirely: that bar replay is trivially easy to defeat if you’ve already seen the chart shape, and the honest difference between what paper trading proves and what a Strategy Tester report proves, which this page covers above in less detail than the source post does.

TradingView Alerts to Webhook: A No-Code Setup Guide for Any Broker is the full mechanical walkthrough behind the webhook section above — the exact alert-dialog steps, the JSON payload structure that makes a signal machine-readable, and all three delivery paths (native broker support, no-code bridges, general automation platforms) covered in step-by-step depth rather than summary. It’s the right post to open once you’ve decided to automate something and need the actual click-by-click setup rather than the conceptual overview this page gives.

TradingView Pine Script Documentation: The Reading Order That Gets You a Working Script builds a real indicator from scratch and logs every construct it actually used — about twenty, named individually rather than gestured at, in the order a script actually needs them rather than the alphabetical order the reference manual presents them in. It’s the direct source for the four-part documentation breakdown summarized above, and it goes further than this page does on the version-pinning problem (why a script copied from an old forum post fails to compile) and on how to read a single reference-manual entry for the three things that actually matter — argument types, return count, and whether the function is still current — so the manual becomes a thirty-second lookup instead of something you’d need to read cover to cover.

Pine Editor TradingView: Where It Moved, and the Errors It Throws First is the companion piece to the documentation post above, focused on the editor interface itself rather than the language. It covers the UI relocation in full, the difference between Save, Add to Chart, and Publish (the single most common reason someone can’t find a script they “definitely wrote”), the one execution-model idea that explains almost every compiler error, a walkthrough of the five errors that stop new Pine users first with the fix our team actually gives clients for each, and a resource-caps table (plots per script, request.security() call limits, max bars back, per-bar run-time) that this page only summarizes. It also covers something this page doesn’t touch at all: Pine Editor on mobile doesn’t meaningfully exist — the apps let you view and adjust scripts you’ve already built, not write new ones from a phone.

What to Look for in a TradingView Signal Tool (Beyond the Big Names) is the full seven-criteria protocol this page only gestures at in the signal-tool section above — a step-by-step bar-replay test for repainting, a transparency check on the underlying logic, multi-market coverage verification, alert-reliability criteria, a test for whether a tool adapts to regime shifts instead of running the same static rule in trending and ranging markets, a method for independently verifying any claimed track record, and a cost framework that measures price as a percentage of trading capital rather than a flat subscription number. If you’re actually evaluating a specific indicator before paying for it, that post is the checklist to run, not this summary of it.

TradingView Real Time Data: What a Delayed Feed Does to Alerts, Backtests and Indicator Values is the deep dive behind the data-feed section above, and it’s the post to read if the summary here raised more questions than it answered. It separates three things that get collapsed into one vague complaint — alert timing, live forward tests, and indicator readings — and shows, with a direct before/after comparison the authors ran on their own strangle and straddle entry signals, that identical logic on a delayed symbol and a real-time symbol produced signal timestamps separated by close to the full delay window every time, with the real-time symbol firing within one bar close. It also carries the clearest explanation anywhere in this cluster of why delay and repainting get confused constantly despite being unrelated failure modes, and a worked example quantifying exactly how much a fifteen-minute lag can cost on an intraday options setup.

Frequently Asked Questions

Is TradingView free to use?
Yes, there's a genuinely usable free (Basic) tier — one chart per tab, two indicators per chart, three active alerts, one saved layout, and ads. For a trader checking one or two symbols a few times a day with no custom scripting, that's often enough on its own. The free tier becomes limiting the moment you want more than a handful of alerts, more than one saved chart layout, or heavier Pine Script than a basic indicator cross.
Does TradingView cost extra for real-time data even on a paid plan?
For most stock and futures exchanges, yes. Per TradingView's own support documentation, most of the exchanges it supports charge separate real-time data fees that a paid subscription does not cover. Crypto is the exception — every crypto exchange streams real-time at no extra charge. For US equities, futures and most global indices, a paid plan still leaves you on a delayed feed (commonly 15 minutes) unless you add a specific market-data package or route through a broker connection that carries its own real-time entitlement.
Why did my TradingView alert not fire, or fire late?
Three causes account for almost every case. First, the symbol may be on a delayed feed, which means the alert fired correctly but on data that arrived late — check the market-status label on the chart. Second, if it's a webhook-driven alert, the receiving server may not have acknowledged the delivery inside TradingView's short response window, which is a common and easy-to-miss silent failure. Third, if several alerts triggered at once, TradingView processes them in sequence rather than in parallel, so a later alert in that queue can land several seconds after the triggering bar closed. Checking the alert log on TradingView's own side against what actually reached your downstream system is the fastest way to tell which of the three happened.
Can you automate TradingView alerts without writing code?
Yes, for the TradingView side specifically — creating a webhook alert requires no code, just pasting a URL into the alert dialog. Whether the full pipeline is code-free depends on the receiving end. Several brokers accept TradingView webhooks natively with zero coding required. No-code bridge platforms exist specifically to translate the JSON payload into a broker order through dashboard clicks rather than custom scripts, which covers most retail automation needs without hiring a developer.
Is TradingView good for beginners?
The charting and the free tier are genuinely beginner-friendly — the interface is approachable, and the public Pine Script library puts thousands of pre-built indicators one click away with no coding required to use them. Where beginners get tripped up isn't the interface, it's the invisible layer underneath it: plan limits that aren't printed anywhere obvious, alert settings that silently change what a signal means, and a delayed data feed that looks identical to a live one on screen. None of that makes the platform bad for beginners; it just means the things worth learning first aren't the ones most tutorials lead with.
What's the difference between a TradingView alert and a webhook?
An alert is the condition and the notification mechanism — it's what TradingView evaluates and what tells you (or a connected system) that something happened. A webhook is one specific delivery method for that notification — instead of a push notification, email or SMS meant for a human to read and act on, a webhook sends the alert's payload as an HTTP request to a URL, meant for a machine to read and act on immediately. Every webhook starts life as an alert; not every alert is sent as a webhook.
Does a higher TradingView plan guarantee better alert or webhook reliability?
No. Plan tier increases the number of alerts you can have active simultaneously and, at the higher tiers, adds features like tick-based intervals — it does not change the underlying delivery mechanics. The webhook acknowledgment window, the conditional retry behavior, and the sequential processing of simultaneous alerts are platform-wide behaviors that apply the same way regardless of your subscription tier. Reliability for automation comes from how you build the receiving end (fast acknowledgment, a reconciliation check, a position-size cap), not from paying for a higher plan.
How is "Once Per Bar Close" different from "Once Per Bar," and which should I use?
"Once Per Bar" fires the instant a condition is true on the still-forming candle, which on a lower timeframe can mean multiple fires as price ticks back and forth across a level. "Once Per Bar Close" waits for the candle to finish and fires once, only if the condition is still true at that point. For any non-repainting signal you intend to act on or automate, Once Per Bar Close is the setting that makes the alert mean what you think it means — the alternative can notify you of a cross that reverses before the candle even finishes forming.
Can I write and test Pine Script from my phone?
Not meaningfully. TradingView's mobile apps let you view charts with scripts already applied, add a published script from the public library to a mobile chart, and adjust an existing script's input settings — but there's no code-writing surface or client-side compiler on the mobile app. Writing, debugging, or fixing a Pine Script happens on desktop; treat the mobile app as a monitoring and settings tool for scripts you've already built.
What's the single biggest mistake people make across TradingView's plans, alerts and scripts?
Treating a platform-tier limit, a data-timing fact, or an execution-model rule as a bug to work around instead of a constraint to plan for. "My script needs simplifying" when the real issue is a billing-tier run-time cap. "My indicator is bad" when the real issue is a 15-minute-delayed feed. "The webhook is unreliable" when the real issue is a receiving server too slow to acknowledge in time. Every section of this page is the same move repeated: name the actual mechanism first, then fix the thing that's actually broken instead of the thing that looks broken.

FAQ

Frequently Asked Questions

Yes, there's a genuinely usable free (Basic) tier — one chart per tab, two indicators per chart, three active alerts, one saved layout, and ads. For a trader checking one or two symbols a few times a day with no custom scripting, that's often enough on its own. The free tier becomes limiting the moment you want more than a handful of alerts, more than one saved chart layout, or heavier Pine Script than a basic indicator cross.

Put It Into Practice

Try Quantzee's AI-Powered Indicators

Non-repainting signals, real-time alerts, all markets.

Get Quantzee
Rajeev Gupta, Founder & CEO of Quantzee

Written By

Rajeev Gupta

Founder & CEO, Quantzee

Rajeev Gupta is a Commerce Graduate with a Masters in Business Administration (Finance), and has been trading the markets since 1997. He previously worked with Religare Securities Limited as Head – Private Client Group until 2006, after which he started his own broking firm. He went on to found and lead Quantzee, where his focus has stayed on quantitative trading strategies — volatility dynamics, intraday price behavior, and regime-aware signal design. Every indicator in the Quantzee suite is derived from the methodology he uses in his own live trading account.