CHAM TREND SYSTEM PRO v4.0# 🔥 CHAM TREND SYSTEM PRO
### Precision Market Structure • Liquidity • Supply & Demand • Trend Detection
**CHAM TREND SYSTEM PRO** is an advanced all-in-one TradingView indicator designed to help traders identify high-probability market opportunities by combining trend direction, market structure, liquidity, supply and demand, volume, momentum, moving averages, breakouts, retests, and dynamic support/resistance into one professional trading system.
Instead of relying on a single indicator, CHAM PRO uses **multiple confirmations before producing a BUY or SELL signal**, helping traders avoid many low-quality setups and unnecessary entries.
## 🚀 KEY FEATURES
### 🎯 PRECISION BUY & SELL SIGNALS
The CHAM Precision Engine evaluates multiple market conditions before generating a signal.
**🚀 CHAM BUY** can be confirmed by:
* Bullish trend
* MA alignment
* SMMA 50 direction
* EMA 200 trend
* Higher-timeframe confirmation
* Bullish market structure
* Positive momentum
* Strong volume
* Candle confirmation
* Demand/liquidity interaction
**🔥 CHAM SELL** uses the opposite conditions.
### 📈 MULTI-TIMEFRAME TREND FILTER
CHAM PRO can use a higher timeframe to determine the broader market direction and help prevent trading against the dominant trend.
**Example:**
**1H Trend → 15M Structure → 5M Entry**
### 📊 MOVING AVERAGE SYSTEM
Includes:
* Fast MA
* Slow MA
* MA Cross
* **SMMA 50**
* **EMA 200**
The MA system helps identify trend direction, momentum changes and potential continuation opportunities.
### 🧠 MARKET STRUCTURE
Automatically identifies:
**HH — Higher High**
**HL — Higher Low**
**LH — Lower High**
**LL — Lower Low**
This helps traders understand whether the market is developing a bullish or bearish structure.
### 💧 LIQUIDITY DETECTION
CHAM PRO identifies potential liquidity sweeps around important highs and lows.
**BSL — Buy-Side Liquidity**
**SSL — Sell-Side Liquidity**
Liquidity sweeps can help identify areas where price may reverse or continue after taking liquidity.
### 🟢 DEMAND & 🔴 SUPPLY ZONES
Automatically highlights potential demand and supply areas based on significant swing points.
**🟢 Demand = potential buying area**
**🔴 Supply = potential selling area**
### ⭐ BEST BUY & SELL ZONES
CHAM PRO combines several confirmations to highlight higher-confluence areas.
**⭐ BEST BUY ZONE**
Potential combination of:
* Demand
* Bullish trend
* Bullish MA alignment
* Liquidity sweep
* Momentum
* Volume
* Retest/confirmation
**⭐ BEST SELL ZONE**
Potential combination of:
* Supply
* Bearish trend
* Bearish MA alignment
* Liquidity sweep
* Momentum
* Volume
* Retest/confirmation
### 📏 SUPPORT & RESISTANCE
Dynamic support and resistance levels help identify important areas where price may react, break through or retest.
### 📐 AUTOMATIC TRENDLINES
CHAM PRO automatically draws trendlines from confirmed swing points to help visualize the current market direction.
### 💥 BREAKOUT & RETEST DETECTION
The system looks for breakouts supported by price action and volume, then monitors potential retests for more controlled entries.
### 📊 VOLUME CONFIRMATION
Volume is used as an additional filter to distinguish stronger moves from weaker price movements.
### 📈 MOMENTUM FILTER
RSI momentum helps determine whether bullish or bearish pressure is strengthening.
### 🛡️ ATR RISK MANAGEMENT
CHAM PRO provides dynamic reference levels for:
**ENTRY → STOP LOSS → TP1 → TP2 → TP3**
Targets can be configured according to your preferred risk/reward ratio.
### 📋 PROFESSIONAL DASHBOARD
The dashboard provides a quick overview of:
* Current trend
* MA direction
* SMMA 50
* Higher-timeframe trend
* Market structure
* BUY score
* SELL score
* Volume
* Liquidity
* Supply/Demand
* RSI
* Current signal
* System status
## 🧠 CHAM TRADING LOGIC
**TREND**
⬇️
**MARKET STRUCTURE**
⬇️
**SUPPLY / DEMAND**
⬇️
**LIQUIDITY**
⬇️
**MA ALIGNMENT**
⬇️
**MOMENTUM**
⬇️
**VOLUME**
⬇️
**BREAKOUT / RETEST**
⬇️
### 🚀 PRECISION BUY / 🔥 PRECISION SELL
The objective is simple:
**Don't chase every move. Wait for confluence.**
## ⚡ DESIGNED FOR
CHAM TREND SYSTEM PRO can be adapted for:
* Crypto
* Forex
* Indices
* Stocks
* Futures
It can also be used across different timeframes, with lower timeframes generally producing more signals and higher timeframes producing fewer but potentially broader setups.
## ⚠️ IMPORTANT
CHAM TREND SYSTEM PRO is a technical-analysis and decision-support tool. **No indicator can guarantee profitable trades or predict the market with certainty.**
Always combine signals with proper risk management, position sizing and your own analysis. Backtest the system on the specific asset and timeframe you intend to trade before using real capital.
### 🔥 CHAM TREND SYSTEM PRO
**SEE THE TREND.**
**READ THE STRUCTURE.**
**TRACK THE LIQUIDITY.**
**WAIT FOR THE ZONE.**
**CONFIRM THE MOVE.**
**EXECUTE WITH DISCIPLINE.**
Indicador

RTH Gap [TakingProphets]OVERVIEW
RTH Gap marks the Opening Range Gap: the gap between the prior regular-session close and the next regular-session open.
It measures from the prior RTH close at 4:14 PM New York time to the next RTH open at 9:30 AM New York time, draws that range as a box, and overlays quadrant levels at 0, 25, 50, 75, and 100 percent.
This indicator does not provide trading signals, entries, or forecasts. It is a visualization aid for studying the Opening Range Gap within an ICT-style analytical framework.
The Opening Range Gap (ORG) is the space between where the regular session closed and where it reopened the next day. Within ICT-style education, this gap and its internal quadrants, especially the 50 percent midpoint, are studied for how price reacts when it trades back into them. This tool marks the gap and its quadrants automatically so they can be reviewed objectively rather than drawn by hand.
PURPOSE AND SCOPE
-----------------------------------------------------------------------------------------------
The tool serves as a research and study aid to document and analyze the Opening Range Gap and its internal levels.
It is commonly used to:
Automate the marking of the daily RTH gap and its quadrants.
Study how price reacts at the 50 percent midpoint and the other quadrant levels.
Keep several prior gaps on the chart for multi-day review.
Journal how often a gap is filled, respected, or rejected.
Teach the Opening Range Gap concept in a mentorship or training context.
LOGIC STRUCTURE
-----------------------------------------------------------------------------------------------
RTH Gap detects the gap on the 1-minute series and displays it consistently on any chart timeframe.
Detection
The prior RTH close is captured at 4:14 PM New York time.
The next RTH open is captured at 9:30 AM New York time.
The gap between those two prices becomes the range for that session.
Detection runs on the 1-minute series and its values are latched, so the gap displays correctly whether the chart is on a low or high timeframe.
Quadrants
The gap is drawn as a box, with horizontal levels at 0, 25, 50, 75, and 100 percent of the range.
Each level can be toggled, colored, and styled independently, and optionally labeled with its percentage and formation date.
Selection and Retention
The number of gaps shown is user controlled.
Gaps can be selected either by how recently they formed or by proximity of their midpoint to current price.
An IPDA lookback setting controls how far back gaps are retained before being pruned.
COMPONENTS AND VISUALS
-----------------------------------------------------------------------------------------------
Gap Box — The range between the prior RTH close and the next RTH open.
Quadrant Levels — Horizontal lines at 0, 25, 50, 75, and 100 percent of the gap.
Quadrant Labels — Optional labels showing each level's percentage and, if enabled, the gap's formation date.
INPUT CATEGORIES
-----------------------------------------------------------------------------------------------
General — Enable toggle, IPDA lookback length, date-prefix and quadrant-label toggles, and the selection mode (Most recent or Proximity).
Opening Range Gaps — Master visibility and how many gaps to display.
Opening Range Gap Style — Box color, fill and border options, gradient toggle, label color and size, and independent visibility, color, style, and width for each of the five quadrant levels.
USAGE GUIDELINES
-----------------------------------------------------------------------------------------------
RTH Gap is suited for the review and documentation of Opening Range Gap behavior.
Recommended educational workflows:
Mark the daily RTH gap and review how price interacts with its 50 percent midpoint.
Keep two or three prior gaps on the chart to study multi-day reactions.
Compare gaps that fill quickly against those that hold as support or resistance.
Switch between Most recent and Proximity modes depending on the study.
Teach the Opening Range Gap concept in mentorship or training sessions.
The tool is oriented toward regular-session index futures, where the RTH gap is most applicable.
OPERATIONAL NOTES AND LIMITATIONS
-----------------------------------------------------------------------------------------------
Detection is based on the 4:14 PM and 9:30 AM New York session times and is oriented toward regular-session instruments.
Gap values are latched from the 1-minute series so they display on any chart timeframe.
The selection mode and display count control which gaps appear, not how many are detected.
The IPDA lookback setting controls how far back gaps are retained.
The box, quadrant lines, and labels are visual study aids only.
This tool does not include setups, entries, targets, or alerts.
ORIGINALITY AND ATTRIBUTION
-----------------------------------------------------------------------------------------------
The detection and rendering engine is written from scratch in Pine v6, using a latched 1-minute session-time detector so the gap displays on any timeframe, a quadrant gradient system with per-level styling, two selection modes, and a lookback-based retention system.
Core concepts such as the Opening Range Gap and its quadrant levels are publicly taught within ICT-style market education. This implementation was designed and engineered by TakingProphets.
TERMS AND DISCLAIMER
-----------------------------------------------------------------------------------------------
This indicator is for educational and informational use only. It does not provide financial advice or predictive output. Historical patterns do not guarantee future results. All users remain responsible for their own decisions. Use of this script implies agreement with TradingView's Terms of Use. Indicador

Educational - Candlesticks, Structure and SMC WHAT THIS IS
An educational tool for reading candlestick and market structure patterns. It identifies what has just formed on the chart and explains it in full sentences: what it is, what to watch for, what can happen next, and the exact condition that invalidates it. A second table continuously shows the Smart Money Concepts picture.
There are no entry signals, no alerts, no webhooks and no score meant for trading decisions in this script. If you are looking for a signal system, this is not it.
WHY IT IS DIFFERENT
Most pattern detectors print a name above the candle and stop there. That is not enough to learn from, because the same hammer is not the same event at the previous day low inside a downtrend as it is in the middle of the Asian range.
Two things address this:
Trend-context sensitivity. The same shape carries the opposite meaning at the top and bottom of a trend, and the script resolves this rather than flattening it. A long lower wick with a small upper body is a hammer in a downtrend, but at the top of an uptrend it is a hanging man - a bearish warning. A long upper wick at the bottom of a downtrend is an inverted hammer, not a shooting star. Most detectors conflate these two pairs.
A grade that names what is missing. Every recognised pattern is scored on six factors: proximity to a level, alignment with structure, kill zone timing, candle quality, volatility, and higher timeframe agreement. The grade itself is secondary. The useful part is the line listing which factors failed, so the lesson is not "a hammer is bullish" but what makes a hammer valuable or worthless.
WHAT IT RECOGNISES
Structural: break of structure up and down, change of character up and down, liquidity sweeps above and below, double top and double bottom on the neckline break, ascending and descending triangles, ranges.
Candlesticks: bullish and bearish engulfing, piercing line, dark cloud cover, bullish and bearish harami, belt hold, marubozu, tweezer top and bottom, hammer, hanging man, shooting star, inverted hammer, three white soldiers, three black crows, morning star, evening star, outside bar, inside bar, spinning top, doji.
THE SMC TABLE
Updates on every bar, not only when a new pattern appears:
Premium / discount position relative to the equilibrium of the last swing range
Bullish and bearish order block with price levels and state: fresh, tested, or broken into a breaker block
The nearest unfilled fair value gap with its boundaries
Liquidity pools: equal highs or equal lows where stops accumulate
Session and kill zone
Each item comes with an explanation of the concept itself, so no external reference is needed.
LANGUAGE
All table content is available in English and Hungarian. Use the "Language / Nyelv" setting in the first input group. English is the default. Input labels are bilingual, English first, because input labels cannot be switched at runtime in Pine.
SETTINGS
Deliberately minimal. Only what affects recognition is exposed: swing sensitivity (pivot length), the ATR penetration required for a structure break, the five timeframes used for agreement, and the position and text size of the two tables. Purely cosmetic options are fixed at sensible defaults in the code.
HOW TO USE IT
Put it on a clean chart, leave the educational table on, and read it when something forms. Do not trade the pattern name. Read the grade line: if it says a level is missing, or that the higher timeframes disagree, that is the actual lesson of the bar.
LIMITATIONS - please read
Patterns are evaluated on CLOSED bars. The live bar can still change.
Only ONE pattern is explained at a time, the most significant one by the internal ordering. Several patterns can be true on the same bar.
Piercing line and dark cloud cover are simplified, gap-free variants. Forex and crypto rarely produce true opening gaps, so an open beyond the previous CLOSE is accepted instead of beyond the previous high or low. This is stated in the table itself.
Double tops, double bottoms and triangles are derived from the last two swing points only. They are hints, not fully drawn patterns.
The kill zone is the traditional 07:00-10:00 local time window in London and New York. The London window starts one hour before the London session as defined in this script; that is intentional and matches common usage.
Candlestick patterns are not predictive on their own. Without context, levels and risk management they are not usable.
This is an educational and analytical tool. It is not financial advice and it does not guarantee any result.
MI EZ (magyar)
Oktatóeszköz a gyertyaalakzatok és a piaci szerkezet olvasásához. Felismeri, mi alakult ki éppen a charton, és teljes mondatokban elmagyarázza: mi ez, mire figyelj, mi történhet ezután, és pontosan mi teszi érvénytelenné. Egy második tábla folyamatosan mutatja a Smart Money Concepts helyzetképet.
Nincs benne belépő-jelzés, riasztás, webhook vagy kereskedési döntéshez szánt pontszám. Aki jelzőrendszert keres, ne ezt töltse le.
Miben más. A legtöbb alakzat-felismerő kiír egy nevet a gyertya fölé, és ennyi. Tanuláshoz ez kevés, mert ugyanaz a kalapács a napi támaszon, csökkenő trendben nem ugyanaz az esemény, mint az ázsiai sáv közepén.
Ezt két dolog kezeli. Egyrészt a trendkontextus: ugyanaz a forma ellentétes jelentésű a trend tetején és alján, és a szkript ezt feloldja. A hosszú alsó kanócos gyertya csökkenő trendben kalapács, emelkedő trend tetején viszont akasztott ember, vagyis bearish figyelmeztetés. Csökkenő trend alján a hosszú felső kanócos gyertya fordított kalapács, nem hullócsillag. Ezt a két párost a legtöbb felismerő összemossa.
Másrészt az osztályzat, ami megnevezi, mi hiányzik. Hat tényező: szint közelsége, szerkezeti irány, kill zone, gyertyaminőség, volatilitás, magasabb idősíkok egyetértése. Nem a jegy a lényeg, hanem a sor, ami felsorolja, melyik tényező bukott meg — így nem azt tanulod meg, hogy „a kalapács bullish", hanem azt, mitől lesz egy kalapács értékes vagy értéktelen.
Felismert alakzatok. Szerkezeti: BOS fel és le, CHoCH fel és le, likviditás-lehalászás mindkét irányban, dupla csúcs és dupla alj a nyakvonal törésekor, emelkedő és csökkenő háromszög, oldalazó sáv. Gyertyaminták: vevői és eladói elnyelő, átszúró vonal, sötét felhő takaró, bikás és medve harami, övfogás, marubozu, csipesz tető és alj, kalapács, akasztott ember, hullócsillag, fordított kalapács, három katona, három varjú, hajnalcsillag, esti csillag, külső és belső gyertya, pörgettyű, doji.
SMC tábla. Prémium/diszkont helyzet, bikás és medve order block az árszintekkel és állapottal (friss, tesztelve, törött breaker), a legközelebbi kitöltetlen fair value gap, likviditási poolok, szekció és kill zone — mindegyik mellé a fogalom magyarázatával.
Nyelv. A táblák tartalma angolul és magyarul is elérhető, az első beállítás-csoportban váltható. Alapértelmezés az angol.
Korlátok. Az alakzatok záró gyertyából számolódnak. Egyszerre egy alakzatot magyaráz el, pedig több is teljesülhet ugyanazon a gyertyán. Az átszúró vonal és a sötét felhő takaró egyszerűsített, rés nélküli változat. A dupla csúcs, dupla alj és a háromszögek csak az utolsó két lengőpontból származnak. A gyertyaalakzatok önmagukban nem prediktívek.
Ez oktatási és elemzési eszköz. Nem befektetési tanács, és nem garantál eredményt. Indicador

FRK TRADES ORDER BLOCKSFRK TRADES ORDER BLOCKS
FRK TRADES ORDER BLOCKS is a clean market structure indicator designed to automatically identify the most recent valid bullish or bearish order block on your chart.
Instead of displaying multiple historical zones and cluttering the chart, the indicator focuses on one active order block at a time — the latest valid area created before a confirmed Break of Structure (BOS).
How It Works
A Bullish Order Block is identified as the last bearish candle before price breaks bullish market structure.
A Bearish Order Block is identified as the last bullish candle before price breaks bearish market structure.
When a newer valid order block forms, the previous zone is automatically removed so the chart stays clean and focused.
If the active order block becomes invalidated, the zone is automatically removed.
How to Use It
Use the highlighted order block as a potential area of interest when price returns to the zone.
Green OB: Bullish order block — watch for potential bullish reaction or continuation.
Red OB: Bearish order block — watch for potential bearish reaction or continuation.
An order block should not be used as a trade signal by itself. Look for additional confirmation such as market structure, trend direction, liquidity, rejection, volume, or price action.
Settings
Structure Sensitivity: Controls how sensitive the indicator is when identifying market structure.
Order Block Lookback: Controls how far back the indicator searches for the candle that created the move.
BOS Confirmation: Choose whether structure must break with a candle close or simply a wick.
OB Length: Controls how many candles the order block box extends.
Bullish / Bearish Colors: Fully customizable.
Transparency: Adjust the visibility of the order block zones.
OB Label: Turn the OB label on or off.
Timeframes
FRK TRADES ORDER BLOCKS automatically adapts to the current chart timeframe and can be used on intraday, swing, or higher-timeframe charts.
Designed for markets including NQ, ES, Gold, Forex, Crypto, and other actively traded instruments.
FRK TRADES ORDER BLOCKS — one zone, one focus, clean structure. Indicador

Indicador

Indicador

SL/TP Trade Manager Template for SignalSync.toAutomated Trade Execution & Copy Trading
A modular, signal-agnostic trade management engine built to work with SignalSync.to.
This template does not generate trade entries itself . Instead, it takes a Long/Short trigger from any compatible TradingView indicator and handles everything downstream — initial stop-loss placement, ATR-based trailing, TP1/TP2 tracking, trade timeouts, and webhook-ready JSON alerts for automated execution.
It is designed as a reusable management layer: connect the same tested trade-management logic to different signal-generating indicators without duplicating the underlying code.
HOW IT WORKS
* Connect any signal source
Point the Long Trigger and Short Trigger inputs to the corresponding alert conditions from your signal indicator.
* Controlled entry timing
By default, the template applies a one-bar offset: a signal confirmed on bar N triggers the entry on the open of bar N+1. This follows standard non-repainting execution. The offset can be disabled when the connected indicator generates its trigger after bar close.
* Flexible initial stop-loss
Set the initial SL using an ATR multiple, or pull it from an external structural level such as a swing high/low or FVG edge. An optional opposite-level input can widen the stop to a structural floor/ceiling, but will never tighten it.
* Two trailing modes
Choose between:
* Continuous: re-evaluates the trailing stop on every eligible bar after the configured delay.
* Stepped: updates only at fixed bar intervals, useful for reducing SL-update noise in choppy markets.
* Independent TP1 / TP2 tracking
TP1 and TP2 are calculated using ATR multiples and tracked independently from the trailing stop. Each target has its own alert condition.
* Automatic timeout
Optionally force-close trades that remain open for more than a configured number of bars without reaching their SL or trailing exit.
VISUALS
* Entry Zone
Displays the initial SL/TP1 range at the moment of entry. The zone remains frozen even when the trailing stop subsequently moves.
* Live trade status
Entry zones are color-coded:
* Gray — trade still open or closed BE
* Green — TP1 reached
* Red — initial SL breached
* Zone Stats Table
Tracks the results of the most recent entry zones, including TP, SL and neutral/BE outcomes, together with the hit rate. This provides a quick view of how the connected signal is performing without relying on the Strategy Tester.
* Live management levels
Separate trailing SL, TP1 and TP2 lines are plotted on the chart, with pip-distance labels for both the entry zone and current trailing stop.
ALERTS & AUTOMATION
The template provides six alert conditions :
1. Long Entry
2. Short Entry
3. Stop Loss Hit
4. TP1 Hit
5. TP2 Hit
6. Timeout Exit
Each alert includes a pre-built JSON payload with TradingView placeholders , capturing the relevant values at the exact moment the alert fires.
The payload is designed as a starting point for integration with SignalSync.to . Fields such as `traderIdKey`, `tradeSide`, `relativeTakeProfit`, and `relativeStopLoss` can be adapted to your SignalSync configuration and credentials.
This allows the trade-management layer to send automated execution instructions directly through your TradingView → SignalSync → cTrader workflow.
NON-REPAINTING DESIGN
All internal trade-management logic uses confirmed-bar data and proper offsetting .
There is no lookahead in the entry/exit logic, and the alert payload captures values when the event actually occurs rather than relying on values that may change later as the chart updates.
IMPORTANT
This is a trade-management layer, not a signal generator .
It will not produce entries or plot trade-management levels until it is connected to a compatible indicator source through `input.source()`.
For educational and informational purposes only. This template is not financial advice. Test thoroughly in TradingView and on a demo account before connecting it to any live automated execution system.
Indicador

CHAM TREND SYSTEM ELITE# 🔥 CHAM TREND SYSTEM ELITE
### Advanced Multi-Confirmation Trading System
**CHAM TREND SYSTEM ELITE** is a professional TradingView indicator designed to help traders identify higher-quality trading opportunities by combining **trend direction, market structure, liquidity, supply and demand, moving averages, momentum, volume, breakouts and risk management** into one complete system.
The philosophy behind CHAM ELITE is simple:
> **Don't chase the market. Wait for confirmation and confluence.**
Instead of generating a BUY or SELL signal from a single indicator, the CHAM Precision Engine evaluates multiple conditions before allowing a signal to appear.
---
## 🚀 PRECISION BUY & SELL ENGINE
CHAM ELITE generates selective:
### 🟢 CHAM BUY
and
### 🔴 CHAM SELL
signals when multiple market conditions align.
The system evaluates:
* Trend direction
* Higher-timeframe trend
* MA alignment
* SMMA 50
* EMA 200
* Market structure
* Liquidity
* Supply and demand
* Volume
* RSI momentum
* Candle strength
* Breakouts
* Retests
This multi-confirmation approach is designed to reduce low-quality signals and help traders focus on stronger setups.
---
## 📊 CONFLUENCE SCORE
Every setup receives a **BUY SCORE** and **SELL SCORE** based on the number of confirmations present.
The score helps traders quickly determine whether the market has sufficient confluence.
### Example:
**BUY SCORE: 92/115**
Strong bullish confluence.
**SELL SCORE: 41/115**
Weak bearish confluence.
The score is a **confluence measurement**, not a guaranteed probability of winning.
---
# 📈 MULTI-TIMEFRAME TREND FILTER
CHAM ELITE can use a higher timeframe to help prevent trading against the broader market direction.
A powerful workflow is:
### 4H → 1H → 15M → 5M
**4H:** Identify the major market environment.
**1H:** Confirm the primary trend.
**15M:** Analyze structure, liquidity and zones.
**5M:** Look for the precision entry.
---
# 🧠 MARKET STRUCTURE
CHAM ELITE automatically identifies important market structure:
### HH — Higher High
### HL — Higher Low
### LH — Lower High
### LL — Lower Low
It also detects potential:
### BOS — Break of Structure
This helps traders understand whether buyers or sellers are controlling the market.
---
# 💧 LIQUIDITY DETECTION
The indicator identifies potential liquidity sweeps around important highs and lows.
### BSL — Buy-Side Liquidity
### SSL — Sell-Side Liquidity
Liquidity sweeps can provide important information about potential reversals, breakouts and continuation setups.
The strongest setups may occur when liquidity is swept and price subsequently confirms the opposite direction.
---
# 🟢 DEMAND & 🔴 SUPPLY
CHAM ELITE automatically identifies potential:
### 🟢 DEMAND ZONES
Areas where buying interest may appear.
### 🔴 SUPPLY ZONES
Areas where selling pressure may appear.
The system can combine these zones with trend, liquidity, momentum and volume to identify higher-confluence trading areas.
---
# ⭐ BEST BUY & BEST SELL ZONES
CHAM ELITE highlights potential high-confluence areas with:
### ⭐ BEST BUY
and
### ⭐ BEST SELL
These zones require several conditions to align rather than relying on a single indicator.
A potential BEST BUY setup can involve:
**Demand + bullish trend + liquidity sweep + momentum + volume + MA alignment**
A potential BEST SELL setup can involve:
**Supply + bearish trend + liquidity sweep + momentum + volume + MA alignment**
---
# 📐 TRENDLINES
The system automatically draws trendlines from confirmed swing points to help visualize the current market direction.
These can assist traders in identifying:
* Trend continuation
* Trend breaks
* Higher lows
* Lower highs
* Potential breakout areas
---
# 📏 SUPPORT & RESISTANCE
CHAM ELITE displays dynamic support and resistance levels to help identify important price areas.
These levels can be used together with:
* Liquidity
* Breakouts
* Retests
* Supply
* Demand
* Market structure
for additional confirmation.
---
# 💥 BREAKOUT & RETEST SYSTEM
CHAM ELITE detects potential breakout conditions and looks for confirmation through price action and volume.
Instead of blindly entering the first breakout candle, traders can wait for:
### BREAKOUT → RETEST → CONFIRMATION → ENTRY
This can help avoid chasing false breakouts.
---
# 📊 VOLUME CONFIRMATION
Volume is used to determine whether a price movement has stronger-than-normal participation.
The indicator compares current volume with its average and identifies periods of increased activity.
Strong price movement + strong volume can provide additional confirmation.
---
# 📈 MOMENTUM FILTER
The system uses RSI momentum to help determine whether bullish or bearish pressure is increasing.
### Bullish momentum
RSI above the bullish threshold and strengthening.
### Bearish momentum
RSI below the bearish threshold and weakening.
---
# 📈 MOVING AVERAGE SYSTEM
CHAM ELITE includes:
### 9 EMA
Fast momentum.
### 21 EMA
Short-term trend.
### SMMA 50
Intermediate trend direction.
### EMA 200
Major market trend.
The **9/21 MA Cross** can help identify momentum shifts, while the 50 SMMA and 200 EMA provide broader trend context.
---
# 🛡️ RISK MANAGEMENT
CHAM ELITE can automatically calculate reference levels for:
### ENTRY
Potential signal price.
### STOP LOSS
ATR-based invalidation level.
### TP1
First profit target.
### TP2
Second profit target.
### TP3
Extended profit target.
The system supports configurable risk/reward ratios such as:
**1R → 2R → 3R**
These levels are reference points and should always be adapted to the asset, volatility and trader's risk plan.
---
# 📋 PROFESSIONAL DASHBOARD
The dashboard provides a quick overview of the market:
* Current trend
* MA direction
* SMMA 50
* Higher-timeframe trend
* Market structure
* BUY score
* SELL score
* Volume
* Liquidity
* Supply/Demand
* RSI
* Current signal
* System status
Everything is designed to help traders make decisions without cluttering the chart with unnecessary indicators.
---
# 🔔 TRADINGVIEW ALERTS
CHAM ELITE includes alerts for:
* 🟢 Precision BUY
* 🔴 Precision SELL
* ⭐ Best Buy Zone
* ⭐ Best Sell Zone
* 📈 Bullish MA Cross
* 📉 Bearish MA Cross
* 💥 Bullish BOS
* 💥 Bearish BOS
* 💧 Buy-Side Liquidity Sweep
* 💧 Sell-Side Liquidity Sweep
This allows traders to monitor the market without watching the chart continuously.
---
# 🎯 CHAM ELITE TRADING PHILOSOPHY
The system follows a simple hierarchy:
**1. FIND THE TREND**
↓
**2. READ MARKET STRUCTURE**
↓
**3. IDENTIFY SUPPLY & DEMAND**
↓
**4. FIND LIQUIDITY**
↓
**5. WAIT FOR MA ALIGNMENT**
↓
**6. CONFIRM MOMENTUM**
↓
**7. CONFIRM VOLUME**
↓
**8. WAIT FOR BREAKOUT / RETEST**
↓
**9. CHECK CONFLUENCE SCORE**
↓
### 🚀 EXECUTE ONLY WHEN THE SETUP IS CONFIRMED
---
# ⚪ NO-TRADE IS ALSO A SIGNAL
One of the most important features of CHAM ELITE is that it does **not** need to generate a signal constantly.
When conditions are mixed, the system can simply show:
### ⚪ WAIT
This encourages traders to avoid forcing trades in unclear market conditions.
---
# 🔥 DESIGNED FOR
CHAM TREND SYSTEM ELITE can be adapted for:
* ₿ Cryptocurrency
* 💱 Forex
* 📊 Indices
* 📈 Stocks
* Futures
It can be used for scalping, intraday trading and higher-timeframe analysis, depending on the user's settings and risk management.
---
# ⚠️ IMPORTANT DISCLAIMER
CHAM TREND SYSTEM ELITE is a **technical-analysis and decision-support tool**.
No indicator can predict the future, guarantee winning trades or guarantee profits.
The BUY/SELL scores represent **technical confluence**, not guaranteed probabilities.
Always use proper position sizing, stop-loss management and risk control. Backtest the indicator on your preferred asset and timeframe before risking real capital.
### CHAM TREND SYSTEM ELITE
**READ THE TREND.**
**UNDERSTAND THE STRUCTURE.**
**TRACK THE LIQUIDITY.**
**WAIT FOR THE ZONE.**
**CONFIRM THE MOVE.**
**TRADE WITH DISCIPLINE.**
Indicador

Triple Period RSI Momentum Confirmation FrameworkTriple RSI — Momentum Confirmation Framework
RSI leads. Momentum confirms. Price breaks.
Vinod Triple RSI is a multi-period momentum framework designed to identify developing trend transitions by combining Triple RSI, MACD Histogram and DMI/ADX into one structured analytical view.
THE CORE IDEA
Momentum often changes before price structure confirms the move.
Rather than waiting for price to break a major trendline and then looking for confirmation, this framework first observes whether momentum is beginning to turn — and then looks for progressive confirmation from multiple independent measures.
THE CONFIRMATION SEQUENCE
1️⃣ Triple RSI — 21 / 14 / 7
The three RSI periods provide different speeds of momentum:
• RSI 21 → Structural momentum
• RSI 14 → Intermediate momentum
• RSI 7 → Short-term momentum
An important early signal occurs when RSI breaks its own declining structure before price breaks its corresponding trendline.
Conviction increases when the multiple RSI periods move above the 50 level, indicating broader bullish momentum alignment.
2️⃣ MACD Histogram
A transition from negative to positive Histogram, followed by expansion, provides confirmation that bullish momentum is strengthening.
3️⃣ DMI / ADX — DI Length 13 | ADX Smoothing 8
Further confirmation comes when:
DMI+ crosses above DMI−
and bullish directional strength moves above the 20 level.
4️⃣ PRICE STRUCTURE
The final confirmation is the actual price trendline / structure breakout.
THE FRAMEWORK
RSI Breakout
↓
RSI Multi-Period Alignment > 50
↓
MACD Histogram Turns Bullish
↓
DMI+ > DMI−
↓
Directional Strength > 20
↓
PRICE STRUCTURE BREAKOUT
THE KEY INSIGHT
RSI can lead.
Momentum can confirm.
Price ultimately validates the move.
The objective is therefore not to predict every breakout, but to recognize when momentum, directional strength and price structure progressively come into alignment.
The strongest setups are often those where momentum begins changing while price is still trapped below structural resistance, followed by confirmation from MACD, DMI/ADX and eventually price itself.
The example illustrated demonstrates this sequence clearly: RSI broke out from its declining structure near the bottom well before the weekly price trendline breakout. The subsequent move above RSI 50, bullish MACD Histogram and DMI+ dominance provided progressively stronger confirmation before price finally broke the descending trendline.
DEFAULT SETTINGS
Triple RSI: 21 / 14 / 7
MACD: Histogram
DMI Length: 13
ADX Smoothing: 8
Key RSI Level: 50
Directional Strength Reference: 20
This indicator is designed as a discretionary analytical framework, not a standalone buy/sell signal generator. Use it alongside price action, market structure, volume and appropriate risk management.
Vinod Triple RSI
Read the momentum first. Wait for confirmation. Let price validate the thesis. Indicador

ORB Laboratory v1.0.12ORB LABORATORY v1.0.12
Opening Range Breakout Research & Backtesting Framework
ORB Laboratory is a modular Opening Range Breakout strategy designed for systematic research, backtesting, robustness testing, and experimentation across different markets, sessions, symbols, timeframes, execution assumptions, and ORB methodologies.
This is not a single hard-coded ORB strategy.
The purpose of ORB Laboratory is to provide a flexible environment where traders and researchers can isolate individual variables, compare different approaches to opening-range behavior, and test whether an idea remains viable under different conditions rather than relying on one fixed set of rules.
The script includes multiple ORB sessions, seven entry models, configurable breakout buffers, several confirmation methods, market-condition filters, multiple stop-loss and profit-target models, position sizing, trade-frequency controls, execution modeling, breakeven and trailing-stop management, forced exits, and visual/debugging tools.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. MULTI-SESSION ORB ENGINE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory supports up to three independent Opening Range windows:
• ORB 1
• ORB 2
• ORB 3
Each ORB can be configured independently with:
• Enable / Disable
• Custom session name
• Starting hour
• Starting minute
• ORB duration in minutes
• Long trades enabled / disabled
• Short trades enabled / disabled
This makes it possible to research multiple market opens or intraday expansion periods within the same strategy.
Examples could include:
• New York open
• London open
• Secondary morning range
• Later-session expansion
• Crypto-specific session windows
• Custom event-based time windows
ORB lengths can range from very short opening ranges to much longer windows.
The strategy continuously tracks the highest high and lowest low while an ORB is forming.
When the ORB finishes, the final:
• ORB High
• ORB Low
• ORB Midpoint
are stored and projected forward on the chart.
The ORB is finalized on the close of the final range-building bar so resting breakout orders can be prepared before the first post-range bar begins.
The implementation also supports one-bar ORBs correctly.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. STRATEGY TIME ZONE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The entire strategy uses a configurable strategy time zone.
This allows ORB sessions, entry cutoffs, forced closes, weekdays, and other time-sensitive logic to remain anchored to the desired market time regardless of the exchange or chart time zone.
Default:
America/New_York
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. DIRECTION CONTROL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Global direction can be set to:
• Both
• Long Only
• Short Only
Each individual ORB also has independent Long and Short permissions.
This means direction can be controlled both globally and per session.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. ENTRY ALLOWANCE / TRADE FREQUENCY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory includes several trade-frequency modes:
ONE TOTAL
Only one entry may be taken from an ORB.
ONCE PER DIRECTION
Allows one long and one short opportunity per ORB.
MAXIMUM NUMBER
Allows a configurable maximum number of entries per ORB.
UNLIMITED
Removes the per-ORB entry restriction while remaining subject to other global limits.
Additional controls include:
• Maximum entries per ORB
• Maximum entries per day
• Stop trading after first winning trade
• Stop trading after first losing trade
• Maximum planned daily risk
These tools make it possible to research whether an ORB performs better as a single-shot setup, one trade per direction, or as a multi-entry strategy.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. ENTRY MODEL — BREAKOUT (TOUCH)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Breakout (Touch) is designed to model a traditional stop-order breakout.
After the ORB is complete, resting stop entries are prepared at:
Long:
ORB High + Long Breakout Buffer
Short:
ORB Low - Short Breakout Buffer
The entry can therefore occur when price touches the breakout threshold rather than waiting for a candle close.
The strategy uses resting stop orders for this mode.
Long and short breakout orders are placed into an OCA cancellation group.
When one side fills, competing unfilled breakout orders are cancelled.
This allows the strategy to model a two-sided opening-range breakout where both directions may initially be armed but only the triggered side remains active.
Unfilled Breakout (Touch) orders are also cancelled when the configured entry cutoff is reached.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. ENTRY MODEL — BREAKOUT (CLOSE)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Breakout (Close) requires confirmation from the candle close.
Long:
Candle closes above the ORB High + Long Breakout Buffer.
Short:
Candle closes below the ORB Low - Short Breakout Buffer.
This model is useful for comparing immediate touch-based breakout execution against the additional confirmation of a completed candle outside the range.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7. ENTRY MODEL — BREAK + RETEST ORB
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This model waits for a confirmed breakout and then looks for price to retest the broken ORB boundary.
After a breakout, the retest can be confirmed using one of three methods:
TOUCH ONLY
Price only needs to return to the broken ORB boundary.
CLOSE OUTSIDE
Price must retest the boundary and close back on the breakout side.
REJECTION CANDLE
Price must retest the boundary and produce directional rejection.
For a bullish retest, the candle must interact with the ORB High and confirm back above it.
For a bearish retest, the candle must interact with the ORB Low and confirm back below it.
Additional controls include:
• Retest expiry in bars
• Maximum extension before a retest is considered too late
Once a valid retest is consumed, the retest setup is disarmed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8. ENTRY MODEL — BREAK + RETEST FVG
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory includes directional Fair Value Gap detection following an ORB breakout.
A bullish FVG is detected when a three-candle imbalance exists with the current low above the high from two bars earlier.
A bearish FVG is detected when the current high is below the low from two bars earlier.
The minimum FVG size can be defined as an ATR multiple.
Optional logic can require the FVG to remain outside the ORB.
Three FVG entry depths are available:
NEAR EDGE
Uses the first edge of the FVG encountered on the retracement.
MIDPOINT
Uses the 50% level of the FVG.
FULL FILL
Requires price to reach the opposite edge of the FVG.
Additional controls include:
• Minimum FVG size as ATR ×
• FVG must remain outside ORB
• FVG expiry in bars
If price reaches the selected FVG level while the setup is valid, an entry is submitted in the direction of the original breakout.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
9. ENTRY MODEL — SWEEP REVERSAL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sweep Reversal is designed to research failed breaks of the opening range.
A high sweep occurs when price trades above:
ORB High + Long Breakout Buffer
but then closes back below the ORB High.
A low sweep occurs when price trades below:
ORB Low - Short Breakout Buffer
but then closes back above the ORB Low.
Two confirmation modes are available:
CLOSE BACK INSIDE
The breakout only needs to fail and close back inside the ORB.
REJECTION CANDLE
The failed breakout must also produce a directional rejection candle.
A failed high produces a potential short setup.
A failed low produces a potential long setup.
Sweep trades are treated as fade/reversal trades and can use dedicated fade-target logic.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10. ENTRY MODEL — FADE FIRST BREAKOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This model records which side of the ORB breaks first.
The strategy permanently tracks:
• First breakout direction
• First breakout bar
• Maximum extension reached by that breakout
If the first breakout subsequently fails and closes back inside the ORB within the configured failure window, the strategy can fade that failed move.
First high breakout fails:
Potential short.
First low breakout fails:
Potential long.
The model also includes a Maximum Extension Before Retest/Fade setting.
This prevents an extremely extended move from later being treated as a normal failed breakout simply because price eventually returns to the range.
A configurable First-Break Failure Timeout controls how many bars the setup remains eligible.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11. ENTRY MODEL — FIRST-BREAK DECISION TREE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The First-Break Decision Tree is a hybrid model that evaluates what happens after the first ORB break.
Instead of automatically assuming that the first breakout should either be followed or faded, the script waits to determine whether the move confirms continuation or fails.
The first breakout direction and extreme are recorded.
Continuation can then be defined as:
TOUCH
Price reaches the breakout threshold.
CLOSE OUTSIDE
Price closes outside the ORB in the breakout direction.
RETEST HOLDS
Price retests the broken boundary and closes back on the breakout side.
If continuation confirms, the strategy trades in the direction of the original breakout.
If the first breakout instead fails and closes back inside the ORB during the allowed failure window, the strategy can reverse and trade against the failed breakout.
This allows a single model to test both:
• Breakout continuation
• Failed-break reversal
using the first interaction with the opening range as the decision point.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12. BREAKOUT BUFFER SYSTEM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Long and short breakout buffers are independently configurable.
Buffers can be expressed using:
TICKS
Buffer is based on the symbol's minimum tick size.
ORB %
Buffer is calculated as a percentage of the completed ORB range.
ATR
Buffer is calculated as a multiple of ATR.
This allows breakout confirmation to be normalized in several different ways.
For example, researchers can test whether a fixed one-tick breakout behaves differently from a volatility-adjusted or range-adjusted breakout.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13. BID / ASK TRIGGER MODEL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Breakout (Touch) includes an optional bid/ask trigger-timing model.
Application can be set to:
• Off
• Longs Only
• Shorts Only
• Both
Spread can be entered as:
• Ticks
• Absolute price
The model allows the visible TradingView trigger to be shifted relative to the intended execution level.
For example, on a bid-based chart, a long ask-trigger may occur while the visible bid remains one spread below the intended buy price.
The model therefore allows researchers to approximate the difference between:
• Structural/intended execution level
• Visible chart trigger level
IMPORTANT:
TradingView Strategy Tester still records the chart-trigger price as the actual historical fill.
Because of this limitation, built-in Strategy Tester P&L remains an approximation when bid/ask trigger modeling is enabled.
The feature is intended for execution research and timing approximation, not as a claim of perfect historical bid/ask reconstruction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
14. BID / ASK STOP MODEL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory separately includes a spread model for stop-loss triggering.
Application options include:
• Off
• Long Stops Only
• Short Stops Only
• Both
This allows the displayed TradingView stop trigger to be shifted relative to the structural stop by the modeled spread.
The structural stop itself is still retained internally for calculations when desired.
This makes the entry-side spread assumption and stop-side spread assumption independently configurable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15. ENTRY CALCULATION PRICE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When spread modeling is active, Fixed-R calculations can use either:
CORRECTED ENTRY
Uses the intended execution level.
CHART TRIGGER
Uses the spread-shifted TradingView trigger.
This setting affects Fixed-R target calculations.
It does not independently change the actual submitted quantity or order execution.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
16. STOP CALCULATION PRICE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Risk calculations can use either:
CORRECTED STOP
Uses the modeled spread-adjusted stop.
ORIGINAL STOP
Uses the underlying structural stop.
This selection can affect:
• Position sizing
• Original risk calculation
• Fixed-R target calculations
This allows researchers to separate structural price levels from the levels used to approximate executable stop behavior.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17. EMA FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional EMA directional filter is included.
The EMA length is configurable.
Available rules:
PRICE VS EMA
Long:
Price must be above the EMA.
Short:
Price must be below the EMA.
EMA SLOPE
Long:
EMA must be rising.
Short:
EMA must be falling.
BOTH
Requires both the appropriate price relationship and EMA slope.
When enabled, the EMA is also plotted on the chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
18. VWAP FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional VWAP directional filter is available.
Rules include:
PRICE VS VWAP
Long:
Price above VWAP.
Short:
Price below VWAP.
VWAP SLOPE
Long:
VWAP rising.
Short:
VWAP falling.
BOTH
Requires both conditions.
When enabled, VWAP is plotted directly on the chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19. PREVIOUS CLOSE FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The script retrieves the confirmed previous daily close without lookahead.
Two filtering modes are available:
PRICE VS PREVIOUS CLOSE
Long:
Current price must be above the previous close.
Short:
Current price must be below the previous close.
ORB VS PREVIOUS CLOSE
Long:
The entire ORB must be above the previous close.
Short:
The entire ORB must be below the previous close.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
20. ORB RANGE FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A configurable minimum and maximum ORB range filter is included.
The ORB size can be measured in:
• Ticks
• ATR multiples
• Percentage of price
This allows researchers to reject ranges that are considered:
• Too small
• Too large
• Abnormally compressed
• Abnormally volatile
It also makes range thresholds more portable across different symbols and volatility environments.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
21. RELATIVE VOLUME FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional relative-volume condition compares current volume with a moving average of volume.
Controls include:
• Volume average length
• Minimum relative-volume multiplier
A trade is permitted only when current volume meets or exceeds the selected multiple of average volume.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
22. ADX FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional ADX filter is included.
Controls:
• ADX length
• Minimum ADX value
This can be used to research whether ORB setups behave differently during stronger or weaker directional conditions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23. MAXIMUM BREAKOUT CANDLE SIZE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The strategy can reject entry conditions when the current candle becomes excessively large relative to ATR.
Maximum breakout candle size is expressed as:
ATR × multiplier
This can be used to study whether chasing unusually extended breakout candles damages expectancy.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
24. STOP LOSS — CANDLE EXTREME
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
For long trades:
Stop is placed below the relevant candle low, with an optional tick buffer.
For short trades:
Stop is placed above the relevant candle high, with an optional tick buffer.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
25. STOP LOSS — ATR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Places the stop a configurable ATR distance from the entry/reference price.
Long:
Entry/reference price - ATR × multiplier
Short:
Entry/reference price + ATR × multiplier
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
26. STOP LOSS — ORB MIDPOINT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Uses the midpoint between the ORB High and ORB Low as the structural stop.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27. STOP LOSS — ORB OPPOSITE RANGE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Long:
Stop below the ORB Low.
Short:
Stop above the ORB High.
An optional stop buffer in ticks can be applied beyond the opposite boundary.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
28. STOP LOSS — BREAKOUT EXTREME
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Uses the relevant breakout extreme as the stop reference, with the optional stop buffer applied beyond that level.
This is useful for retest, failure, sweep, and other models where the breakout structure itself provides the invalidation point.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
29. STOP LOSS — ORB PERCENTAGE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Stop distance is calculated as a configurable percentage of the completed ORB range.
This allows the stop distance to scale directly with the size of the opening range.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30. STOP LOSS — FVG INVALIDATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Uses the relevant FVG boundary as the stop reference.
Long:
Below the FVG bottom.
Short:
Above the FVG top.
The configured stop buffer may also be applied.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
31. STOP BUFFER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A configurable stop buffer can be added in ticks.
This allows the structural stop to sit beyond the selected invalidation level rather than directly on it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
32. PROFIT TARGET — FIXED R
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Profit target is calculated as a multiple of the original trade risk.
Long:
Entry + Risk × R Multiple
Short:
Entry - Risk × R Multiple
The R multiple is fully configurable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33. PROFIT TARGET — ORB PROJECTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Projects a configurable multiple of the complete ORB range beyond the breakout boundary.
Long:
ORB High + ORB Range × multiplier
Short:
ORB Low - ORB Range × multiplier
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
34. PROFIT TARGET — ATR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sets the target a configurable ATR multiple away from entry.
Long:
Entry + ATR × multiplier
Short:
Entry - ATR × multiplier
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
35. PROFIT TARGET — ORB MIDPOINT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Uses the ORB midpoint as the target.
This can be useful when researching reversal or mean-reversion behavior.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36. PROFIT TARGET — ORB OPPOSITE RANGE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Targets the opposite ORB boundary.
This is especially useful for studying moves that rotate from one side of the range toward the other.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
37. DEDICATED FADE TARGETS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Fade/reversal entries can use their own target preference:
• Midpoint
• Opposite Boundary
• Fixed R
This allows continuation trades and fade trades to be researched using different exit logic.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38. POSITION SIZING — FIXED USD RISK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Position size can be calculated so the planned loss between entry and stop corresponds to a fixed dollar amount.
The script calculates:
• Entry-to-stop distance
• Cash risk per unit
• Required quantity
and then rounds quantity according to the configured quantity step.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
39. POSITION SIZING — RISK % OF EQUITY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Position size can dynamically scale with strategy equity.
The selected percentage of current equity is divided by the calculated cash risk per unit to determine quantity.
This allows compounding-based position sizing to be researched.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
40. POSITION SIZING — FIXED QUANTITY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A fixed position size can be used instead of risk-based sizing.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
41. QUANTITY CONSTRAINTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Position sizing supports:
• Quantity step
• Minimum quantity
• Maximum quantity
Calculated quantity is stepped downward to the permitted increment and then constrained within the configured minimum and maximum.
This makes sizing adaptable to instruments with different contract or quantity requirements.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
42. MAXIMUM DAILY PLANNED RISK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional daily planned-risk ceiling can prevent new entries when another planned trade would push total daily risk above the configured limit.
A value of zero disables this restriction.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
43. STOP AFTER FIRST WIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When enabled, the strategy prevents further entries after the first profitable closed trade of the day.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
44. STOP AFTER FIRST LOSS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
When enabled, the strategy prevents further entries after the first losing closed trade of the day.
These two controls can be used independently to study daily stopping rules.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
45. ENTRY CUTOFF
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A configurable time prevents new entries after a chosen hour and minute.
For Breakout (Touch), any remaining unfilled resting breakout orders are cancelled when the cutoff is reached.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
46. FORCE CLOSE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional forced-close time exits any remaining open position at or after the configured time.
This is useful for strictly intraday strategies that should not carry positions beyond a session boundary.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47. WEEKDAY FILTERS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Every day of the week can be independently enabled or disabled:
• Monday
• Tuesday
• Wednesday
• Thursday
• Friday
• Saturday
• Sunday
This allows weekday effects to be researched without modifying the strategy code.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
48. BREAKEVEN MANAGEMENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional breakeven system can move the active stop after price reaches a configurable R multiple.
Controls:
• Breakeven activation R
• Breakeven offset in ticks
For a long position, the stop can move to entry plus the selected offset.
For a short position, the stop can move to entry minus the selected offset.
The stop is only tightened; the logic does not intentionally loosen an existing stop.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49. BAR-CLOSE ATR TRAILING STOP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional ATR trailing system activates after the trade reaches a configurable R threshold.
The strategy tracks the best confirmed close reached during the trade.
After activation:
Long:
Trail candidate = Best Close - Entry ATR × Trail Multiplier
Short:
Trail candidate = Best Close + Entry ATR × Trail Multiplier
The stop only ratchets in the favorable direction.
The trailing logic operates on confirmed bars.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
50. TIME-BASED EXIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Positions can optionally be closed after a specified number of bars.
Setting the value to zero disables the time exit.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
51. ONE ACTIVE POSITION / NO PYRAMIDING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The strategy is configured with pyramiding disabled.
New setups also require the strategy to be flat before entry.
This keeps the framework focused on one active position at a time rather than stacking multiple simultaneous positions.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
52. OCA BREAKOUT ORDER MANAGEMENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Breakout (Touch) orders use One-Cancels-All behavior.
When one resting breakout order fills, competing unfilled touch orders are cancelled.
The strategy then records the filled ORB, direction, stop, target, entry ATR, and original risk for active position management.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53. ORB VISUALIZATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Optional ORB boxes display the opening-range construction directly on the chart.
Once complete, the script extends:
• ORB High
• ORB Low
• Optional ORB Midpoint
forward on the chart.
This allows the strategy logic to be inspected visually rather than only through Strategy Tester results.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
54. SIGNAL LABELS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Optional labels identify strategy entries and their originating logic.
Examples include:
• Breakout Touch Fill
• Breakout Close
• ORB Retest
• FVG Retest
• High Sweep
• Low Sweep
• Fade First High Break
• Fade First Low Break
• Decision: Continuation
• Decision: Failed High
• Decision: Failed Low
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55. BLOCKED-REASON DEBUGGING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Optional debugging labels can show why an otherwise evaluated setup was blocked.
Possible reasons include:
• Direction disabled
• Range filter
• Entry / daily limit
• Bias / condition filter
• Other blocked condition
This feature is designed to make strategy research easier by showing not only where entries occurred, but also why expected entries did not occur.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
56. ACTIVE STOP & TARGET PLOTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
While a position is open, the strategy can display:
• Active Stop
• Active Target
directly on the chart.
Stops dynamically reflect breakeven or trailing-stop adjustments when those systems are active.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57. RESEARCH DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
An optional dashboard displays current strategy information including:
• Selected Entry Model
• Daily Entries vs Maximum
• Planned Daily Risk
• EMA Bias
• VWAP Bias
• Previous Daily Close
• Current Position: Long / Short / Flat
• Entry Cutoff Time
The dashboard provides a compact view of the currently active configuration and state.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
58. PREVIOUS DAILY CLOSE WITHOUT LOOKAHEAD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The previous-close feature retrieves confirmed daily data using lookahead disabled and then references the prior confirmed daily close.
This avoids intentionally using future daily information in the previous-close filter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
59. RESEARCH-FIRST DESIGN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory is intentionally modular.
Many settings are not intended to be enabled simultaneously.
The purpose is to allow individual hypotheses to be isolated.
Examples:
• Does Touch outperform Close confirmation?
• Does requiring a retest improve expectancy?
• Are failed first breaks more useful as fades?
• Does the ORB midpoint outperform an ATR stop?
• Does an EMA or VWAP filter improve results?
• Are very small or very large ORBs less effective?
• Does a breakout buffer improve robustness?
• Does performance survive different stop models?
• Does Fixed-R outperform range projection?
• How sensitive are results to spread assumptions?
• How does limiting entries affect drawdown?
• Do certain weekdays behave differently?
• Does breakeven improve or damage expectancy?
The framework is designed to answer those questions with data rather than intuition.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMPORTANT BACKTESTING NOTES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory is a research and backtesting tool.
Historical results can change significantly based on:
• Symbol
• Exchange / broker data feed
• Timeframe
• ORB session
• ORB length
• Entry model
• Breakout buffer
• Stop model
• Target model
• Position sizing
• Spread assumptions
• Commission
• Slippage
• Filters
• Test period
• Market regime
Different data feeds can produce different highs and lows and therefore different ORB boundaries, triggers, stops, targets, and trade sequences.
Results from one feed should not be assumed to reproduce another feed trade-for-trade.
The optional bid/ask modeling system is an approximation built around TradingView's historical-chart limitations.
TradingView may still report the chart trigger as the historical fill even when the strategy is using a corrected/intended price internally for risk or target calculations.
Users should configure TradingView's Strategy Properties appropriately for the instrument and execution assumptions being researched, including commissions and any additional slippage assumptions.
No backtest guarantees future results.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INTENDED USE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORB Laboratory is intended for:
• Strategy research
• Backtesting
• Robustness testing
• Parameter sensitivity testing
• Comparing ORB entry models
• Comparing stop and target logic
• Studying opening-range behavior
• Execution-model research
• Market and data-feed comparison
• Educational experimentation
It is not intended to provide financial advice, guaranteed signals, or guaranteed profitability.
A profitable historical configuration may fail in future market conditions.
Users should independently validate any configuration before considering live execution.
Build the range.
Define the rules.
Stress the assumptions.
Test the edge. Estrategia

Indicador

Indicador

STOC - Daily ADR - Buyer & Seller ZonesSTOC – Daily ADR – Buyer & Seller Zones plots dynamic intraday reaction zones using the current daily open and the Average Daily Range of the previous 5 and 10 completed trading days.
The indicator projects volatility-adjusted distances above and below the daily open to create:
- Seller Zone: Potential resistance or profit-booking area
- Buyer Zone: Potential support or demand area
The zones remain fixed throughout the current session and do not repaint intraday.
Recommended timeframe: The indicator is best used on the **5-minute chart**, which provides a practical balance between timely entries and reliable zone reactions. The **1-minute chart** may be used only for refining entries after confirmation on the 5-minute chart, as it is more susceptible to market noise and false breakouts.
The indicator also includes an optional dashboard, daily-open and ADR boundary displays, historical zones, and alerts for zone touches and confirmed breakouts.
Use the zones alongside price action, market structure, trend direction, volume or other confirmation tools. They are not standalone buy or sell signals.
Disclaimer:
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or trade signals.
The creator and Systematic Traders Club are not responsible for any financial losses resulting from the use of this indicator.
Trading and investing involve risk. Always do your own analysis and use proper risk management.
Indicador

Indicador

Indicador

MULTI-ASSET SCREENERMulti-Asset Screener is a market analysis and multi-timeframe screening tool designed to provide a clear overview of trend direction, market strength, structure, directional bias, and key support and resistance zones.
The indicator combines multiple layers of market analysis into a compact dashboard, allowing traders to evaluate both individual assets and the current chart across several timeframes.
Key Features
Multi-Asset Screener
Simultaneously monitors BTCUSD, XAUUSD, and NASDAQ, with customizable symbols available in the indicator settings.
Multi-Timeframe Analysis
Analyzes the current asset across M1, M5, M15, M30, H1, H4, and D1 timeframes.
Trend Detection
Classifies current market conditions as:
BULLISH
BEARISH
NEUTRAL
Market Strength
Displays a dynamic strength score from 0% to 100%, helping identify stronger and weaker directional conditions. Indicador

Indicador

BABEL PRECISION BOTBABEL PRECISION BOT v2 — A+ EDITION is an advanced TradingView market-analysis indicator designed to identify high-confluence BUY and SELL opportunities rather than generating excessive signals.
It combines 50/200 EMA trend direction, higher-timeframe confirmation, RSI, ADX/DMI, volume expansion, market structure, BOS, CHOCH, liquidity sweeps, support and resistance, supply/demand zones, and automatic trend lines.
The indicator assigns an A+ setup score and only produces a BUY or SELL signal when enough conditions align. It also provides entry, Stop Loss, TP1, TP2 and TP3 levels using ATR-based risk management.
Indicador

Indicador

Indicador

Custom ORB, Premarket & EMAs// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
//@version=6
indicator("Custom ORB, Premarket & EMAs", overlay = true, max_lines_count = 100, max_labels_count = 100, max_bars_back = 5000)
// --- Groups ---
var string G_PRE = "Premarket Settings"
var string G_PD = "Previous Day Levels"
var string G_2OR = "2m Opening Range Settings"
var string G_5OR = "5m Opening Range Settings"
var string G_15OR = "15m Opening Range Settings"
var string G_EMA = "EMA Settings"
var string G_VWAP = "VWAP Settings"
var string G_SIG = "Signal Visuals"
// --- Inputs ---
pmColor = input.color(color.gray, "Premarket Color", group = G_PRE, tooltip = "Color used for the premarket high and low levels.")
pmStyle = input.string("Dashed", "Premarket Style", options = , group = G_PRE, tooltip = "Line style used for the premarket levels.")
pmWidth = input.int(1, "Premarket Line Width", minval = 1, maxval = 10, group = G_PRE, tooltip = "Width of the premarket high and low lines.")
pmSession = input.session("0400-0930", "Premarket Session", group = G_PRE, tooltip = "Exchange-time session used to calculate the premarket range.")
showPd = input.bool(true, "Show PDH/PDL", group = G_PD, tooltip = "Display the confirmed previous trading day's high and low.")
pdhColor = input.color(#5b9cf6, "PDH Color", group = G_PD, tooltip = "Color used for the previous day high level.")
pdlColor = input.color(#f23645, "PDL Color", group = G_PD, tooltip = "Color used for the previous day low level.")
pdStyle = input.string("Dotted", "PDH/PDL Style", options = , group = G_PD, tooltip = "Line style used for the previous day high and low levels.")
pdWidth = input.int(1, "PDH/PDL Line Width", minval = 1, maxval = 10, group = G_PD, tooltip = "Width of the previous day high and low lines.")
showOr2 = input.bool(true, "Show 2m ORB", group = G_2OR, tooltip = "Display the 2-minute opening range high and low.")
or2Color = input.color(#5b9cf6, "2m OR Color", group = G_2OR, tooltip = "Color used for the 2-minute opening range.")
or2Style = input.string("Solid", "2m OR Style", options = , group = G_2OR, tooltip = "Line style used for the 2-minute opening range.")
or2Width = input.int(1, "2m OR Line Width", minval = 1, maxval = 10, group = G_2OR, tooltip = "Width of the 2-minute opening range lines.")
or2Time = input.string("0930-0932", "2m OR Time", group = G_2OR, tooltip = "Exchange-time session used to calculate the 2-minute opening range.")
showOr5 = input.bool(true, "Show 5m ORB", group = G_5OR, tooltip = "Display the 5-minute opening range high and low.")
or5Color = input.color(#089981, "5m OR Color", group = G_5OR, tooltip = "Color used for the 5-minute opening range.")
or5Style = input.string("Solid", "5m OR Style", options = , group = G_5OR, tooltip = "Line style used for the 5-minute opening range.")
or5Width = input.int(1, "5m OR Line Width", minval = 1, maxval = 10, group = G_5OR, tooltip = "Width of the 5-minute opening range lines.")
or5Time = input.string("0930-0935", "5m OR Time", group = G_5OR, tooltip = "Exchange-time session used to calculate the 5-minute opening range.")
showOr15 = input.bool(true, "Show 15m ORB", group = G_15OR, tooltip = "Display the 15-minute opening range high and low.")
or15Color = input.color(#f23645, "15m OR Color", group = G_15OR, tooltip = "Color used for the 15-minute opening range.")
or15Style = input.string("Solid", "15m OR Style", options = , group = G_15OR, tooltip = "Line style used for the 15-minute opening range.")
or15Width = input.int(1, "15m OR Line Width", minval = 1, maxval = 10, group = G_15OR, tooltip = "Width of the 15-minute opening range lines.")
or15Time = input.string("0930-0945", "15m OR Time", group = G_15OR, tooltip = "Exchange-time session used to calculate the 15-minute opening range.")
emaFastLength = input.int(9, "Fast EMA Length", minval = 1, group = G_EMA, tooltip = "Period used to calculate the fast EMA.")
emaSlowLength = input.int(20, "Slow EMA Length", minval = 1, group = G_EMA, tooltip = "Period used to calculate the slow EMA.")
ema9Color = input.color(#5b9cf6, "Fast EMA Color", group = G_EMA, tooltip = "Color used for the fast EMA.")
ema20Color = input.color(#f23645, "Slow EMA Color", group = G_EMA, tooltip = "Color used for the slow EMA.")
showVwap = input.bool(true, "Show VWAP", group = G_VWAP, tooltip = "Display the volume-weighted average price.")
vwapColor = input.color(color.orange, "VWAP Color", group = G_VWAP, tooltip = "Color used for VWAP.")
showShapes = input.bool(true, "Show Buy/Sell Triangles", group = G_SIG, tooltip = "Display triangles when tracked levels break during regular session.")
// --- Helper: Get Line Style ---
getLineStyle(styleStr) =>
switch styleStr
"Solid" => line.style_solid
"Dotted" => line.style_dotted
"Dashed" => line.style_dashed
=> line.style_solid
// --- Logic ---
inSession(sess) => not na(time(timeframe.period, sess))
isNewDay = ta.change(time("D")) != 0
// EMAs, VWAP & Previous Day Levels
ema9 = ta.ema(close, emaFastLength)
ema20 = ta.ema(close, emaSlowLength)
vwapVal = ta.vwap(hlc3)
pdhVal = request.security(syminfo.tickerid, "D", high , lookahead = barmerge.lookahead_on)
pdlVal = request.security(syminfo.tickerid, "D", low , lookahead = barmerge.lookahead_on)
plot(ema9, "Fast EMA", color = ema9Color, linewidth = 1)
plot(ema20, "Slow EMA", color = ema20Color, linewidth = 1)
plot(showVwap ? vwapVal : na, "VWAP", color = vwapColor, linewidth = 2)
// --- Trackers ---
var float pmH = na
var float pmL = na
var int pmStartIdx = na
var float or2H = na
var float or2L = na
var int or2StartIdx = na
var float or5H = na
var float or5L = na
var int or5StartIdx = na
var float or15H = na
var float or15L = na
var int or15StartIdx = na
var int dayStartIdx = na
// --- Reset & Start Index Capture ---
if na(dayStartIdx) or isNewDay
dayStartIdx := bar_index
if isNewDay
pmH := na
pmL := na
pmStartIdx := na
or2H := na
or2L := na
or2StartIdx := na
or5H := na
or5L := na
or5StartIdx := na
or15H := na
or15L := na
or15StartIdx := na
if inSession(pmSession)
if na(pmStartIdx)
pmStartIdx := bar_index
pmH := math.max(high, nz(pmH, high))
pmL := math.min(low, nz(pmL, low))
if inSession(or2Time)
if na(or2StartIdx)
or2StartIdx := bar_index
or2H := math.max(high, nz(or2H, high))
or2L := math.min(low, nz(or2L, low))
if inSession(or5Time)
if na(or5StartIdx)
or5StartIdx := bar_index
or5H := math.max(high, nz(or5H, high))
or5L := math.min(low, nz(or5L, low))
if inSession(or15Time)
if na(or15StartIdx)
or15StartIdx := bar_index
or15H := math.max(high, nz(or15H, high))
or15L := math.min(low, nz(or15L, low))
// --- Visuals: Current Session Only Redraw ---
var line lines = array.new_line()
var label labels = array.new_label()
if barstate.islast
for l in lines
line.delete(l)
for lb in labels
label.delete(lb)
array.clear(lines)
array.clear(labels)
// Stagger the label x-positions to prevent overlapping if levels share the same price.
int pdIdx = bar_index + 2
int pmIdx = bar_index + 6
int or2Idx = bar_index + 10
int or5Idx = bar_index + 14
int or15Idx = bar_index + 18
// Previous day high and low.
if showPd and not na(pdhVal) and not na(pdlVal) and not na(dayStartIdx)
array.push(lines, line.new(dayStartIdx, pdhVal, bar_index, pdhVal, color = pdhColor, style = getLineStyle(pdStyle), width = pdWidth))
array.push(lines, line.new(dayStartIdx, pdlVal, bar_index, pdlVal, color = pdlColor, style = getLineStyle(pdStyle), width = pdWidth))
array.push(labels, label.new(pdIdx, pdhVal, "PDH", color = #00000000, textcolor = pdhColor, style = label.style_label_left, size = size.small))
array.push(labels, label.new(pdIdx, pdlVal, "PDL", color = #00000000, textcolor = pdlColor, style = label.style_label_left, size = size.small))
// Premarket.
if not na(pmH) and not na(pmStartIdx)
array.push(lines, line.new(pmStartIdx, pmH, bar_index, pmH, color = pmColor, style = getLineStyle(pmStyle), width = pmWidth))
array.push(lines, line.new(pmStartIdx, pmL, bar_index, pmL, color = pmColor, style = getLineStyle(pmStyle), width = pmWidth))
array.push(labels, label.new(pmIdx, pmH, "PM High", color = #00000000, textcolor = pmColor, style = label.style_label_left, size = size.small))
array.push(labels, label.new(pmIdx, pmL, "PM Low", color = #00000000, textcolor = pmColor, style = label.style_label_left, size = size.small))
// 2m ORB.
if showOr2 and not na(or2H) and not na(or2StartIdx) and not inSession(or2Time)
array.push(lines, line.new(or2StartIdx, or2H, bar_index, or2H, color = or2Color, style = getLineStyle(or2Style), width = or2Width))
array.push(lines, line.new(or2StartIdx, or2L, bar_index, or2L, color = or2Color, style = getLineStyle(or2Style), width = or2Width))
array.push(labels, label.new(or2Idx, or2H, "2m OR High", color = #00000000, textcolor = or2Color, style = label.style_label_left, size = size.small))
array.push(labels, label.new(or2Idx, or2L, "2m OR Low", color = #00000000, textcolor = or2Color, style = label.style_label_left, size = size.small))
// 5m ORB.
if showOr5 and not na(or5H) and not na(or5StartIdx) and not inSession(or5Time)
array.push(lines, line.new(or5StartIdx, or5H, bar_index, or5H, color = or5Color, style = getLineStyle(or5Style), width = or5Width))
array.push(lines, line.new(or5StartIdx, or5L, bar_index, or5L, color = or5Color, style = getLineStyle(or5Style), width = or5Width))
array.push(labels, label.new(or5Idx, or5H, "5m OR High", color = #00000000, textcolor = or5Color, style = label.style_label_left, size = size.small))
array.push(labels, label.new(or5Idx, or5L, "5m OR Low", color = #00000000, textcolor = or5Color, style = label.style_label_left, size = size.small))
// 15m ORB.
if showOr15 and not na(or15H) and not na(or15StartIdx) and not inSession(or15Time)
array.push(lines, line.new(or15StartIdx, or15H, bar_index, or15H, color = or15Color, style = getLineStyle(or15Style), width = or15Width))
array.push(lines, line.new(or15StartIdx, or15L, bar_index, or15L, color = or15Color, style = getLineStyle(or15Style), width = or15Width))
array.push(labels, label.new(or15Idx, or15H, "15m OR High", color = #00000000, textcolor = or15Color, style = label.style_label_left, size = size.small))
array.push(labels, label.new(or15Idx, or15L, "15m OR Low", color = #00000000, textcolor = or15Color, style = label.style_label_left, size = size.small))
// --- Signal Logic & Alerts ---
isRegularSession = inSession("0930-1600")
// Track crossovers on all bars to avoid conditional evaluation warnings.
crossUpPM = ta.crossover(close, pmH)
crossDnPM = ta.crossunder(close, pmL)
crossUpOR2 = ta.crossover(close, or2H)
crossDnOR2 = ta.crossunder(close, or2L)
crossUpOR5 = ta.crossover(close, or5H)
crossDnOR5 = ta.crossunder(close, or5L)
crossUpOR15 = ta.crossover(close, or15H)
crossDnOR15 = ta.crossunder(close, or15L)
// Individual breakout booleans.
pmBreakUp = isRegularSession and not inSession(pmSession) and crossUpPM
pmBreakDn = isRegularSession and not inSession(pmSession) and crossDnPM
or2BreakUp = showOr2 and isRegularSession and not inSession(or2Time) and crossUpOR2
or2BreakDn = showOr2 and isRegularSession and not inSession(or2Time) and crossDnOR2
or5BreakUp = showOr5 and isRegularSession and not inSession(or5Time) and crossUpOR5
or5BreakDn = showOr5 and isRegularSession and not inSession(or5Time) and crossDnOR5
or15BreakUp = showOr15 and isRegularSession and not inSession(or15Time) and crossUpOR15
or15BreakDn = showOr15 and isRegularSession and not inSession(or15Time) and crossDnOR15
// Master buy/sell signal.
buySignal = pmBreakUp or or2BreakUp or or5BreakUp or or15BreakUp
sellSignal = pmBreakDn or or2BreakDn or or5BreakDn or or15BreakDn
// Visual signals.
plotshape(showShapes and buySignal, "Buy Breakout", shape.triangleup, location.belowbar, #089981, size = size.small)
plotshape(showShapes and sellSignal, "Sell Breakdown", shape.triangledown, location.abovebar, #f23645, size = size.small)
// Alert triggers.
if buySignal
alert("Level Breakout: Buy Signal", alert.freq_once_per_bar)
if sellSignal
alert("Level Breakdown: Sell Signal", alert.freq_once_per_bar)
Indicador

Indicador

XauLabs Swing PointsENGLISH
What it does
It marks confirmed swing highs and swing lows, labels each one relative to the previous one of the same type — HH, HL, LH, LL — and connects them with a zigzag. That labelled sequence is the raw material of every structure-based method: HH + HL is the skeleton of an uptrend, LH + LL the skeleton of a downtrend, anything mixed is no man's land.
How it works (full method)
Confirmation. A swing high is confirmed only when the highs of the N bars before AND the N bars after are all lower (mirrored for swing lows). N is user-defined, default 7, range 5–21.
Labelling. On confirmation, the new swing high is compared to the previous confirmed swing high: higher gives HH, lower gives LH. The first one, with no predecessor, is labelled H. Swing lows are compared to previous swing lows: HL or LL, first one labelled L. Highs are never compared to lows.
Zigzag. Each confirmed pivot is joined to the previous confirmed pivot by a straight line, regardless of type. The result is the chart's skeleton with the intermediate noise removed.
Two levels of structure. Major structure uses the main sensitivity and is the default view. An optional minor structure, with its own smaller sensitivity (default 3), plots the internal waves inside each major leg. It is off by default: the skeleton first, the ripples afterwards. Reading a minor swing as if it were a major one is the most common way to end up flipping bias several times a day.
No repainting
Labels appear N bars after the extreme they mark, are drawn at the true historical position of that extreme, and never move or disappear afterwards. What history shows is what would have been visible live. The confirmation delay is the cost, and it is stated rather than hidden.
On-chart output
HH / HL / LH / LL labels on every confirmed major pivot.
Zigzag connecting major pivots.
Optional minor pivot dots.
A badge in the top-right corner showing the two most recent readings, with selectable text size.
Two alert conditions: major swing high confirmed, major swing low confirmed.
Suggested use
Start on H4. Read the badge: HH · HL means the bullish skeleton is intact. Structure has to be read on one sensitivity, applied consistently — not on whichever swing supports the trade you already want to take.
This is an educational structure-reading tool. It gives no buy or sell signals and makes no performance claim. Trading involves substantial risk of loss.
FRANÇAIS
Ce que fait l'indicateur
Il marque les sommets et creux de swing confirmés, étiquette chacun par rapport au précédent du même type — HH, HL, LH, LL — et les relie par un zigzag. Cette séquence étiquetée est la matière première de toute méthode structurelle : HH + HL forme le squelette d'une tendance haussière, LH + LL celui d'une tendance baissière, tout ce qui est mixte est une zone grise.
Comment il fonctionne (méthode complète)
Confirmation. Un sommet n'est confirmé que si les N bougies avant ET les N bougies après ont toutes un plus haut inférieur (symétrique pour les creux). N est réglable, 7 par défaut, plage 5–21.
Étiquetage. À la confirmation, le nouveau sommet est comparé au sommet confirmé précédent : plus haut donne HH, plus bas donne LH. Le premier, sans prédécesseur, est étiqueté H. Les creux sont comparés aux creux : HL ou LL, le premier étiqueté L. Un sommet n'est jamais comparé à un creux.
Zigzag. Chaque pivot confirmé est relié au pivot confirmé précédent par une droite, quel que soit son type. On obtient le squelette du graphique, débarrassé du bruit intermédiaire.
Deux niveaux de structure. La structure majeure utilise la sensibilité principale : c'est la vue par défaut. Une structure mineure optionnelle, avec sa propre sensibilité plus courte (3 par défaut), trace les vagues internes de chaque jambe majeure. Elle est désactivée par défaut : le squelette d'abord, les vagues ensuite. Lire un swing mineur comme s'il était majeur est la façon la plus courante de changer de biais cinq fois par jour.
Aucun repaint
Les étiquettes apparaissent N bougies après l'extrême qu'elles marquent, sont tracées à la vraie place historique de cet extrême, et ne bougent ni ne disparaissent ensuite. Ce que montre l'historique est ce qui aurait été visible en direct. Le délai de confirmation est le prix à payer, et il est affiché plutôt que masqué.
Affichage
Étiquettes HH / HL / LH / LL sur chaque pivot majeur confirmé.
Zigzag reliant les pivots majeurs.
Points de pivots mineurs, optionnels.
Un badge dans le coin supérieur droit affichant les deux dernières lectures, avec taille de texte réglable.
Deux conditions d'alerte : sommet majeur confirmé, creux majeur confirmé.
Utilisation suggérée
Commencer en H4. Lire le badge : HH · HL signifie que le squelette haussier est intact. La structure se lit sur une seule sensibilité, appliquée avec constance — pas sur le swing qui arrange le trade qu'on a déjà envie de prendre.
Outil éducatif de lecture de structure. Il ne donne aucun signal d'achat ou de vente et ne formule aucune promesse de performance. Le trading comporte un risque de perte important. Indicador
