OPEN-SOURCE SCRIPT
Oat Minervini SET50 Dashboard Autoscan

# Dr.Oat SEPA SET50 Radar V2.0
**Dr.Oat SEPA SET50 Radar** is a quantitative screening tool designed to scan SET50 stocks using a rules-based framework inspired by SEPA and Stage 2 trend principles.
The indicator focuses on identifying stocks that are:
* In a strong Stage 2 uptrend
* Forming a constructive volatility contraction structure
* Approaching a potential Pivot Point
* Breaking out with expanding volume
* Becoming extended beyond an ideal entry zone
All calculations are performed on the **Daily timeframe**, regardless of the chart timeframe currently being viewed.
Because of Pine Script request limitations, the SET50 universe is divided into two groups:
**SET50 A:** Stocks 1–25
**SET50 B:** Stocks 26–50
For complete SET50 coverage, add the indicator to the chart twice and select one group for each instance.
---
# Dashboard Columns
## SEPA
SEPA is the overall setup score from 0 to 100.
The score currently combines:
* Trend Template Quality
* VCP Structure
* Volume Quality
* Pivot Position
* Breakout Quality
Daily RSI is **not included** in the SEPA Score.
A higher score indicates that more elements of the setup are aligned.
General interpretation:
**90–100:** Very Strong Setup
**80–89:** Strong Setup
**70–79:** Developing / Watch
**Below 70:** Lower Priority
A high SEPA Score does not automatically mean the stock should be bought.
Always review the price chart and risk/reward before entering a trade.
---
# TT — Trend Template
TT represents the number of Stage 2 Trend Template conditions currently satisfied.
The current model uses **7 conditions**.
### 1. Price Above SMA150 and SMA200
The current closing price must be above both the 150-day and 200-day simple moving averages.
### 2. SMA150 Above SMA200
The intermediate-term moving average must be above the long-term moving average.
### 3. SMA200 Rising
The current SMA200 must be above its value approximately 22 trading days ago.
This helps confirm that the long-term trend is rising.
### 4. SMA50 Above SMA150 and SMA200
The short-term moving average must be above both the intermediate and long-term averages.
### 5. Price at Least 25% Above the 52-Week Low
The current price must have advanced sufficiently from its 52-week low.
### 6. Price Within 25% of the 52-Week High
The current price should remain relatively close to its 52-week high.
### 7. Price Above SMA50
The current closing price must be above the 50-day moving average.
When the Dashboard shows:
**TT = 7/7**
the stock currently satisfies all Trend Template conditions used by this model.
---
# VCP Score
The VCP Score is a quantitative approximation of a **Volatility Contraction Pattern**.
The script does not attempt to visually recognize a classical VCP exactly as a discretionary trader would.
Instead, it evaluates several measurable characteristics:
* Base Depth
* Short-Term Range Contraction
* ATR Contraction
* Volume Dry-Up
* Right-Side Tightness
The maximum score is 100.
General interpretation:
**VCP >= 70:** Constructive contraction characteristics are developing
**VCP >= 80:** Stronger volatility contraction structure
The VCP Score should be treated as a screening tool rather than a definitive pattern-recognition signal.
Always inspect the actual chart before trading.
---
# RSI(D)
RSI(D) displays the Daily Relative Strength Index.
Default setting:
**RSI Length = 14**
RSI is displayed for momentum information only.
RSI is:
* NOT used in the Trend Template
* NOT used in the VCP Score
* NOT used in the SEPA Score
General interpretation:
**RSI below 50:** Weak or neutral momentum
**RSI 50–60:** Improving momentum
**RSI 60–70:** Strong momentum
**RSI 70–80:** Very strong momentum
**RSI above 80:** Extremely strong momentum; check whether price is becoming extended
A high RSI is not automatically considered a sell signal.
Strong market leaders can remain at elevated RSI levels for extended periods.
---
# PIVOT%
PIVOT% shows the percentage distance between the current price and the calculated Pivot Point.
Example:
**-1.20%**
The current price is approximately 1.2% below the Pivot.
Example:
**+0.50%**
The stock is approximately 0.5% above the Pivot.
Values close to zero are particularly useful when monitoring potential breakout setups.
Default settings:
**READY Zone:** Within 5% below the Pivot
**Maximum Chase:** 3% above the Pivot
If price advances too far above the Pivot, the system classifies the stock as **EXTENDED**.
---
# RVOL
RVOL represents Relative Volume.
It compares current daily volume with the 50-day average volume.
Examples:
**RVOL = 0.50x**
Current volume is approximately 50% of the 50-day average.
This can be useful when looking for Volume Dry-Up before a breakout.
**RVOL = 1.00x**
Current volume is approximately equal to average volume.
**RVOL = 1.50x**
Current volume is approximately 50% above the 50-day average.
The default model requires approximately:
**RVOL >= 1.50x**
as part of breakout confirmation.
---
# STATUS
The Radar classifies each stock into one of five statuses.
## BREAKOUT
The stock:
* Passes the Trend Template
* Meets the minimum VCP requirement
* Trades above the Pivot
* Remains within the maximum chase zone
* Has sufficient Relative Volume
These stocks deserve immediate chart review.
BREAKOUT is not an automatic buy order.
Risk/reward and technical stop placement should still be evaluated.
---
## READY
The stock:
* Passes the Trend Template
* Meets the minimum VCP requirement
* Is trading close to, but still below, the Pivot
READY stocks are particularly useful for building a focused watchlist before a potential breakout.
Example:
**PIVOT% = -0.80%**
The stock is approximately 0.8% below its Pivot.
---
## DEVELOP
The stock is in a valid Stage 2 trend but is not yet classified as READY or BREAKOUT.
The setup may still be developing.
These stocks can remain on the watchlist for further observation.
---
## EXTENDED
The stock remains in a strong trend but has advanced beyond the configured Maximum Chase distance above its Pivot.
This status is designed as a warning:
**Do Not Chase**
EXTENDED does not necessarily mean the stock is weak.
It means the current entry location may offer an unfavorable risk/reward profile.
---
## SKIP
The stock does not currently meet the required trend/setup conditions.
It can generally be removed from the immediate trading focus.
---
# Installation
Open TradingView and go to:
**Pine Editor**
Create a new indicator and paste the complete:
**Dr.Oat SEPA SET50 Radar V2.0**
script.
Then select:
**Save → Add to chart**
---
# Recommended Setup — Radar A
Open Indicator Settings and select:
**SET50 Group:**
SET50 A (1-25)
**Display Mode:**
Qualified Only
**Maximum Rows:**
15
**Dashboard Position:**
Top Right
---
# Recommended Setup — Radar B
Add the same indicator to the chart a second time.
Then select:
**SET50 Group:**
SET50 B (26-50)
**Display Mode:**
Qualified Only
**Maximum Rows:**
15
**Dashboard Position:**
Bottom Right
This allows the two instances to cover the complete SET50 universe.
---
# Display Modes
## Qualified Only
Displays stocks where:
**TT = 7/7**
and
**VCP Score >= Minimum VCP Score**
This is the recommended default mode.
---
## READY + BREAKOUT
Displays only stocks currently classified as:
**READY**
or
**BREAKOUT**
This is particularly useful for daily trade preparation.
---
## All 25
Displays all stocks in the selected group.
This mode is useful for:
* Verifying data
* Comparing scores
* Reviewing developing stocks
* Troubleshooting the scanner
---
# Recommended Daily Workflow
Start by opening both SET50 Radar A and Radar B.
Then review stocks in the following order.
### 1. BREAKOUT
Check whether any stock is breaking above its Pivot with expanding volume.
### 2. READY
Identify stocks positioned just below their Pivot.
### 3. SEPA Score
Within the same status category, prioritize higher SEPA Scores.
### 4. Trend Template
Prefer stocks showing:
**TT = 7/7**
### 5. VCP Score
Review whether the stock is showing constructive contraction behavior.
### 6. PIVOT%
Determine how close the stock is to the breakout level.
### 7. RVOL
Before breakout, lower volume may indicate constructive Volume Dry-Up.
During breakout, rising RVOL can help confirm demand.
### 8. Review the Actual Chart
Always inspect:
* Base structure
* Pivot quality
* Price action
* Volume behavior
* Overhead supply
* Distance from moving averages
### 9. Define Entry, Stop and Position Size
The Radar is a screening tool.
Trade execution and risk management should be decided separately.
---
# Example Interpretation
Example:
**ADVANC**
SEPA = 91
TT = 7/7
VCP = 84
RSI(D) = 65
PIVOT% = -0.80%
RVOL = 0.55x
STATUS = READY
Interpretation:
ADVANC currently satisfies all Trend Template conditions.
Its quantitative VCP characteristics are constructive.
The price is approximately 0.8% below the Pivot.
Relative Volume is low, suggesting reduced trading activity ahead of the potential breakout.
The next step is to monitor whether price breaks the Pivot with expanding volume.
---
Another example:
**DELTA**
SEPA = 94
TT = 7/7
VCP = 88
RSI(D) = 72
PIVOT% = +0.50%
RVOL = 1.85x
STATUS = BREAKOUT
Interpretation:
The stock satisfies the Trend Template and VCP requirements.
Price has moved approximately 0.5% above the Pivot.
Relative Volume is approximately 85% above the 50-day average.
The system therefore classifies the stock as a potential BREAKOUT.
The trader should still evaluate the actual chart, technical stop level and risk/reward before taking a position.
---
# Limitations
Dr.Oat SEPA SET50 Radar is a **screening and decision-support tool**.
It does not evaluate:
* Earnings growth
* Revenue growth
* ROE
* Fundamental quality
* Valuation
* Company-specific news
* Market regime
* Foreign investor flow
* Earnings catalysts
* Portfolio-level risk
A READY or BREAKOUT signal should therefore not be interpreted as an automatic recommendation to buy.
The purpose of the Radar is to reduce the SET50 universe from 50 stocks to a much smaller list of technically interesting candidates that deserve further analysis.
---
# Core Workflow
**Scan → Rank → Focus → Review Chart → Manage Risk**
The goal is not to predict which stock will rise.
The goal is to systematically identify stocks showing the strongest combination of trend, contraction, proximity to a Pivot and volume behavior, then focus attention only on the highest-quality candidates.
**Dr.Oat SEPA SET50 Radar** is a quantitative screening tool designed to scan SET50 stocks using a rules-based framework inspired by SEPA and Stage 2 trend principles.
The indicator focuses on identifying stocks that are:
* In a strong Stage 2 uptrend
* Forming a constructive volatility contraction structure
* Approaching a potential Pivot Point
* Breaking out with expanding volume
* Becoming extended beyond an ideal entry zone
All calculations are performed on the **Daily timeframe**, regardless of the chart timeframe currently being viewed.
Because of Pine Script request limitations, the SET50 universe is divided into two groups:
**SET50 A:** Stocks 1–25
**SET50 B:** Stocks 26–50
For complete SET50 coverage, add the indicator to the chart twice and select one group for each instance.
---
# Dashboard Columns
## SEPA
SEPA is the overall setup score from 0 to 100.
The score currently combines:
* Trend Template Quality
* VCP Structure
* Volume Quality
* Pivot Position
* Breakout Quality
Daily RSI is **not included** in the SEPA Score.
A higher score indicates that more elements of the setup are aligned.
General interpretation:
**90–100:** Very Strong Setup
**80–89:** Strong Setup
**70–79:** Developing / Watch
**Below 70:** Lower Priority
A high SEPA Score does not automatically mean the stock should be bought.
Always review the price chart and risk/reward before entering a trade.
---
# TT — Trend Template
TT represents the number of Stage 2 Trend Template conditions currently satisfied.
The current model uses **7 conditions**.
### 1. Price Above SMA150 and SMA200
The current closing price must be above both the 150-day and 200-day simple moving averages.
### 2. SMA150 Above SMA200
The intermediate-term moving average must be above the long-term moving average.
### 3. SMA200 Rising
The current SMA200 must be above its value approximately 22 trading days ago.
This helps confirm that the long-term trend is rising.
### 4. SMA50 Above SMA150 and SMA200
The short-term moving average must be above both the intermediate and long-term averages.
### 5. Price at Least 25% Above the 52-Week Low
The current price must have advanced sufficiently from its 52-week low.
### 6. Price Within 25% of the 52-Week High
The current price should remain relatively close to its 52-week high.
### 7. Price Above SMA50
The current closing price must be above the 50-day moving average.
When the Dashboard shows:
**TT = 7/7**
the stock currently satisfies all Trend Template conditions used by this model.
---
# VCP Score
The VCP Score is a quantitative approximation of a **Volatility Contraction Pattern**.
The script does not attempt to visually recognize a classical VCP exactly as a discretionary trader would.
Instead, it evaluates several measurable characteristics:
* Base Depth
* Short-Term Range Contraction
* ATR Contraction
* Volume Dry-Up
* Right-Side Tightness
The maximum score is 100.
General interpretation:
**VCP >= 70:** Constructive contraction characteristics are developing
**VCP >= 80:** Stronger volatility contraction structure
The VCP Score should be treated as a screening tool rather than a definitive pattern-recognition signal.
Always inspect the actual chart before trading.
---
# RSI(D)
RSI(D) displays the Daily Relative Strength Index.
Default setting:
**RSI Length = 14**
RSI is displayed for momentum information only.
RSI is:
* NOT used in the Trend Template
* NOT used in the VCP Score
* NOT used in the SEPA Score
General interpretation:
**RSI below 50:** Weak or neutral momentum
**RSI 50–60:** Improving momentum
**RSI 60–70:** Strong momentum
**RSI 70–80:** Very strong momentum
**RSI above 80:** Extremely strong momentum; check whether price is becoming extended
A high RSI is not automatically considered a sell signal.
Strong market leaders can remain at elevated RSI levels for extended periods.
---
# PIVOT%
PIVOT% shows the percentage distance between the current price and the calculated Pivot Point.
Example:
**-1.20%**
The current price is approximately 1.2% below the Pivot.
Example:
**+0.50%**
The stock is approximately 0.5% above the Pivot.
Values close to zero are particularly useful when monitoring potential breakout setups.
Default settings:
**READY Zone:** Within 5% below the Pivot
**Maximum Chase:** 3% above the Pivot
If price advances too far above the Pivot, the system classifies the stock as **EXTENDED**.
---
# RVOL
RVOL represents Relative Volume.
It compares current daily volume with the 50-day average volume.
Examples:
**RVOL = 0.50x**
Current volume is approximately 50% of the 50-day average.
This can be useful when looking for Volume Dry-Up before a breakout.
**RVOL = 1.00x**
Current volume is approximately equal to average volume.
**RVOL = 1.50x**
Current volume is approximately 50% above the 50-day average.
The default model requires approximately:
**RVOL >= 1.50x**
as part of breakout confirmation.
---
# STATUS
The Radar classifies each stock into one of five statuses.
## BREAKOUT
The stock:
* Passes the Trend Template
* Meets the minimum VCP requirement
* Trades above the Pivot
* Remains within the maximum chase zone
* Has sufficient Relative Volume
These stocks deserve immediate chart review.
BREAKOUT is not an automatic buy order.
Risk/reward and technical stop placement should still be evaluated.
---
## READY
The stock:
* Passes the Trend Template
* Meets the minimum VCP requirement
* Is trading close to, but still below, the Pivot
READY stocks are particularly useful for building a focused watchlist before a potential breakout.
Example:
**PIVOT% = -0.80%**
The stock is approximately 0.8% below its Pivot.
---
## DEVELOP
The stock is in a valid Stage 2 trend but is not yet classified as READY or BREAKOUT.
The setup may still be developing.
These stocks can remain on the watchlist for further observation.
---
## EXTENDED
The stock remains in a strong trend but has advanced beyond the configured Maximum Chase distance above its Pivot.
This status is designed as a warning:
**Do Not Chase**
EXTENDED does not necessarily mean the stock is weak.
It means the current entry location may offer an unfavorable risk/reward profile.
---
## SKIP
The stock does not currently meet the required trend/setup conditions.
It can generally be removed from the immediate trading focus.
---
# Installation
Open TradingView and go to:
**Pine Editor**
Create a new indicator and paste the complete:
**Dr.Oat SEPA SET50 Radar V2.0**
script.
Then select:
**Save → Add to chart**
---
# Recommended Setup — Radar A
Open Indicator Settings and select:
**SET50 Group:**
SET50 A (1-25)
**Display Mode:**
Qualified Only
**Maximum Rows:**
15
**Dashboard Position:**
Top Right
---
# Recommended Setup — Radar B
Add the same indicator to the chart a second time.
Then select:
**SET50 Group:**
SET50 B (26-50)
**Display Mode:**
Qualified Only
**Maximum Rows:**
15
**Dashboard Position:**
Bottom Right
This allows the two instances to cover the complete SET50 universe.
---
# Display Modes
## Qualified Only
Displays stocks where:
**TT = 7/7**
and
**VCP Score >= Minimum VCP Score**
This is the recommended default mode.
---
## READY + BREAKOUT
Displays only stocks currently classified as:
**READY**
or
**BREAKOUT**
This is particularly useful for daily trade preparation.
---
## All 25
Displays all stocks in the selected group.
This mode is useful for:
* Verifying data
* Comparing scores
* Reviewing developing stocks
* Troubleshooting the scanner
---
# Recommended Daily Workflow
Start by opening both SET50 Radar A and Radar B.
Then review stocks in the following order.
### 1. BREAKOUT
Check whether any stock is breaking above its Pivot with expanding volume.
### 2. READY
Identify stocks positioned just below their Pivot.
### 3. SEPA Score
Within the same status category, prioritize higher SEPA Scores.
### 4. Trend Template
Prefer stocks showing:
**TT = 7/7**
### 5. VCP Score
Review whether the stock is showing constructive contraction behavior.
### 6. PIVOT%
Determine how close the stock is to the breakout level.
### 7. RVOL
Before breakout, lower volume may indicate constructive Volume Dry-Up.
During breakout, rising RVOL can help confirm demand.
### 8. Review the Actual Chart
Always inspect:
* Base structure
* Pivot quality
* Price action
* Volume behavior
* Overhead supply
* Distance from moving averages
### 9. Define Entry, Stop and Position Size
The Radar is a screening tool.
Trade execution and risk management should be decided separately.
---
# Example Interpretation
Example:
**ADVANC**
SEPA = 91
TT = 7/7
VCP = 84
RSI(D) = 65
PIVOT% = -0.80%
RVOL = 0.55x
STATUS = READY
Interpretation:
ADVANC currently satisfies all Trend Template conditions.
Its quantitative VCP characteristics are constructive.
The price is approximately 0.8% below the Pivot.
Relative Volume is low, suggesting reduced trading activity ahead of the potential breakout.
The next step is to monitor whether price breaks the Pivot with expanding volume.
---
Another example:
**DELTA**
SEPA = 94
TT = 7/7
VCP = 88
RSI(D) = 72
PIVOT% = +0.50%
RVOL = 1.85x
STATUS = BREAKOUT
Interpretation:
The stock satisfies the Trend Template and VCP requirements.
Price has moved approximately 0.5% above the Pivot.
Relative Volume is approximately 85% above the 50-day average.
The system therefore classifies the stock as a potential BREAKOUT.
The trader should still evaluate the actual chart, technical stop level and risk/reward before taking a position.
---
# Limitations
Dr.Oat SEPA SET50 Radar is a **screening and decision-support tool**.
It does not evaluate:
* Earnings growth
* Revenue growth
* ROE
* Fundamental quality
* Valuation
* Company-specific news
* Market regime
* Foreign investor flow
* Earnings catalysts
* Portfolio-level risk
A READY or BREAKOUT signal should therefore not be interpreted as an automatic recommendation to buy.
The purpose of the Radar is to reduce the SET50 universe from 50 stocks to a much smaller list of technically interesting candidates that deserve further analysis.
---
# Core Workflow
**Scan → Rank → Focus → Review Chart → Manage Risk**
The goal is not to predict which stock will rise.
The goal is to systematically identify stocks showing the strongest combination of trend, contraction, proximity to a Pivot and volume behavior, then focus attention only on the highest-quality candidates.
開源腳本
秉持TradingView一貫精神,這個腳本的創作者將其設為開源,以便交易者檢視並驗證其功能。向作者致敬!您可以免費使用此腳本,但請注意,重新發佈代碼需遵守我們的社群規範。
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。
開源腳本
秉持TradingView一貫精神,這個腳本的創作者將其設為開源,以便交易者檢視並驗證其功能。向作者致敬!您可以免費使用此腳本,但請注意,重新發佈代碼需遵守我們的社群規範。
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。