TutorialJun 12, 20267 min read8 views

How to Write an RSI Strategy in Pine Script v6 (With Working Code)

A complete, copy-paste RSI strategy in Pine Script v6 — entries, exits, stop loss, and alerts. Plus the three mistakes that make most RSI scripts repaint or never trade.

What an RSI strategy actually needs

RSI (Relative Strength Index) measures momentum on a 0–100 scale. The classic strategy buys when RSI is oversold (below 30) and sells when it's overbought (above 70). Simple in theory — but a naive implementation either trades on every bar or repaints after the fact.

A production RSI strategy in Pine Script v6 needs four things: a real entry condition using a cross (not a level), a stop loss stored at entry, a take-profit target, and alerts. Miss any one and the backtest lies to you.

  • Use ta.crossover/ta.crossunder, not 'rsi < 30' (which is true on every oversold bar)
  • Gate entries with barstate.isconfirmed to avoid intrabar repainting
  • Store stop and target in 'var float' at entry — never recalc every bar
  • Add alert() inside the entry block with a real message

The Pine Script v6 RSI strategy

Here is a complete, compile-clean RSI mean-reversion strategy. Paste it into the TradingView Pine Editor and click Add to chart.

//@version=6
strategy("RSI Mean Reversion", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.04, slippage=1)

rsiLen = input.int(14, "RSI Length", minval=1)
osLevel = input.float(30, "Oversold", minval=1, maxval=50)
obLevel = input.float(70, "Overbought", minval=50, maxval=99)
atrMult = input.float(1.5, "ATR Stop Mult", minval=0.1, step=0.1)
rr = input.float(2.0, "Reward:Risk", minval=0.5, step=0.1)

rsi = ta.rsi(close, rsiLen)
atr = nz(ta.atr(14), ta.tr)
longEntry = ta.crossover(rsi, osLevel)
shortEntry = ta.crossunder(rsi, obLevel)

var float longStop = na
var float longTP = na
if strategy.position_size == 0
    longStop := na
    longTP := na

if longEntry and barstate.isconfirmed
    strategy.entry("Long", strategy.long)
    longStop := close - atrMult * atr
    longTP := close + atrMult * atr * rr
    alert("RSI long " + syminfo.ticker, alert.freq_once_per_bar_close)

strategy.exit("Long X", from_entry="Long", stop=longStop, limit=longTP)
plot(rsi, "RSI", display=display.none)

Tip

Want this generated for any indicator in seconds, injected straight into TradingView? That's exactly what TradePilot does — describe it in plain English and get clean v6 code.

Three mistakes that ruin RSI strategies

First: using 'rsi < 30' as the entry. That condition is true on every bar RSI stays oversold, so the strategy fires repeatedly. Use ta.crossover(rsi, 30) so it triggers once, on the bar RSI crosses up.

Second: no barstate.isconfirmed. Without it, signals can appear intrabar and vanish — your backtest shows trades that never would have happened live.

Third: recalculating the stop from current price every bar. Store it once at entry in a var float so it stays fixed for the life of the trade.

TP

TradePilot Team

Traders and engineers building the fastest way to go from idea to live Pine Script strategy, right inside TradingView.

More articles

Pine Script

TradingView Alerts Not Firing? The Pine Script Reasons and Fixes

Read
Guide

Pine Script for Beginners: Where to Start in 2026

Read
Education

Can AI Write Profitable Trading Strategies? An Honest Answer

Read
Tutorial

The EMA Crossover Strategy in Pine Script v6 (Complete Guide + Code)

Read
Comparison

Pine Script vs MQL vs thinkScript: Which Trading Language Should You Learn?

Read
Pine Script

Multi-Timeframe Pine Script: Using request.security Without Repainting

Read
Education

TradingView Strategy Tester Explained: Reading Your Backtest Like a Pro

Read
Tutorial

How to Add a Stop Loss and Take Profit in Pine Script v6

Read
Pine Script

Pine Script 'Could Not Find Function' Error: Why It Happens and How to Fix It

Read
Strategy

10 Pine Script Indicators Worth Building in 2026 (And How)

Read
Pine Script

Pine Script Alerts: alert() vs alertcondition() and When to Use Each

Read
Comparison

Free vs Paid Pine Script AI: Is It Worth Paying?

Read
Guide

Pine Script Generator vs Writing It By Hand: Which Is Faster?

Read
Guide

Why AI Gets Pine Script Wrong (And How to Fix It)

Read
Guide

The Best Pine Script AI for Beginners in 2026

Read
Comparison

Can ChatGPT Write Pine Script v6? We Tested It Properly

Read
Pine Script

Pine Script Compile Errors: The Most Common Causes and Exact Fixes

Read
Education

TradingView Pine Script Generator: How AI Writes Your Strategy Code

Read
Strategy

Pine Script Strategy Optimizer: How to Find the Best Parameters for Your Strategy

Read
Tutorial

How to Create a Pine Script Strategy with AI: Complete 2026 Guide

Read
Pine Script

Pine Script v6 Function Reference: ta.*, strategy.*, input.*, request.*

Read
Tutorial

How to Install TradePilot in TradingView (Step-by-Step Guide)

Read
Comparison

Best Free AI Tools for Pine Script in 2026 (Honest Comparison)

Read
Pine Script

Pine Script v6 Syntax Changes: Everything That Breaks Coming from v5

Read
Education

The Best TradingView Indicators and Strategy Types in 2025 (And How to Build Them with AI)

Read
Education

How to Backtest a Trading Strategy in TradingView (The Right Way)

Read
Education

Pine Script v6 Complete Guide: Strategies, Indicators, and Alerts That Actually Work

Read
Comparison

TradePilot vs ChatGPT for Pine Script: Why a Specialist Wins Every Time

Read
Product

Edit Any Pine Script Strategy with Plain English — No Coding Required

Read
Product

One Click to Fix Any Pine Script Error Inside TradingView

Read
Product

Stop Guessing Parameters. TradePilot's Strategy Optimizer Tests Them All.

Read
Product

We Built the Fastest AI Pine Script Generator Inside TradingView

Read
Pine Script

EMA Crossover Strategy in Pine Script v6: Full Code with RSI Filter, Stop Loss & Alerts

Read
Backtesting

TradingView Backtesting Guide 2025: How to Test Any Strategy with Pine Script

Read
AI Trading

AI Pine Script Generator: How to Create TradingView Strategies Without Coding in 2025

Read
Pine Script

Pine Script Strategy: The Complete 2025 Guide to Writing TradingView Strategies

Read

Ready to elevate your trading?

Join thousands of traders using TradePilot.co.in to generate profitable Pine Script strategies.

No credit card required1,000 free credits / monthWorks inside TradingViewCancel anytime