Pine Script v6 Complete Guide: Strategies, Indicators, and Alerts That Actually Work
Pine Script v6 introduced breaking changes from v5. This guide covers the key differences, the most common mistakes traders make, and how to write strategies and indicators that compile and run correctly in TradingView.
What changed in Pine Script v6
Pine Script v6 is not a minor update. It introduced a new type system, stricter scoping rules, and removed or renamed dozens of functions that existed in v5. Code that worked perfectly in v5 often fails immediately in v6 — and the error messages aren't always clear about why.
The biggest practical change: Pine Script v6 enforces a strict separation between series values and simple values. Many functions that accepted either type in v5 now require explicit types in v6. This is the root cause of most 'type mismatch' errors.
- Strict type enforcement: series<float> vs float (simple) must be handled explicitly
- input.int(), input.float(), input.bool() replace the old input() with type argument
- strategy.risk.* functions removed — risk management is now done manually
- bgcolor() requires color type, not conditional expressions directly in some contexts
- Pine Script v6 requires explicit na checks in more situations than v5
Strategy structure: the correct skeleton
Every Pine Script v6 strategy starts the same way. Get this wrong and nothing else matters.
//@version=6
strategy("Strategy Name", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- Inputs ---
fastLen = input.int(9, title="Fast EMA", minval=1)
slowLen = input.int(21, title="Slow EMA", minval=1)
rsiLen = input.int(14, title="RSI Length", minval=1)
rsiOB = input.int(70, title="RSI Overbought", minval=50, maxval=100)
rsiOS = input.int(30, title="RSI Oversold", minval=0, maxval=50)
// --- Calculations ---
fastEma = ta.ema(close, fastLen)
slowEma = ta.ema(close, slowLen)
rsi = ta.rsi(close, rsiLen)
// --- Conditions ---
longCond = ta.crossover(fastEma, slowEma) and rsi < rsiOB
shortCond = ta.crossunder(fastEma, slowEma) and rsi > rsiOS
// --- Entries ---
if longCond
strategy.entry("Long", strategy.long)
if shortCond
strategy.entry("Short", strategy.short)
// --- Plots ---
plot(fastEma, color=color.new(color.green, 0), linewidth=2)
plot(slowEma, color=color.new(color.red, 0), linewidth=2)
// --- Alerts ---
alertcondition(longCond, title="Long Entry", message="Long signal triggered")
alertcondition(shortCond, title="Short Entry", message="Short signal triggered")The most common Pine Script v6 errors and how to fix them
These are the errors TradePilot users hit most often when working with existing scripts or manually-written code.
- "Cannot call `strategy.entry` in this context" — you have strategy.entry() inside an indicator script. Change //@version=6 to strategy() declaration.
- "Undeclared identifier" on a built-in — you're on the wrong version. Make sure //@version=6 is the first line.
- "Cannot use 'series bool' where 'bool' is expected" — wrap the condition in a variable: cond = ..., then pass cond.
- "Loop is too long" — your for/while loop runs on every bar. Use arrays or math instead of loops where possible.
- "Add to chart operation failed" — check for any function called outside its valid scope, usually a strategy.* call in an indicator.
Indicators vs Strategies: what you can and can't do
Pine Script enforces a strict separation between indicator scripts and strategy scripts. You cannot mix strategy.* calls into an indicator, and indicators run on every bar with no position tracking. Strategies simulate trades and track equity.
Indicators should use plotshape(), plot(), hline(), and alertcondition(). Strategies use strategy.entry(), strategy.exit(), strategy.close(), and strategy.order(). The type of script is set by the first declaration line.
Tip
Use indicators for signals and overlays you want on the chart without running a full backtest. Use strategies when you need position tracking, P&L, win rate, and parameter optimization. TradePilot supports both and picks the right type based on your description.
Alerts: the right way to wire alertcondition()
alertcondition() must receive a series bool — a condition that evaluates to true/false on each bar. It doesn't fire the alert itself; it registers the condition so you can set an alert on it in TradingView's Alerts dialog.
Always add alertcondition() at the bottom of your script after all calculations. Use descriptive title strings — these are what appear in TradingView's alert setup dropdown.
// Correct alert wiring
longSignal = ta.crossover(fastEma, slowEma)
shortSignal = ta.crossunder(fastEma, slowEma)
alertcondition(longSignal, title="EMA Long", message="EMA crossover long — {{ticker}} @ {{close}}")
alertcondition(shortSignal, title="EMA Short", message="EMA crossunder short — {{ticker}} @ {{close}}")TradePilot Team
Traders and engineers building the fastest way to go from idea to live Pine Script strategy, right inside TradingView.
More articles
Is an AI Copilot for TradingView Safe to Use? What It Can and Can't Access
ReadGuideHow to Install an AI Copilot Inside TradingView (2-Minute Setup)
ReadComparisonTradePilot vs ChatGPT for TradingView: What Actually Changes When the AI Is Inside Your Chart
ReadGuideScan Your TradingView Watchlist With AI — No More Checking Every Symbol by Hand
ReadGuideControl Your TradingView Chart by Chat: The 2026 Copilot Workflow
ReadGuideCreate TradingView Alerts From Chat — No Dialog Boxes
ReadGuideHow to Backtest a TradingView Strategy From Chat (No Menus)
ReadProductThe Best AI for Pine Script on TradingView in 2026
ReadProductWhat Is an AI Copilot for TradingView? (And Why It Beats a Chatbot in 2026)
ReadProductWhat Makes TradePilot Different From Every Other Pine Script AI (2026)
ReadEducationHow Reliable Pine Script AI Saves Traders Hours Every Week (2026)
ReadComparisonAn AI Pine Script Generator With No Compile Errors (2026)
ReadEducationCan You Trust AI to Write Your TradingView Strategies? (2026)
ReadTutorialHow to Get Pine Script That Compiles First Try (2026)
ReadComparisonAI Pine Script Compile Rates Compared (2026)
ReadGuideStop Debugging AI-Generated Pine Script in 2026
ReadComparisonThe Best Pine Script AI That Actually Works in 2026
ReadGuideWhy AI-Generated Pine Script Doesn't Compile (And How We Fixed It)
ReadComparisonThe Only AI That Guarantees Your Pine Script Compiles (2026)
ReadEducation7 Trading Strategy Mistakes That Ruin Your Backtest (And How to Fix Them in 2026)
ReadPine ScriptBuild a Multi-Symbol Screener Dashboard in Pine Script (2026)
ReadStrategyBuilding a Scalping Strategy in Pine Script for 2026
ReadEducationHow to Automate a TradingView Strategy in 2026 (Alerts to Execution)
ReadPine ScriptVWAP Trading Strategy in Pine Script: Full Guide and Code (2026)
ReadStrategyForex Pine Script Strategies: Session-Based Trading in 2026
ReadStrategyCrypto Trading Strategies in Pine Script: What Works in 2026
ReadPine ScriptThe Supertrend Indicator in Pine Script v6: Full Guide and Code (2026)
ReadStrategyUsing Pine Script for Prop Firm Challenges in 2026
ReadEducationAlgorithmic Trading for Beginners: How to Start in 2026 (No CS Degree)
ReadStrategyTradingView Strategy Optimization: The Complete 2026 Guide to Finding the Best Parameters
ReadTutorialPine Script Stop Loss and Take Profit: The Complete 2026 Guide
ReadEducationHow AI Writes Pine Script: The Complete 2026 Guide to AI Code Generation
ReadStrategyThe Pine Script Strategy Template Every Trader Should Use in 2026
ReadEducationTradingView Pine Script: The Complete 2026 Beginner's Guide
ReadGuideHow to Code a Trading Strategy: The Complete 2026 Guide (No Experience Needed)
ReadPine ScriptPine Script Functions: The Complete 2026 Reference Guide (ta, strategy, request, input)
ReadBacktestingBacktesting in TradingView: The Complete 2026 Guide to Testing Any Strategy
ReadEducationTradingView Alerts: The Complete 2026 Guide (Pine Script, Webhooks, and Setup)
ReadPine ScriptPine Script Indicators: The Complete 2026 Guide to Writing TradingView Indicators
ReadComparisonBest Pine Script AI in 2026: The Complete Buyer's Guide
ReadTutorialHow to Fix Pine Script Errors with AI in 2026 (Fast)
ReadGuideNo-Code Trading Strategy Builder: Create TradingView Strategies Without Programming (2026)
ReadStrategy10 Pine Script Strategy Examples You Can Copy in 2026 (With Full Code)
ReadProductThe Best TradingView AI Copilot in 2026: Generate, Fix, and Optimize Inside the Chart
ReadTutorialAI Trading Indicator Generator: Build Custom TradingView Indicators in 2026
ReadTutorialHow to Generate Pine Script from Plain English (2026 Guide)
ReadComparisonChatGPT vs Claude for Pine Script in 2026: Which Writes Better TradingView Code?
ReadComparisonFree Pine Script Generator: The Best Free Way to Write TradingView Code in 2026
ReadComparisonThe Best AI Pine Script Generator in 2026 (Tested and Ranked)
ReadPine ScriptTradingView Alerts Not Firing? The Pine Script Reasons and Fixes
ReadGuidePine Script for Beginners: Where to Start in 2026
ReadEducationCan AI Write Profitable Trading Strategies? An Honest Answer
ReadTutorialThe EMA Crossover Strategy in Pine Script v6 (Complete Guide + Code)
ReadComparisonPine Script vs MQL vs thinkScript: Which Trading Language Should You Learn?
ReadPine ScriptMulti-Timeframe Pine Script: Using request.security Without Repainting
ReadEducationTradingView Strategy Tester Explained: Reading Your Backtest Like a Pro
ReadTutorialHow to Add a Stop Loss and Take Profit in Pine Script v6
ReadPine ScriptPine Script 'Could Not Find Function' Error: Why It Happens and How to Fix It
ReadStrategy10 Pine Script Indicators Worth Building in 2026 (And How)
ReadPine ScriptPine Script Alerts: alert() vs alertcondition() and When to Use Each
ReadTutorialHow to Write an RSI Strategy in Pine Script v6 (With Working Code)
ReadComparisonFree vs Paid Pine Script AI: Is It Worth Paying?
ReadGuidePine Script Generator vs Writing It By Hand: Which Is Faster?
ReadGuideWhy AI Gets Pine Script Wrong (And How to Fix It)
ReadGuideThe Best Pine Script AI for Beginners in 2026
ReadComparisonCan ChatGPT Write Pine Script v6? We Tested It Properly
ReadPine ScriptPine Script Compile Errors: The Most Common Causes and Exact Fixes
ReadEducationTradingView Pine Script Generator: How AI Writes Your Strategy Code
ReadStrategyPine Script Strategy Optimizer: How to Find the Best Parameters for Your Strategy
ReadTutorialHow to Create a Pine Script Strategy with AI: Complete 2026 Guide
ReadPine ScriptPine Script v6 Function Reference: ta.*, strategy.*, input.*, request.*
ReadTutorialHow to Install TradePilot in TradingView (Step-by-Step Guide)
ReadComparisonBest Free AI Tools for Pine Script in 2026 (Honest Comparison)
ReadPine ScriptPine Script v6 Syntax Changes: Everything That Breaks Coming from v5
ReadEducationThe Best TradingView Indicators and Strategy Types in 2025 (And How to Build Them with AI)
ReadEducationHow to Backtest a Trading Strategy in TradingView (The Right Way)
ReadComparisonTradePilot vs ChatGPT for Pine Script: Why a Specialist Wins Every Time
ReadProductEdit Any Pine Script Strategy with Plain English — No Coding Required
ReadProductOne Click to Fix Any Pine Script Error Inside TradingView
ReadProductStop Guessing Parameters. TradePilot's Strategy Optimizer Tests Them All.
ReadProductWe Built the Fastest AI Pine Script Generator Inside TradingView
ReadPine ScriptEMA Crossover Strategy in Pine Script v6: Full Code with RSI Filter, Stop Loss & Alerts
ReadBacktestingTradingView Backtesting Guide 2025: How to Test Any Strategy with Pine Script
ReadAI TradingAI Pine Script Generator: How to Create TradingView Strategies Without Coding in 2025
ReadPine ScriptPine Script Strategy: The Complete 2025 Guide to Writing TradingView Strategies
Read