Minervini SEPA System

A comprehensive Pine Script v6 indicator implementing Mark Minervini's SEPA (Specific Entry Point Analysis) methodology and his famous 8-point Trend Template for identifying Stage 2 momentum stocks.
## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Features](#features)
- [Understanding the Indicator](#understanding-the-indicator)
- [How to Use](#how-to-use)
- [Criteria Explained](#criteria-explained)
- [Interpreting Signals](#interpreting-signals)
- [Best Practices](#best-practices)
- [Limitations](#limitations)
- [Settings](#settings)
- [Alerts](#alerts)
- [Additional Resources](#additional-resources)
---
## Overview
This indicator is based on Mark Minervini's trading methodology as described in his books "Trade Like a Stock Market Wizard" and "Think & Trade Like a Champion." It systematically evaluates stocks against Minervini's 8-point Trend Template to identify stocks in confirmed Stage 2 uptrends with institutional support.
**Key Philosophy**: Only buy stocks that meet ALL criteria simultaneously. This ensures you're buying the strongest stocks at the right time with proper risk/reward setups.
---
## Installation
1. Open TradingView and navigate to any chart
2. Click on the "Pine Editor" tab at the bottom of the screen
3. Copy the entire Pine Script code
4. Paste it into the Pine Editor
5. Click "Add to Chart"
6. The indicator will appear as an overlay on your chart with a criteria table
---
## Features
### ✅ 8-Point Trend Template Assessment
Real-time evaluation of all eight criteria that define a Stage 2 momentum stock:
- Price positioning relative to key moving averages
- Moving average alignment and trajectory
- 52-week range positioning
- Relative strength measurement
### 📊 Visual Table Display
- **Status Column**: ✓ (green) = criterion met, ✗ (red) = not met
- **Value Column**: Current measurements for each criterion
- **Overall Status**: Clear "SETUP" or "NO SETUP" indication
- **Stage Identification**: Confirms if stock is in Stage 2
### 📈 Chart Overlays
- **50-day MA** (Blue): Short-term trend
- **150-day MA** (Orange): Intermediate trend
- **200-day MA** (Red): Long-term trend
- **Background Coloring**:
- Light green = Stage 2 confirmed
- Bright lime = All criteria met (ideal setup)
### 🎯 VCP Pattern Detection
Simplified Volatility Contraction Pattern recognition:
- Identifies tightening price action
- Confirms higher lows during consolidation
- Marks potential low-risk entry points with triangle markers
### 🔔 Built-in Alerts
Three alert conditions:
- All criteria met
- VCP pattern detected
- Stock entering Stage 2
---
## Understanding the Indicator
### Stage 2 Uptrend (The Foundation)
Mark Minervini adapted Stan Weinstein's Stage Analysis. Stocks go through four stages:
- **Stage 1**: Basing/Accumulation
- **Stage 2**: Advancing/Markup ← **We only buy here**
- **Stage 3**: Topping/Distribution
- **Stage 4**: Declining/Markdown
The indicator identifies Stage 2 when:
- Price is above all major moving averages
- All moving averages are trending upward
- Moving averages are properly aligned (50 > 150 > 200)
### The 8-Point Trend Template
This is Minervini's quantified checklist that must ALL be met simultaneously. Missing even one criterion means the setup is not optimal.
---
## How to Use
### Step 1: Apply to Your Watchlist
Add the indicator to stocks you're considering for purchase. Don't use it as a screener replacement—use it to validate potential trades.
### Step 2: Check the Table
Look at the criteria table (usually in the top-right corner):
- **All green checkmarks (✓)** = Stock meets all criteria
- **Any red X marks (✗)** = Setup is not complete
- **Bottom row**: Should read "SETUP" and "Stage 2" when ready
### Step 3: Look for VCP Pattern
- Watch for triangle markers below price bars
- These indicate volatility contraction with higher lows
- VCP + All Criteria Met = Optimal entry opportunity
### Step 4: Confirm with Fundamentals
Remember: This indicator only covers technical analysis. Minervini also requires:
- **Earnings Growth**: 20-50%+ quarterly EPS growth
- **Sales Growth**: 20%+ revenue growth
- **Institutional Accumulation**: Increasing institutional ownership
- **Catalyst**: A reason for the stock to move (new product, sector rotation, etc.)
### Step 5: Plan Your Trade
If all criteria are met:
- **Entry**: On breakout from VCP or pivot point
- **Stop Loss**: 7-8% maximum (Minervini's golden rule)
- **Position Size**: Risk no more than 1-2% of capital per trade
- **Profit Target**: Trail stop, sell into parabolic strength
---
## Criteria Explained
### 1. Price > 150 & 200 MA
**What it means**: Stock is in an established uptrend
**Why it matters**: Confirms long-term strength and institutional support
**Green when**: Current price is above both moving averages
### 2. 150 MA > 200 MA
**What it means**: Intermediate trend is stronger than long-term trend
**Why it matters**: Shows acceleration and confirms Stage 2
**Green when**: 150-day MA is above 200-day MA
### 3. 200 MA Rising
**What it means**: Long-term trend is positive
**Why it matters**: Foundation must be solid for sustainable moves
**Green when**: 200 MA is higher than it was 5 days ago
### 4. 50 MA > 150 & 200 MA
**What it means**: Short-term momentum is leading the way
**Why it matters**: Recent price action is strongest (proper MA alignment)
**Green when**: 50-day MA is above both 150 and 200-day MAs
### 5. Price > 50 MA
**What it means**: Stock is above short-term support
**Why it matters**: Reduces risk of buying extended stocks
**Green when**: Current price is above 50-day MA
**Value shows**: Percentage above/below 50 MA
### 6. 30%+ Above 52-Week Low
**What it means**: Stock has significant upward momentum
**Why it matters**: Filters out dead money and weak stocks
**Green when**: Price is at least 30% higher than 52-week low
**Value shows**: Actual percentage gain from low
### 7. Within 25% of 52-Week High
**What it means**: Stock is leading, not lagging
**Why it matters**: Big winners make new highs; this criterion identifies leaders
**Green when**: Price is within 25% of 52-week high (75%+ of high)
**Value shows**: Percentage of 52-week high achieved
### 8. Strong Relative Strength
**What it means**: Stock is outperforming the market
**Why it matters**: You want to own the strongest stocks
**Green when**: Year-over-year return is positive (>100%)
**Value shows**: Performance over past 252 trading days
**Note**: This is simplified; true RS compares to market index
### VCP Pattern (Bonus)
**What it means**: Volatility is contracting during consolidation
**Why it matters**: Shows supply is being absorbed; breakouts from VCPs are powerful
**Detected when**: Price range tightens while maintaining higher lows in Stage 2
---
## Interpreting Signals
### 🟢 Perfect Setup (All Criteria + VCP)
**What you see**:
- All 8 checkmarks green
- "SETUP" in bottom row
- Triangle marker on chart
- Bright lime background
**What to do**:
- Verify fundamentals (earnings, sales, etc.)
- Wait for tight consolidation breakout
- Prepare entry order with 7-8% stop loss
### 🟡 Stage 2 But Incomplete
**What you see**:
- Light green background
- Some criteria met, others not
- "Stage 2" but "NO SETUP"
**What to do**:
- Monitor daily for criteria completion
- Don't enter until ALL are met
- Stock is on the right track but not ready
### 🔴 Not Ready
**What you see**:
- Multiple red X marks
- No green background
- "Not Stage 2"
**What to do**:
- Remove from immediate watchlist
- Check back weekly or monthly
- Focus on stocks with better setups
---
## Best Practices
### ✅ Do's
- **Wait for all 8 criteria** before entering a position
- **Use on liquid stocks** (average volume >500K shares/day)
- **Combine with fundamental analysis** (this indicator only covers technicals)
- **Set alerts** for when criteria become met
- **Respect the 7-8% stop loss** rule religiously
- **Trade multiple timeframes** (daily chart for entries, weekly for confirmation)
- **Focus on leading stocks** in leading sectors
### ❌ Don'ts
- **Don't buy partial setups** (6 or 7 criteria met is not enough)
- **Don't ignore fundamentals** (strong chart + weak earnings = trap)
- **Don't skip the stop loss** (position sizing requires strict risk management)
- **Don't chase parabolic moves** (if price is >20% above 50 MA, wait for pullback)
- **Don't use in bear markets** (Stage 2 setups are rare when market is in Stage 4)
- **Don't ignore the overall market** (even perfect setups fail in bad markets)
---
## Limitations
### Technical Limitations
1. **Relative Strength is simplified**: True RS rating requires comparison to S&P 500; this uses year-over-year self-performance
2. **VCP detection is basic**: Manual chart reading is still superior for identifying true VCPs
3. **No fundamental data**: You must verify earnings, sales, margins, and institutional ownership separately
4. **Lagging indicators**: Moving averages lag price action by definition
### Conceptual Limitations
1. **Not a holy grail**: Meeting all criteria doesn't guarantee success
2. **Market dependent**: Works best in bull markets; produces few signals in bears
3. **Requires context**: Sector rotation, market internals, and overall trend matter
4. **False signals possible**: Stocks can meet criteria then immediately fail
### What This Indicator CANNOT Do
- Screen stocks (apply it to existing watchlist)
- Replace fundamental analysis
- Tell you exactly when to enter
- Guarantee profits
- Work in isolation without proper risk management
---
## Settings
### Adjustable Parameters
**MA Length** (default: 50)
- Standard is 50, 150, 200
- Some traders use 10, 30, 50 for shorter timeframes
- Changing this affects all criteria calculations
**Volume Average Length** (default: 50)
- Used for volume analysis
- Helps confirm institutional participation
**Show Table** (default: true)
- Toggle the criteria table on/off
- Useful if you prefer clean charts
**Table Position** (options: top_right, top_left, bottom_right, bottom_left)
- Choose where the criteria table appears
- Adjust based on your chart layout
---
## Alerts
Set up alerts to monitor multiple stocks efficiently:
### "All Criteria Met"
Triggers when all 8 criteria become true simultaneously. This is your primary alert for new setups.
**How to set**:
1. Click the "⏰" icon next to indicator name
2. Select "All Criteria Met"
3. Choose "Once Per Bar Close"
4. Set notification preferences
### "VCP Pattern Detected"
Triggers when volatility contraction pattern is identified. Use this to fine-tune entries.
### "Entered Stage 2"
Triggers when stock transitions into Stage 2 uptrend. This is an early warning—not all criteria may be met yet.
---
## Additional Resources
### Mark Minervini's Books
- **"Trade Like a Stock Market Wizard"** - Core methodology and principles
- **"Think & Trade Like a Champion"** - Advanced concepts and psychology
- **"Mindset Secrets for Winning"** - Mental framework for success
### Further Study
- Jack Schwager's "Stock Market Wizards" (features Minervini interview)
- Stan Weinstein's "Secrets for Profiting in Bull and Bear Markets" (Stage Analysis foundation)
- William O'Neil's "How to Make Money in Stocks" (CANSLIM, complementary system)
### Online Communities
- r/StockMarket and r/SwingTrading on Reddit
- TraderLion (Stage Analysis focus)
- Minervini Private Access (MPA) for official training
---
## Risk Disclosure
This indicator is for educational and informational purposes only. It does not constitute financial advice, and past performance does not guarantee future results.
**Key Risks**:
- All trading involves risk of loss
- Technical indicators can produce false signals
- Market conditions change rapidly
- This indicator shows only part of Minervini's complete system
**Always**:
- Use proper position sizing (1-2% risk per trade)
- Set stop losses before entering (7-8% maximum)
- Diversify across multiple positions
- Trade with capital you can afford to lose
- Seek professional financial advice for your situation
---
## Version History
**v1.0** - Initial Release
- Minervini's 8-point Trend Template
- Stage 2 identification
- VCP pattern detection (simplified)
- Criteria table with real-time status
- Built-in alerts
---
## Support & Feedback
This indicator is provided as-is for educational purposes. For issues or suggestions:
- Verify you're using Pine Script v6
- Check that your TradingView plan supports the required features
- Review the settings to ensure proper configuration
---
## License
This code is provided for personal use and education. Please respect Mark Minervini's intellectual property when using concepts from his methodology.
---
## Final Thoughts
Remember Mark Minervini's key principles:
> "I let stocks pick me, I don't pick them."
> "The key to trading success is emotional discipline. If intelligence were the key, there would be a lot more people making money trading."
> "Risk management is the most important thing to be well understood. Undertrade, undertrade, undertrade is my second piece of advice."
This indicator helps you identify when a stock "picks you" by meeting all technical criteria. But it's only one piece of the puzzle—combine it with fundamental analysis, proper risk management, and emotional discipline for the best results.
**Happy Trading!** 📈
Also, table can be moved to bottom right to make it easier to have other indicators in the view.
Invite-only script
Only users approved by the author can access this script. You'll need to request and get permission to use it. This is typically granted after payment. For more details, follow the author's instructions below or contact kellyhair directly.
TradingView does NOT recommend paying for or using a script unless you fully trust its author and understand how it works. You may also find free, open-source alternatives in our community scripts.
Author's instructions
Disclaimer
Invite-only script
Only users approved by the author can access this script. You'll need to request and get permission to use it. This is typically granted after payment. For more details, follow the author's instructions below or contact kellyhair directly.
TradingView does NOT recommend paying for or using a script unless you fully trust its author and understand how it works. You may also find free, open-source alternatives in our community scripts.