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.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuyla, bu komut dosyasının mimarı, yatırımcıların işlevselliğini inceleyip doğrulayabilmesi için onu açık kaynaklı hale getirdi. Yazarı tebrik ederiz! Ücretsiz olarak kullanabilseniz de, kodu yeniden yayınlamanın Topluluk Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuyla, bu komut dosyasının mimarı, yatırımcıların işlevselliğini inceleyip doğrulayabilmesi için onu açık kaynaklı hale getirdi. Yazarı tebrik ederiz! Ücretsiz olarak kullanabilseniz de, kodu yeniden yayınlamanın Topluluk Kurallarımıza tabi olduğunu unutmayın.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.