OPEN-SOURCE SCRIPT
EMA + RSI Trade Decision Table

EMA + RSI Trade Decision Table
Indicator Explanation
This indicator is a rule-based trade decision system designed for 1-hour charts, focusing on clean trend pullbacks using EMA structure, RSI context, and confirmation filters.
It does not auto-trade. Instead, it evaluates market conditions and tells you when a trade is statistically justified.
1. Market Structure & Trend Detection
The indicator uses three EMAs:
EMA 50
EMA 100
EMA 200
Trend Regime
Bullish regime: EMA50 > EMA100
Bearish regime: EMA50 < EMA100
Optional confirmation: price above/below EMA200
The detected regime defines:
Whether longs or shorts are allowed
Which RSI zone is valid
This prevents trading against the dominant trend.
2. Dynamic RSI Zones (Context Filter)
RSI is not used as a simple overbought/oversold signal.
Instead, it adapts to the trend regime:
Bull market: higher RSI range allowed
Bear market: lower RSI range allowed
Additionally, a clean directional filter is applied:
Longs require RSI ≥ minimum long value
Shorts require RSI ≤ maximum short value
This avoids:
Longs in weak momentum
Shorts during strong bullish pressure
3. EMA Pullback & Rejection Logic
A trade is only considered if price performs a controlled pullback:
Price must touch EMA50 or EMA100 within a small tolerance
A rejection candle is required:
Long: candle closes bullish above EMA50
Short: candle closes bearish below EMA50
This ensures entries occur:
Close to structure
With confirmation, not anticipation
4. Distance & Risk Filters (Trade Quality)
To avoid late or low-quality entries, several blockers are used:
Price Distance Filter
If price is too far from EMA50, the trade is blocked
Prevents chasing extended moves
EMA Distance Filter
If EMA50 and EMA100 are too close, the market is considered choppy
Prevents trading in sideways conditions
Cooldown After EMA Cross
After EMA50/EMA100 cross, trades are blocked for a set number of candles
Avoids whipsaws during regime transitions
5. Confidence Score (0–100)
Each potential trade (long and short separately) receives a confidence score based on:
RSI position
Pullback & rejection quality
Trend alignment
EMA200 context
Distance and cooldown penalties
Scores are normalized between 0 and 100 and graded:
A (high quality)
B (acceptable)
C (low quality)
6. Trade Decision Logic
A trade becomes ENTRY-READY only if:
All required conditions are met
The confidence score exceeds the user-defined minimum
Possible outcomes:
LONG = YES
SHORT = YES
NO TRADE
The indicator never forces trades — it filters aggressively.
7. Status System (Decision Support)
The table displays a high-level status:
NO SETUP – no valid structure
PREPARE – conditions building
WATCH – high quality, waiting for confirmation
EXECUTE (LONG / SHORT) – entry conditions fulfilled
Status changes can trigger alerts (on candle close).
8. Table Modes
Compact
Quick overview: trend, RSI, distances, decision, status
Compact + Checks
Overview plus detailed condition checks (only when relevant)
Full Mode
Clean header showing:
Trend
Status
Trade decision
Followed by full long and short condition breakdown
Designed for decision clarity, not clutter.
9. Intended Use
This indicator is built for:
1H trend-pullback trading
Discretionary execution
High-quality setups with controlled frequency
It prioritizes:
Structure
Momentum
Risk control
Patience
Summary
Trade less, trade better. Ergün Özmen
Indicator Explanation
This indicator is a rule-based trade decision system designed for 1-hour charts, focusing on clean trend pullbacks using EMA structure, RSI context, and confirmation filters.
It does not auto-trade. Instead, it evaluates market conditions and tells you when a trade is statistically justified.
1. Market Structure & Trend Detection
The indicator uses three EMAs:
EMA 50
EMA 100
EMA 200
Trend Regime
Bullish regime: EMA50 > EMA100
Bearish regime: EMA50 < EMA100
Optional confirmation: price above/below EMA200
The detected regime defines:
Whether longs or shorts are allowed
Which RSI zone is valid
This prevents trading against the dominant trend.
2. Dynamic RSI Zones (Context Filter)
RSI is not used as a simple overbought/oversold signal.
Instead, it adapts to the trend regime:
Bull market: higher RSI range allowed
Bear market: lower RSI range allowed
Additionally, a clean directional filter is applied:
Longs require RSI ≥ minimum long value
Shorts require RSI ≤ maximum short value
This avoids:
Longs in weak momentum
Shorts during strong bullish pressure
3. EMA Pullback & Rejection Logic
A trade is only considered if price performs a controlled pullback:
Price must touch EMA50 or EMA100 within a small tolerance
A rejection candle is required:
Long: candle closes bullish above EMA50
Short: candle closes bearish below EMA50
This ensures entries occur:
Close to structure
With confirmation, not anticipation
4. Distance & Risk Filters (Trade Quality)
To avoid late or low-quality entries, several blockers are used:
Price Distance Filter
If price is too far from EMA50, the trade is blocked
Prevents chasing extended moves
EMA Distance Filter
If EMA50 and EMA100 are too close, the market is considered choppy
Prevents trading in sideways conditions
Cooldown After EMA Cross
After EMA50/EMA100 cross, trades are blocked for a set number of candles
Avoids whipsaws during regime transitions
5. Confidence Score (0–100)
Each potential trade (long and short separately) receives a confidence score based on:
RSI position
Pullback & rejection quality
Trend alignment
EMA200 context
Distance and cooldown penalties
Scores are normalized between 0 and 100 and graded:
A (high quality)
B (acceptable)
C (low quality)
6. Trade Decision Logic
A trade becomes ENTRY-READY only if:
All required conditions are met
The confidence score exceeds the user-defined minimum
Possible outcomes:
LONG = YES
SHORT = YES
NO TRADE
The indicator never forces trades — it filters aggressively.
7. Status System (Decision Support)
The table displays a high-level status:
NO SETUP – no valid structure
PREPARE – conditions building
WATCH – high quality, waiting for confirmation
EXECUTE (LONG / SHORT) – entry conditions fulfilled
Status changes can trigger alerts (on candle close).
8. Table Modes
Compact
Quick overview: trend, RSI, distances, decision, status
Compact + Checks
Overview plus detailed condition checks (only when relevant)
Full Mode
Clean header showing:
Trend
Status
Trade decision
Followed by full long and short condition breakdown
Designed for decision clarity, not clutter.
9. Intended Use
This indicator is built for:
1H trend-pullback trading
Discretionary execution
High-quality setups with controlled frequency
It prioritizes:
Structure
Momentum
Risk control
Patience
Summary
Trade less, trade better. Ergün Özmen
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.
Mã nguồn mở
Theo đúng tinh thần TradingView, tác giả của tập lệnh này đã công bố nó dưới dạng mã nguồn mở, để các nhà giao dịch có thể xem xét và xác minh chức năng. Chúc mừng tác giả! Mặc dù bạn có thể sử dụng miễn phí, hãy nhớ rằng việc công bố lại mã phải tuân theo Nội quy.
Thông báo miễn trừ trách nhiệm
Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.