Structure Weaver [JOAT]Weaves raw price into readable market structure — swing labels, structure breaks, and a premium/discount dealing range.
◆ WHAT IT IS
Structure Weaver reads price the way a discretionary trader maps it: it classifies each confirmed swing, marks where structure genuinely breaks, and frames the active range into zones of relative value. It is a pure context tool for understanding trend and location — it does not print buy/sell signals.
This is 100% original code, written from scratch. It does not copy any other market-structure script.
◆ HOW IT WORKS
1. Swing classification. Confirmed swing points (using your chosen strength) are labelled live as:
• HH higher high, HL higher low — bullish rhythm
• LH lower high, LL lower low — bearish rhythm
Reading these in sequence is the foundation of trend structure.
2. Structure breaks — BOS and CHoCH. When price breaks the last confirmed swing, the tool stitches a labelled thread and distinguishes two cases:
• BOS (Break of Structure) — a break in the direction of the existing trend: continuation
• CHoCH (Change of Character) — the first break against the trend: a potential shift in control
You choose whether breaks confirm on a close or a wick .
3. The dealing range. The span between the last confirmed swing low and high is shaded into:
• Premium — the upper zone (expensive relative to the range)
• Equilibrium — a central band around the 50% level
• Discount — the lower zone (cheap relative to the range)
This gives every pullback objective context — are you buying in discount or chasing in premium.
◆ WHAT YOU SEE
• Live HH / HL / LH / LL swing labels
• BOS (solid) and CHoCH (dashed) structure threads, oldest recycled to keep the chart clean
• A shaded Premium / Equilibrium / Discount dealing range with an equilibrium line
• A resizable dashboard showing the current structure bias, the last event and its age, a BOS/CHoCH tally, the active swing high/low with holding-or-taken status, and where price sits in the range with a position gauge
◆ HOW TO USE IT
• Read the swing sequence and structure color for trend bias; a CHoCH is your earliest warning that control may be changing hands.
• Favor entries from discount in an uptrend and from premium in a downtrend , using equilibrium as the pivot.
• A BOS in trend direction is continuation confirmation.
• Works on all symbols and timeframes. Increase swing strength to weave only major structure; lower it for finer detail.
◆ NOTES & LIMITATIONS
Because swings are only confirmed once the required bars have printed on both sides, labels and breaks appear after that confirmation — this is by design and avoids repainting on already-closed structure. It is a context tool, not financial advice, and does not predict direction on its own. Combine it with your own method and risk management.
— made with passion by officialjackofalltrade
Indicator

Indicator

Market Structure Shift [JOAT]═══ MARKET STRUCTURE SHIFT ═══
A complete Smart Money Concepts structure engine that reads the market the way institutional flow moves it — mapping every swing and internal shift, tagging each break as BOS (continuation) or CHoCH (reversal), then layering liquidity, premium/discount context, and a structure-anchored risk plan on top. It turns raw price action into a clean, labelled map of who is in control and where the shift happens.
▎ WHAT IT DOES
MSS tracks confirmed pivots and runs them through a two-layer structure state machine. When price closes (or wicks) beyond a protective swing, it draws the break line, labels it BOS or CHoCH, and updates the live trend state. Around that skeleton it adds equal-high/low liquidity marks, a premium/discount/equilibrium range map, an optional structure-anchored SL and Reward:Risk target zone, session VWAP with deviation bands, and a live dashboard summarising the whole picture.
▎ HOW IT WORKS
• Confirmed pivots — swing highs/lows are detected with a symmetric pivot length (bars each side), so a pivot only prints once fully confirmed. A separate, shorter internal pivot length tracks a faster inner structure layer.
• BOS vs CHoCH logic — each layer holds a trend state (bull / bear / range). A bullish break of the last swing high while the state is already bullish is a BOS (continuation); a bullish break while the state was bearish is a CHoCH (change of character / first reversal). The mirror logic applies to bearish breaks.
• Break confirmation — you choose whether a candle must close beyond the level (cleaner) or whether any wick penetration counts.
• Sequence read — every new pivot is classified HH / LH / HL / LL (or EQ) so you can see the higher-high / lower-low rhythm at a glance.
• Liquidity (EQH/EQL) — two consecutive pivots landing within an ATR-scaled tolerance are marked as Equal Highs or Equal Lows — resting liquidity pools where stops cluster.
• Premium / Discount — the active swing range is split into a Premium (upper) zone, a neutral Equilibrium band around the midpoint, and a Discount (lower) zone, so you always know which half of the range price is trading in.
• Structure-anchored risk — on a fresh signal the stop is placed just beyond the swing that would invalidate the shift (plus an ATR buffer), or by a fixed ATR distance. Risk is floored and capped by ATR, and the target is projected at your Reward:Risk multiple.
• VWAP magnet — session-anchored VWAP with inner and outer standard-deviation bands acts as the fair-value reference the structure tends to rotate around.
• ATR normalisation — label spacing, liquidity tolerance and stop distances all scale with ATR, so the tool behaves consistently across assets and timeframes.
▎ HOW TO USE IT
• Read the trend state first: a CHoCH warns the prevailing structure has broken; a following BOS confirms the new leg. Trade with the higher-conviction swing layer and use internal breaks for earlier, finer entries.
• BUY / SELL labels fire on the events you enable (CHoCH, BOS, or both) from your chosen layer — treat them as a structure trigger, not a blind entry.
• Favour longs from the Discount zone and shorts from the Premium zone; the Equilibrium band is neutral / no-man's-land.
• EQH/EQL marks show where liquidity rests — price often sweeps these before a genuine shift, so use them as targets and as traps to avoid.
• When a signal prints, the RISK ZONE (entry→stop, red) and TARGET ZONE (entry→TP, green) boxes project the plan; the SL and TP lines carry exact price and R labels. The zones extend live, then freeze once TP, SL, or the time-out is reached.
• Use VWAP and its bands as confluence — a shift back through VWAP into the opposite σ band is a common rotation target.
▎ KEY SETTINGS
• Structure Engine — swing pivot length, optional internal layer + its length, close/wick break confirmation, ATR length.
• Signals — signal source (Swing / Internal / both) and whether labels fire on CHoCH, BOS, or both.
• Liquidity & Zones — toggle EQH/EQL, equal-level tolerance, premium/discount zones, equilibrium band width, and the floating price-zone tag.
• Risk Model — stop basis (Structure+Buffer or ATR Multiple), buffer/ATR distance, Reward:Risk multiple, min/max risk floors and caps, projection length, max drawn setups.
• VWAP — show VWAP, inner/outer σ multiples, deviation lookback.
• Visuals — swing/internal break display, pivot markers, zone candle colouring, draw limits, and the blue/violet colour scheme.
▎ DASHBOARD
A compact blue/violet panel reports live: overall Trend , the Last Event (Bull/Bear BOS or CHoCH), the current Swing Sequence (e.g. HH · HL), the Internal structure state, the active Price Zone , running BOS and CHoCH counts, Liquidity (EQH/EQL) count, the current Signal , and the symbol/timeframe. Position and text size are adjustable.
▎ ALERTS
Six alertconditions are provided: Bullish BOS, Bearish BOS, Bullish CHoCH, Bearish CHoCH, BUY Signal, and SELL Signal — each with a ready message carrying ticker and interval.
▎ NOTES
• Works on all timeframes and all assets — everything scales with ATR.
• Pivots are confirmed (they need bars to close each side), so structure marks are non-repainting once printed; the price-zone label and dashboard update live on the last bar as expected.
• Every visual layer has a toggle — turn off what you don't need for a clean chart.
• Signals never fire both directions on the same bar; a conflicting wide-range bar is dropped.
For research and education only. This is not financial advice. No indicator can predict the future, and past behaviour does not guarantee future results. Any labels, zones, or counts describe historical price action only. Always do your own analysis and manage your own risk.
Made with passion by JackOfAllTrades ⚡ Indicator

Indicator

FVG Retest Entry Engine [trade_w_samet]🎯 FVG Retest Entry Engine
FVG Retest Entry Engine is a structured Fair Value Gap retest analysis indicator designed to help traders study confirmed gap reactions, structure alignment, filtered entry conditions, and multi-target visual trade models directly on the price chart.
This script focuses on one main concept:
FVG retest-based entry visualization.
It is not designed to be a simple buy/sell signal generator.
It is not designed to show every possible Fair Value Gap.
It is not designed to create constant chart noise.
Instead, the goal of FVG Retest Entry Engine is to detect confirmed structure events, identify eligible Fair Value Gaps, monitor their retests, apply configurable quality checkpoints, and visualize accepted setups using one entry level, one protective stop, and three take-profit levels.
The indicator includes:
• Bullish and bearish market-structure detection
• BOS and CHoCH classification
• Three-candle Fair Value Gap detection
• Internal FVG memory and invalidation handling
• Structure-linked FVG candidate selection
• FVG quality scoring and setup grading
• Armed-zone retest monitoring
• Multiple retest confirmation models
• Volume, Directional Force, and confirmed HTF bias filters
• FVG Retest Passport
• Blocker Lens state reporting
• Confirmed-close signal commitment
• Optional Live Preview dashboard state
• Gap-protected and ATR-based stop-loss models
• TP1, TP2, and TP3 risk-multiple projections
• Optional breakeven movement after TP1
• Active and historical TP / SL areas
• Executed FVG retest zones
• One-active-trade-at-a-time logic
• Mobile chart layout
• Multiple visual themes
• Advanced entry and lifecycle alerts
• JSON webhook support
• Compact bottom-right dashboard
The purpose of this script is to help users visually study where a structure event and an eligible Fair Value Gap combine with a confirmed retest condition.
It should be treated as a chart-analysis and educational decision-support tool.
It is not financial advice.
It is not an automated trading system.
It does not guarantee profitable trades.
It does not execute broker orders.
It does not replace personal analysis, risk management, or trade validation.
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
At a high level, FVG Retest Entry Engine does the following:
• Detects confirmed bullish and bearish structure breaks.
• Classifies structure events as BOS or CHoCH.
• Detects bullish and bearish three-candle Fair Value Gaps.
• Stores valid FVG zones in internal memory.
• Tracks zone direction, boundaries, age, displacement, volume context, and prior interactions.
• Searches for an eligible FVG after a matching structure event.
• Scores and ranks available FVG candidates.
• Arms the best available zone for retest monitoring.
• Waits for the selected minimum retest delay.
• Detects the selected FVG retest pattern.
• Evaluates reaction quality and optional confluence filters.
• Assigns a setup grade such as A+, A, B, or FILTERED.
• Confirms final entry conditions only when the chart candle closes.
• Draws one Entry, one SL, and three TP levels.
• Tracks TP1, TP2, TP3, stop-loss, and breakeven events.
• Allows only one active trade projection at a time.
• Keeps completed trade areas when historical display is enabled.
• Marks completed models as bullish or bearish FVG Retest outcomes.
• Displays the current bias, engine state, and active levels in the dashboard.
• Provides entry, armed-zone, target, stop, breakeven, and webhook alert options.
The script is intentionally built as a structured process.
It does not include machine-learning prediction.
It does not include guaranteed performance claims.
It does not attempt to forecast every future market movement.
It provides a transparent way to study structure-linked FVG retests and their projected trade lifecycle.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
The core idea behind FVG Retest Entry Engine is based on the relationship between market structure and Fair Value Gap reactions.
A Fair Value Gap represents a three-candle price imbalance.
A bullish FVG is formed when the current candle’s low is above the high from two candles earlier.
A bearish FVG is formed when the current candle’s high is below the low from two candles earlier.
The script does not treat every FVG as an entry.
Instead, it waits for a confirmed structure event and then searches for an eligible FVG that matches that directional context.
The selected FVG becomes an armed zone.
Price must later return to that zone and satisfy the chosen retest condition.
The engine can then evaluate:
• gap size relative to ATR
• formation displacement
• formation volume context
• FVG age
• prior zone interactions
• structure-break quality
• retest depth
• reaction-candle quality
• volume participation
• DI / ADX directional force
• confirmed higher-timeframe bias
• minimum setup grade
The goal is not to show more signals.
The goal is to create a documented and understandable process from structure event to confirmed FVG retest model.
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS SCRIPT IS NOT A SIMPLE BUY/SELL INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
FVG Retest Entry Engine is not intended to be used as a blind buy/sell system.
The script is structured as a visual review workflow:
Structure event is confirmed
→ matching FVG candidates are reviewed
→ one eligible FVG is selected
→ the FVG becomes armed
→ price returns to the armed zone
→ the retest pattern is checked
→ reaction quality is evaluated
→ enabled filters are checked
→ the setup receives a grade
→ the candle must close with all conditions still valid
→ Entry, SL, TP1, TP2, and TP3 are projected
→ the active model is monitored
→ the model closes at TP3, stop loss, targets complete, or breakeven
→ the completed FVG Retest model is archived visually
Each part has a specific purpose.
The structure system identifies a directional event.
The FVG memory system stores imbalance zones.
The candidate-ranking system selects a relevant gap instead of using every gap.
The armed-zone system separates observation from entry.
The retest logic defines what qualifies as a valid return.
The quality checkpoints reduce setups that fail enabled conditions.
The grading system summarizes internal setup quality.
The entry model provides visual planning levels.
The stop model creates a consistent risk reference.
The three-target model provides staged reward references.
The Blocker Lens explains the current engine state.
The Passport explains why an accepted setup qualified.
The alert system supports monitoring of confirmed events.
This makes the script a structured FVG retest analysis tool, not a guaranteed trade signal generator.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The script operates through several connected stages.
First, it identifies confirmed swing highs and swing lows.
Price breaking a confirmed swing level can create a bullish or bearish structure event.
The break may be classified as BOS when it continues the current structure bias or CHoCH when it changes that bias.
The engine separately detects three-candle Fair Value Gaps and stores their contextual information.
bool tws_bullish_fvg = bar_index >= 2 and low > high
bool tws_bearish_fvg = bar_index >= 2 and high < low
float tws_bullish_fvg_top = low
float tws_bullish_fvg_bottom = high
float tws_bearish_fvg_top = low
float tws_bearish_fvg_bottom = high
float tws_bullish_fvg_size = tws_bullish_fvg_top - tws_bullish_fvg_bottom
float tws_bearish_fvg_size = tws_bearish_fvg_top - tws_bearish_fvg_bottom
When a structure event occurs, the engine reviews matching FVG candidates within the selected distance and timing limits.
The available candidates are compared using the active profile’s rules.
The selected zone becomes armed and remains under observation until:
• a confirmed retest creates an entry
• the setup expires
• the FVG is invalidated
• another structure search replaces it
Once price interacts with the armed zone, the selected retest model and reaction-quality conditions are checked.
Volume, DI / ADX, and higher-timeframe bias can also be required.
Only a setup that passes the active rules and remains valid at candle close can create a permanent entry model.
━━━━━━━━━━━━━━━━━━━━━━
🔵 BULLISH FVG RETEST LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bullish FVG Retest setup begins with bullish structure context.
The script requires a confirmed bullish BOS or CHoCH event and then searches for a directionally matching FVG candidate.
The selected zone must remain valid while the engine waits for price to return.
Depending on the chosen profile and retest model, bullish confirmation may require:
• wick contact with the zone
• real-body contact
• a close inside the zone
• a bullish reaction reclaim
• directional recovery above the zone midpoint
• a close above the relevant FVG edge
• a bullish rejection wick
The engine may then check:
• reaction strength
• volume participation
• positive DI dominance
• minimum ADX strength
• confirmed bullish HTF alignment
• minimum accepted grade
When every enabled condition remains valid at candle close, the script creates:
• a bullish FVG RETEST label
• an executed FVG retest box
• an entry reference at the confirmation close
• a protective stop below the setup reference
• TP1, TP2, and TP3 above entry
• blue reward visualization
• red risk visualization
This does not mean price must continue upward.
It means the script detected a bullish FVG retest condition that satisfied the selected rules at the time of confirmation.
━━━━━━━━━━━━━━━━━━━━━━
🔴 BEARISH FVG RETEST LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bearish FVG Retest setup begins with bearish structure context.
The script requires a confirmed bearish BOS or CHoCH event and then searches for a directionally matching FVG candidate.
The selected zone must remain valid while the engine waits for price to return.
Depending on the chosen profile and retest model, bearish confirmation may require:
• wick contact with the zone
• real-body contact
• a close inside the zone
• a bearish reaction reclaim
• directional recovery below the zone midpoint
• a close below the relevant FVG edge
• a bearish rejection wick
The engine may then check:
• reaction strength
• volume participation
• negative DI dominance
• minimum ADX strength
• confirmed bearish HTF alignment
• minimum accepted grade
When every enabled condition remains valid at candle close, the script creates:
• a bearish FVG RETEST label
• an executed FVG retest box
• an entry reference at the confirmation close
• a protective stop above the setup reference
• TP1, TP2, and TP3 below entry
• blue reward visualization
• red risk visualization
This does not mean price must continue downward.
It means the script detected a bearish FVG retest condition that satisfied the selected rules at the time of confirmation.
━━━━━━━━━━━━━━━━━━━━━━
💎 FVG QUALITY FILTER SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes a multi-layer FVG quality system to reduce unnecessary chart signals.
This is important because not every gap has the same context and not every retest should create an entry model.
The quality system may evaluate:
• minimum gap size relative to ATR
• displacement of the formation candle
• gap location inside the recent dealing range
• formation-volume context
• gap age
• previous interactions with the zone
• distance from the matching structure event
• structure-break strength
• reaction-candle strength
• volume participation on retest
• DI / ADX directional force
• confirmed HTF bias
• final setup grade
The exact behavior depends on the selected Engine Style.
Original Sync uses the first validated calibration and star-based acceptance logic.
Balanced Flow uses moderate filtering.
Precision Flow applies stricter FVG and retest requirements.
Fast Flow accepts more active conditions.
Position Flow uses wider structural and timing windows.
Custom Lab exposes the advanced thresholds for manual configuration.
The filter system does not guarantee better future outcomes.
It controls how selective the engine is before creating a confirmed visual model.
━━━━━━━━━━━━━━━━━━━━━━
📏 GAP / ATR FILTER
━━━━━━━━━━━━━━━━━━━━━━
The gap-width filter measures the detected FVG against ATR.
This helps the engine reject extremely small imbalance zones relative to current market volatility.
A higher minimum gap-width value makes FVG storage and candidate selection more selective.
A lower value allows smaller gaps to enter the internal memory.
The filter is volatility-adjusted because the same absolute price distance can have different meaning across symbols and timeframes.
The active threshold depends on the chosen profile or Custom Lab value.
A larger gap is not automatically a better setup.
Gap size is only one component of the complete selection and retest process.
━━━━━━━━━━━━━━━━━━━━━━
🕯️ DISPLACEMENT QUALITY FILTER
━━━━━━━━━━━━━━━━━━━━━━
The displacement filter evaluates the directional body of the candle associated with FVG formation.
The formation body is compared with ATR and converted into a bounded internal score.
This helps the script distinguish a stronger directional imbalance from a gap created during weak or narrow price action.
When the Gap Impulse Check is enabled, an FVG must satisfy the selected displacement threshold before it is stored as a valid candidate.
A higher threshold reduces the number of eligible FVGs.
A lower threshold accepts more moderate formations.
The displacement score is an internal quality measurement.
It does not predict whether the zone will hold in the future.
━━━━━━━━━━━━━━━━━━━━━━
📊 REACTION STRENGTH FILTER
━━━━━━━━━━━━━━━━━━━━━━
The reaction-strength filter evaluates the candle that interacts with the armed FVG.
The score can include:
• close location inside the candle
• directional wick quality
• body size relative to ATR
• bullish or bearish candle direction
• penetration depth inside the FVG
The purpose is to separate a basic touch from a more structured directional response.
A higher minimum reaction-strength value requires a clearer response from the zone.
A lower value accepts more retest conditions.
Original Sync can use its original reaction logic without the same adaptive score requirement.
The reaction score is not a win probability.
It is a standardized way to evaluate whether the retest candle matches the selected profile’s quality requirements.
━━━━━━━━━━━━━━━━━━━━━━
🧼 CONFIRMED RETEST FILTER
━━━━━━━━━━━━━━━━━━━━━━
The confirmed-retest layer requires price to satisfy the active retest model and remain valid at candle close.
Available Original Sync reaction patterns include:
• Any Wick Contact
• Real Body Contact
• Close Within Gap
• Reaction Reclaim
Available adaptive reaction models include:
• First Contact
• Directional Recovery
• Edge Reclaim
• Rejection Wick
First Contact accepts basic interaction with the zone.
Directional Recovery requires directional behavior after the interaction.
Edge Reclaim requires price to close through the relevant boundary.
Rejection Wick applies a stricter wick-and-close response.
The script can also use an interaction margin to tolerate minor boundary differences.
A minimum delay prevents the engine from confirming a retest too soon after the structure event.
An expiry window prevents stale armed zones from producing entries too far from their original context.
Final entry commitment remains bar-close based.
━━━━━━━━━━━━━━━━━━━━━━
🎯 ENTRY MODEL
━━━━━━━━━━━━━━━━━━━━━━
When an armed FVG retest passes all enabled conditions, the script creates a visual entry model.
The entry reference is the close of the candle that confirms the retest.
Permanent entries, labels, boxes, and entry alerts are committed only after candle close.
tws_preview_ready := tws_eval_zone_touched and tws_eval_reaction_pass and tws_direction_filters_pass and tws_eval_grade_pass
bool tws_confirmed_entry = tws_preview_ready and barstate.isconfirmed
if tws_confirmed_entry
tws_long_signal := tws_armed_direction == 1
tws_short_signal := tws_armed_direction == -1
tws_entry_event := true
tws_trade_active := true
tws_trade_direction := tws_armed_direction
tws_trade_open_bar := bar_index
tws_trade_entry := close
Confirmed Close mode waits for the candle to finish before the dashboard treats the setup as an entry.
Live Preview can show that current conditions are ready while the realtime candle is still open.
The preview may change intrabar because the candle is unfinished.
It does not create a permanent historical entry model unless the setup remains valid when the candle closes.
The entry is a visual analysis reference.
It is not a broker order and does not require the user to enter a trade.
━━━━━━━━━━━━━━━━━━━━━━
🛑 ATR STOP-LOSS MODEL
━━━━━━━━━━━━━━━━━━━━━━
The script includes two stop-placement models.
Gap-Protected Stop uses the selected FVG boundary plus an ATR-based protective buffer.
For bullish setups, the stop is projected below the FVG.
For bearish setups, the stop is projected above the FVG.
Volatility Stop projects the stop at an ATR multiple from entry.
A minimum stop-distance percentage can prevent extremely narrow visual stops.
float tws_raw_stop =
tws_stop_mode == "Gap-Protected Stop" ?
(
tws_trade_direction == 1 ?
tws_armed_bottom - tws_atr * tws_fvg_stop_buffer_atr :
tws_armed_top + tws_atr * tws_fvg_stop_buffer_atr
) :
(
tws_trade_direction == 1 ?
tws_trade_entry - tws_atr * tws_atr_stop_multiplier :
tws_trade_entry + tws_atr * tws_atr_stop_multiplier
)
float tws_raw_stop_distance = math.abs(tws_trade_entry - tws_raw_stop)
float tws_guaranteed_distance = tws_trade_entry * tws_minimum_stop_percent / 100.0
float tws_final_stop_distance = math.max(tws_raw_stop_distance, tws_guaranteed_distance)
ATR is used because volatility changes across markets and timeframes.
A wider stop changes the projected risk distance and therefore also changes all three target levels.
The displayed SL is a visual planning level only.
It does not place or manage a real broker stop order.
━━━━━━━━━━━━━━━━━━━━━━
🎯 TAKE-PROFIT RR MODEL
━━━━━━━━━━━━━━━━━━━━━━
The script uses three take-profit levels.
Each target is calculated from the distance between entry and the original stop.
float tws_trade_risk = math.abs(tws_trade_entry - tws_trade_original_stop)
tws_trade_tp1 := tws_trade_direction == 1 ? tws_trade_entry + tws_trade_risk * tws_tp1_r : tws_trade_entry - tws_trade_risk * tws_tp1_r
tws_trade_tp2 := tws_trade_direction == 1 ? tws_trade_entry + tws_trade_risk * tws_tp2_r : tws_trade_entry - tws_trade_risk * tws_tp2_r
tws_trade_tp3 := tws_trade_direction == 1 ? tws_trade_entry + tws_trade_risk * tws_tp3_r : tws_trade_entry - tws_trade_risk * tws_tp3_r
The default concept is:
TP1 = first risk-multiple target
TP2 = second risk-multiple target
TP3 = final risk-multiple target
The exact R values can be adjusted in Position Architecture.
The script also contains visual position-share percentages for TP1, TP2, and TP3.
These shares are used by the internal lifecycle model.
They do not represent a broker account, real position size, or verified financial performance.
The RR settings only control projected visual distances.
They should not be interpreted as recommendations or guaranteed objectives.
━━━━━━━━━━━━━━━━━━━━━━
📦 ACTIVE TP / SL BOX SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
When a confirmed FVG Retest entry appears, the script can draw a complete visual trade model.
The visual model includes:
• executed FVG retest zone
• entry line
• original stop line
• active stop line
• TP1 line
• TP2 line
• TP3 line
• red risk box
• blue reward box
• Entry price label
• SL price label
• TP1, TP2, and TP3 price labels
• bullish or bearish entry label
The active boxes extend to the right while the model is open.
When the model closes, the right edge is fixed at the closing candle.
If Keep Completed Trade Areas is enabled, completed boxes and lines remain visible for historical review.
The Completed Trade History Limit controls how many previous visual models are retained.
The TP area uses a blue-toned visual palette.
TP price labels use a different, darker background so they remain distinct from the reward box.
The SL area remains red for clearer risk separation.
━━━━━━━━━━━━━━━━━━━━━━
🚦 ONE ACTIVE TRADE AT A TIME
━━━━━━━━━━━━━━━━━━━━━━
The script includes one-active-trade-at-a-time logic.
If a trade model is active, the engine does not create another trade model until the current one closes.
The active model may close through:
• TP3
• targets complete
• stop loss
• breakeven exit
This design separates:
• FVG and structure detection
• trade-model creation permission
The engine can continue calculating market context while a model is active, but another entry model is not opened.
This helps prevent overlapping TP / SL areas and keeps the chart easier to interpret.
The one-active-model rule is a visual management decision.
It is not a restriction on the user’s personal trading activity.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ SAME-CANDLE TP / SL HANDLING
━━━━━━━━━━━━━━━━━━━━━━
If a target and the active stop are both touched on the same candle, standard OHLC data cannot reveal the true intrabar sequence.
The script therefore includes two selectable assumptions:
Protective First
Target First
Protective First assumes the stop is processed before target events.
Target First processes available target events before the stop check.
bool tws_conservative_mode =
tws_intrabar_priority == "Protective First"
if tws_conservative_mode and tws_stop_touched
tws_trade_remaining_percent := 0.0
tws_close_trade := true
tws_close_reason := tws_trade_active_stop == tws_trade_entry ? "BREAKEVEN" : "STOP LOSS"
tws_final_exit_price := tws_trade_active_stop
else
if not tws_tp1_reached and tws_tp1_touched
tws_tp1_reached := true
tws_tp1_event := true
Protective First is the more conservative bar-based assumption.
Target First is more optimistic.
Neither option reproduces exact tick-by-tick broker execution.
The model does not include spread, slippage, commissions, latency, or partial-fill behavior.
━━━━━━━━━━━━━━━━━━━━━━
🏷️ FVG RETEST LABELS
━━━━━━━━━━━━━━━━━━━━━━
The script uses clear directional FVG Retest labels.
Bullish entry labels use:
🟢 FVG RETEST
📈 LONG
Bearish entry labels use:
🔴 FVG RETEST
📉 SHORT
Entry labels can also display:
• grade
• setup score
• FVG age
• retest depth
• Passport information
Completed-model labels emphasize that the closed model originated from an FVG retest.
A completed bullish model can display:
🟢 BULLISH FVG RETEST
🔒 MODEL CLOSED
🎯 close reason
⭐ grade
TP1 / TP2 / TP3 status
A completed bearish model uses the corresponding bearish wording and color.
The labels do not display USD profit or account-profit claims.
All chart labels use bold and italic text formatting.
The signal-label size can be adjusted from the settings.
━━━━━━━━━━━━━━━━━━━━━━
📍 FVG ZONE DISPLAY MODES
━━━━━━━━━━━━━━━━━━━━━━
The FVG display system includes three modes:
Hidden
Selected Gap
All Active Gaps
Hidden mode removes active FVG memory boxes from the chart while allowing the engine to continue calculating them internally.
Selected Gap shows only the FVG currently armed for retest monitoring.
All Active Gaps displays every currently stored and valid FVG zone.
Show Executed FVG Retests separately controls whether the FVG zone that created an entry remains highlighted as part of the trade model.
The selected display mode affects visual presentation only.
It does not change the underlying FVG calculations.
For the cleanest chart, Selected Gap is generally the most focused mode.
All Active Gaps can be useful for research but may create more chart density.
━━━━━━━━━━━━━━━━━━━━━━
🧹 FVG INVALIDATION
━━━━━━━━━━━━━━━━━━━━━━
The script can automatically remove invalidated FVG zones.
A bullish FVG may be invalidated when confirmed price action closes through the zone in the opposite direction.
A bearish FVG may be invalidated when confirmed price action closes through its opposite boundary.
An armed zone can also be cleared when:
• its retest window expires
• the zone exceeds the permitted lifetime
• the internal memory limit removes an older gap
• the active structure search is replaced
When an armed FVG becomes invalid, the Blocker Lens can display FVG INVALIDATED.
When the retest window expires, it can display SETUP EXPIRED.
Removing invalidated or stale zones helps prevent outdated FVGs from creating later entries outside their intended context.
Users can disable automatic invalidation removal if they prefer to retain more zones visually.
━━━━━━━━━━━━━━━━━━━━━━
📟 DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━
The script includes a compact dashboard positioned in the bottom-right corner.
The dashboard displays:
• BIAS
• STATE
• ENTRY
• TP1
• TP2
• TP3
• SL
BIAS uses the confirmed higher-timeframe filter when that filter is enabled and valid.
Otherwise, it reflects the current internal structure bias.
STATE is powered by the Blocker Lens.
Possible states include:
• WAITING STRUCTURE
• SCANNING FVG
• NO ELIGIBLE FVG
• FVG ARMED
• RETEST DELAY
• WAITING RETEST
• VOLUME BLOCK
• DI BLOCK
• HTF BLOCK
• WEAK REACTION
• GRADE BLOCK
• LIVE PREVIEW READY
• WAITING BAR CLOSE
• TRADE ACTIVE
• COOLDOWN
• SETUP EXPIRED
• FVG INVALIDATED
The dashboard size can be set to Micro, Compact, or Standard.
The dashboard is designed to summarize engine state and current price references.
It is not a performance report.
It is not a replacement for PulseWire Strategy Tester.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
FVG Retest Entry Engine includes advanced alert options for:
• FVG armed
• bullish FVG Retest entry
• bearish FVG Retest entry
• any FVG Retest entry
• TP1 reached
• TP2 reached
• TP3 reached
• breakeven activated
• stop loss
• breakeven exit
Alert packages include:
Off
Qualified Entries
Premium Entries
Full Lifecycle
Webhook JSON
Qualified Entries focuses on confirmed accepted entries.
Premium Entries applies stricter grade-based alert delivery.
Full Lifecycle includes entry and management events.
Webhook JSON sends structured event messages for external processing.
Alert Direction can be limited to Both Directions, Bullish Only, or Bearish Only.
Minimum Alert Grade can be set to All Qualified, A / A+, or A+ Only.
Alert filtering affects alert delivery only.
It does not change the chart’s signal calculations.
alertcondition(tws_armed_alert_event, title="trade_w_samet • FVG ARMED", message='trade_w_samet FVG ARMED | {{ticker}} | TF: {{interval}} | Score: {{plot("SIGNAL_SCORE")}}')
alertcondition(tws_entry_alert_event and tws_trade_direction == 1, title="trade_w_samet • BULLISH FVG RETEST", message='trade_w_samet BULLISH FVG RETEST | {{ticker}} | TF: {{interval}} | Score: {{plot("SIGNAL_SCORE")}} | Entry: {{plot("ENTRY")}} | SL: {{plot("SL")}} | TP1: {{plot("TP1")}} | TP2: {{plot("TP2")}} | TP3: {{plot("TP3")}}')
alertcondition(tws_entry_alert_event and tws_trade_direction == -1, title="trade_w_samet • BEARISH FVG RETEST", message='trade_w_samet BEARISH FVG RETEST | {{ticker}} | TF: {{interval}} | Score: {{plot("SIGNAL_SCORE")}} | Entry: {{plot("ENTRY")}} | SL: {{plot("SL")}} | TP1: {{plot("TP1")}} | TP2: {{plot("TP2")}} | TP3: {{plot("TP3")}}')
alertcondition(tws_tp1_alert_event, title="trade_w_samet • TP1 REACHED", message='trade_w_samet TP1 REACHED | {{ticker}} | TP1: {{plot("TP1")}}')
alertcondition(tws_stop_alert_event, title="trade_w_samet • STOP LOSS", message='trade_w_samet STOP LOSS | {{ticker}} | SL: {{plot("SL")}}')
Alerts are monitoring tools only.
They do not execute trades or place broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
A practical alert workflow:
1. Add FVG Retest Entry Engine to the chart.
2. Select the desired Engine Style and confirmation settings.
3. Open PulseWire’s alert window.
4. Select the indicator as the alert condition.
5. Choose the desired entry or lifecycle condition.
6. Select the alert frequency appropriate for confirmed-candle monitoring.
7. Use the Alert Package, direction, and grade controls inside the indicator when needed.
8. Add a webhook URL only when using a compatible external workflow.
9. Test the alert configuration before depending on it.
10. Confirm every event with personal analysis and risk management.
For confirmed entry monitoring, users should avoid treating provisional realtime candle conditions as permanent signals.
Entry alerts are designed around the script’s confirmed event variables.
Alert delivery can still depend on PulseWire servers, the user’s alert configuration, data availability, and any external webhook destination.
━━━━━━━━━━━━━━━━━━━━━━
🧪 HOW TO USE THE INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A practical workflow:
1. Add FVG Retest Entry Engine to a standard candlestick chart.
2. Begin with Original Sync or Balanced Flow.
3. Keep Signal Timing on Confirmed Close for the clearest workflow.
4. Use Selected Gap to keep the chart focused.
5. Observe the dashboard STATE value.
6. Wait for a confirmed structure event and an armed FVG.
7. Review the FVG zone before the retest occurs.
8. When price returns, allow the selected retest model and filters to complete.
9. Review the FVG Retest Passport when an entry appears.
10. Use the displayed Entry, SL, TP1, TP2, and TP3 as visual references only.
11. Evaluate whether the setup fits personal structure, liquidity, session, and risk rules.
12. Use alerts for monitoring rather than blind execution.
13. Review completed FVG Retest labels to understand the model lifecycle.
14. Test settings on the exact markets and timeframes personally studied.
The indicator is best used as a structured FVG retest review tool.
It should not be used as an automatic decision-maker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
⚡ Signal Blueprint
Engine Style
Controls the active configuration profile.
Available profiles:
Original Sync
Balanced Flow
Precision Flow
Fast Flow
Position Flow
Custom Lab
Allow Bullish Setups
Enables or disables bullish FVG Retest models.
Allow Bearish Setups
Enables or disables bearish FVG Retest models.
━━━━━━━━━━━━━━━━━━━━━━
🪪 Retest Experience
FVG Retest Passport
Controls whether Passport information is Off, Compact, or Detailed.
Show Blocker Lens
Shows or hides the engine STATE explanation in the dashboard.
Signal Timing
Selects Confirmed Close or Live Preview behavior.
Live Preview affects the dashboard’s provisional realtime state. Permanent entries remain candle-close confirmed.
━━━━━━━━━━━━━━━━━━━━━━
🧬 Original Sync Engine
Original Signal Calibration
Selects Manual Sync, Bitcoin Map, Ethereum Map, Solana Map, or Gold Map.
Structure Window
Controls pivot sensitivity in Manual Sync.
Minimum Gap Footprint — ATR
Controls the minimum FVG width.
Gap Lifetime
Controls how long stored FVGs remain eligible.
Gap Memory Capacity
Controls the number of stored zones.
Break-to-Gap Distance
Controls the maximum allowed distance between structure context and FVG eligibility.
After-Break Scan Window
Controls how long the engine continues searching after a break.
Reaction Pattern
Selects Any Wick Contact, Real Body Contact, Close Within Gap, or Reaction Reclaim.
Reaction Margin %
Adds tolerance around FVG boundaries.
Minimum Reaction Delay
Controls how many bars must pass before retest confirmation.
Reaction Expiry Bars
Controls how long the armed setup may wait.
Participation Multiplier
Controls the Original Sync volume requirement.
Minimum Directional Force
Controls the Original Sync ADX threshold.
Minimum Sync Rating
Controls the minimum accepted star rating.
Minimum Risk Distance %
Prevents extremely narrow stops.
━━━━━━━━━━━━━━━━━━━━━━
🧭 Structure Pulse
Structure Sensitivity
Controls pivot detection in Custom Lab.
Display Structure Tags
Shows or hides BOS / CHoCH labels.
Close-Lock Breaks
Requires a candle close beyond structure when enabled.
Break Momentum Check
Requires directional expansion on the break candle.
Break Body Threshold — ATR
Controls the required break-candle body size.
Break Clearance — ATR
Adds an ATR-based buffer beyond the structure level.
━━━━━━━━━━━━━━━━━━━━━━
🧱 Gap Intelligence
Minimum Gap Width — ATR
Controls the minimum stored FVG size.
Gap Impulse Check
Enables displacement filtering.
Minimum Gap Impulse
Controls the required formation displacement.
Minimum Gap Score
Controls the minimum candidate-quality score.
Allowed Prior Reactions
Controls how many previous zone interactions are accepted.
Gap Expiry Bars
Controls maximum FVG age.
Active Gap Capacity
Controls stored-zone capacity.
Maximum Structure Link
Controls the maximum structure-to-FVG distance.
Break Follow-Through Window
Controls post-break candidate scanning.
Delete Invalidated Gaps
Removes zones invalidated by confirmed opposite price action.
━━━━━━━━━━━━━━━━━━━━━━
🎯 Reaction Trigger
Reaction Model
Selects First Contact, Directional Recovery, Edge Reclaim, or Rejection Wick.
Gap Interaction Margin %
Adds tolerance around FVG boundaries.
Minimum Reaction Strength
Controls the required retest-candle score.
Reaction Delay Bars
Controls the minimum delay before retest confirmation.
Setup Expiry Bars
Controls how long the armed zone remains available.
Signal Cooldown Bars
Controls the delay after a completed model before another entry is permitted.
━━━━━━━━━━━━━━━━━━━━━━
🛂 Quality Checkpoints
Volume Participation Check
Enables or disables the retest-volume filter.
Volume Baseline Length
Controls the volume moving-average period.
Required Volume Expansion
Controls the required volume multiplier.
Directional Force Check
Enables or disables DI / ADX filtering.
Directional Force Length
Controls the DI period.
Trend Strength Smoothing
Controls ADX smoothing.
Minimum Trend Strength
Controls the required ADX value.
Higher-Timeframe Bias Check
Enables or disables HTF directional alignment.
Bias Timeframe
Selects the higher timeframe.
Bias Fast EMA
Controls the fast HTF EMA length.
Bias Slow EMA
Controls the slow HTF EMA length.
Minimum Setup Grade
Selects B Grade or Better, A Grade or Better, or A+ Only.
The HTF layer uses previous completed higher-timeframe values.
float tws_htf_close = request.security(
syminfo.tickerid,
tws_htf_timeframe,
close ,
barmerge.gaps_off,
barmerge.lookahead_on
)
float tws_htf_fast_ema = request.security(
syminfo.tickerid,
tws_htf_timeframe,
ta.ema(close, tws_htf_fast_length) ,
barmerge.gaps_off,
barmerge.lookahead_on
)
float tws_htf_slow_ema = request.security(
syminfo.tickerid,
tws_htf_timeframe,
ta.ema(close, tws_htf_slow_length) ,
barmerge.gaps_off,
barmerge.lookahead_on
)
━━━━━━━━━━━━━━━━━━━━━━
🛡️ Position Architecture
ATR Calculation Length
Controls ATR calculation.
Stop Placement Model
Selects Gap-Protected Stop or Volatility Stop.
Volatility Stop Multiplier
Controls ATR stop distance from entry.
Gap Stop Buffer — ATR
Controls the protective distance beyond the FVG.
Minimum Stop Distance %
Prevents extremely narrow risk zones.
TP1 Risk Multiple
Controls the first target distance.
TP2 Risk Multiple
Controls the second target distance.
TP3 Risk Multiple
Controls the final target distance.
TP1 Position Share %
Controls the internal visual share assigned to TP1.
TP2 Position Share %
Controls the internal visual share assigned to TP2.
TP3 Position Share %
Controls the internal visual share assigned to TP3.
Move Stop to Entry After TP1
Moves the active stop to entry after TP1 according to confirmed lifecycle rules.
Same-Candle Priority
Selects Protective First or Target First.
━━━━━━━━━━━━━━━━━━━━━━
🎨 Chart Design
Color System
Selects Obsidian Signal, Carbon Grid, Ivory Pulse, Neon Voltage, Acid Circuit, or Violet Flux.
Gap Display Mode
Selects Hidden, Selected Gap, or All Active Gaps.
Show Executed FVG Retests
Shows or hides the FVG zone used by a confirmed trade model.
Display TP / SL Areas
Shows or hides the reward and risk boxes.
Keep Completed Trade Areas
Keeps completed model boxes and lines.
Completed Trade History Limit
Controls the maximum historical visual models.
Active Area Projection
Controls the initial right-side projection length.
Chart Layout
Selects Desktop or Mobile.
Signal Label Size
Selects Micro, Compact, Standard, or Large.
Dashboard Size
Selects Micro, Compact, or Standard.
Display Bias EMA
Shows or hides the confirmed HTF fast EMA reference.
Display Setup Dashboard
Shows or hides the bottom-right dashboard.
━━━━━━━━━━━━━━━━━━━━━━
📡 Alert Center
Alert Package
Selects Off, Qualified Entries, Premium Entries, Full Lifecycle, or Webhook JSON.
Alert Direction
Selects Both Directions, Bullish Only, or Bearish Only.
Minimum Alert Grade
Selects All Qualified, A / A+, or A+ Only.
Alert When FVG Is Armed
Enables armed-zone alerts for compatible packages.
Alert When Stop Moves to Entry
Enables breakeven-activation alerts for compatible packages.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
FVG Retest Entry Engine uses familiar analytical concepts such as:
• Fair Value Gaps
• swing-point structure
• BOS and CHoCH
• ATR
• volume analysis
• DI / ADX
• higher-timeframe EMA bias
• risk/reward projection
• staged targets
• breakeven management
These concepts are not unique by themselves.
The originality of this script lies in how they are organized into a transparent FVG retest workflow:
Structure confirmation
→ directional FVG memory
→ contextual candidate comparison
→ selected armed zone
→ configurable retest validation
→ reaction-quality evaluation
→ optional volume, DI, and HTF checkpoints
→ setup grading
→ confirmed-close entry commitment
→ three-target visual management
→ optional breakeven movement
→ completed FVG Retest archiving
→ Blocker Lens state reporting
→ Passport explanation
→ lifecycle alerts
Distinctive implementation features include:
• structure-linked FVG selection instead of signaling every gap
• multiple Engine Style profiles
• Original Sync market calibrations
• an armed-zone state before entry
• candidate ranking using several FVG characteristics
• multiple retest models
• a visible reason when an entry is waiting or blocked
• a Passport explaining accepted setup context
• confirmed-close permanent signal commitment
• previous-completed HTF values
• executed FVG zone preservation
• three-stage target management
• Desktop and Mobile display modes
• alert filtering separated from chart calculations
This structure is designed to provide a focused and explainable review process without relying on hidden prediction claims.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
The script’s behavior depends heavily on settings and market conditions.
Signal frequency and visual output may change based on:
• Engine Style
• structure sensitivity
• close-based or wick-based breaks
• break momentum requirements
• minimum FVG width
• displacement filtering
• candidate-score threshold
• previous zone interactions
• FVG lifetime
• retest model
• reaction-strength threshold
• retest delay
• setup expiry
• volume filter settings
• DI / ADX settings
• HTF timeframe and EMA lengths
• minimum setup grade
• stop model
• target multiples
• signal cooldown
• timeframe
• symbol volatility
• market session
• available historical bars
A setting that appears clean on one market may behave differently on another.
A profile that produces suitable frequency on one timeframe may be too strict or too active on another.
Volume behavior can differ across asset classes and data providers.
Higher-timeframe filtering only operates as intended when the selected bias timeframe is genuinely higher than the chart timeframe.
Users should test the exact symbol, timeframe, profile, and session they personally study.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations:
It does not guarantee profitable trades.
It does not predict future price movement.
It does not replace risk management.
It does not execute trades.
It does not place broker orders.
It does not include broker slippage.
It does not include commissions.
It does not include spreads.
It does not include execution delay.
It does not include partial-fill behavior.
It uses bar-based chart data.
Same-candle TP / SL order cannot be known from standard OHLC data.
Same-Candle Priority is a modeling assumption.
Live Preview can change intrabar because the realtime candle is unfinished.
Permanent entry models are committed only after bar close.
Confirmed pivots require future bars before becoming available as confirmed swing points.
The dashboard is not PulseWire Strategy Tester.
The internal target-share model is not account-performance reporting.
Historical boxes and completed labels do not guarantee similar future behavior.
Setup grades are internal classifications, not win probabilities.
Filter settings do not guarantee improved future results.
Higher-timeframe values depend on selected timeframe and available data.
Data-feed revisions or chart-history differences can affect historical calculations.
Alert delivery depends on PulseWire and the user’s alert configuration.
Webhook delivery also depends on the external destination.
One-active-trade logic is a visual management rule, not broker execution logic.
For these reasons, FVG Retest Entry Engine should be used as an educational decision-support and chart-analysis tool, not as a standalone automated trading strategy.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
This script may be useful for traders who:
• study Fair Value Gap retests
• use BOS and CHoCH context
• prefer selected FVGs instead of every raw gap
• want a visible armed-zone workflow
• want to understand why a setup is waiting or blocked
• prefer confirmed-close entries
• want a setup-grade framework
• want Entry, SL, TP1, TP2, and TP3 visualization
• want optional breakeven behavior
• want completed FVG Retest models preserved visually
• use higher-timeframe directional context
• want mobile-friendly chart presentation
• use lifecycle alerts for monitoring
• want a structured educational analysis framework
It may be less suitable for users who:
• want guaranteed buy/sell signals
• want a fully automated trading bot
• want every raw FVG to create an entry
• expect one profile to work on every market
• expect grades to represent guaranteed probability
• require exact tick-level execution simulation
• expect visual projections to match broker fills
• expect alerts to execute trades automatically
• want an indicator to replace independent decision-making
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For cleaner review:
• Start with Original Sync or Balanced Flow.
• Keep Signal Timing on Confirmed Close.
• Use Selected Gap to reduce chart clutter.
• Enable Blocker Lens while learning the engine workflow.
• Use Compact Passport for concise context.
• Use Detailed Passport when reviewing why a setup qualified.
• Review the armed FVG before the entry appears.
• Check whether the FVG retest agrees with personal market-structure analysis.
• Evaluate the displayed stop against nearby structure and volatility.
• Treat TP1, TP2, and TP3 as planning references only.
• Keep Protective First when a conservative same-candle assumption is preferred.
• Use Precision Flow when fewer, stricter setups are preferred.
• Use Fast Flow only after understanding its higher signal frequency.
• Use Custom Lab only after learning how each threshold affects the engine.
• Use Mobile layout on smaller screens.
• Use alerts for monitoring, not blind execution.
• Always apply independent analysis, risk management, and position sizing.
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
FVG Retest Entry Engine is published as an educational and visual market-analysis tool.
The purpose of this description is to explain:
• what the script does
• how structure events are confirmed
• how three-candle FVGs are detected
• how FVGs are stored and invalidated
• how structure and FVG candidates are linked
• how an FVG becomes armed
• how retest models work
• how reaction quality is evaluated
• how volume, DI / ADX, and HTF checkpoints operate
• how setup grades are assigned
• how Confirmed Close and Live Preview differ
• how Entry and stop levels are calculated
• how TP1, TP2, and TP3 are projected
• how breakeven and same-candle assumptions work
• how active and completed trade areas behave
• what the Passport and Blocker Lens show
• what the dashboard displays
• what the alert packages do
• what the limitations are
• how the indicator should and should not be used
The script is designed to support structured analysis.
It does not promise profitable results.
It does not remove market risk.
It does not execute trades.
It should not be used as a blind buy/sell system.
It is best used as a visual framework for reviewing structure-linked FVG retests and projected risk/reward behavior.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
FVG Retest Entry Engine is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, or tax advice.
No indicator can guarantee future results.
Markets are uncertain, conditions change, and historical behavior does not ensure future performance.
Every user is responsible for their own analysis, validation, risk management, position sizing, alert configuration, trading decisions, and broker execution.
The structure labels, FVG zones, armed-zone states, Passport values, Blocker Lens messages, grades, scores, entry references, stop-loss levels, take-profit levels, TP / SL boxes, dashboard values, completed-model labels, and alerts are visual analysis tools only.
Use this script as a structured decision-support and visual review framework, not as a promise of profitability or a substitute for independent judgment.
Indicator

Indicator

Shift Structure Cloud [JOAT]Shift Structure Cloud is an open-source Pine Script v6 overlay that converts confirmed swing structure into a clean adaptive trend cloud. It tracks pivot highs and pivot lows, separates continuation breaks from character shifts, and uses the active structure range to build a dynamic average and multi-layer cloud around price.
The problem it solves is structural context. Many trend tools react only to moving averages or oscillator thresholds. This script anchors its visual state to confirmed market structure first, then uses an adaptive cloud to show whether price is trading above, below, or inside the current structural center. The result is a chart layer that can help separate continuation from transition without relying on future bars.
Core Concepts
1. Confirmed Pivot Structure
The script uses ta.pivothigh() and ta.pivotlow() to confirm swing highs and lows. A pivot is only accepted after the configured right-side confirmation window closes, which means the level is delayed by design but does not depend on unconfirmed future plotting.
pivotHigh = ta.pivothigh(high, pivotLeft, pivotRight)
pivotLow = ta.pivotlow(low, pivotLeft, pivotRight)
if not na(pivotHigh)
structureHigh := pivotHigh
2. BOS and CHoCH Logic
The current structure high and low become break reference levels. A bullish break occurs when price closes above the prior structure high. A bearish break occurs when price closes below the prior structure low. If the break happens against the previous side, it is classified as CHoCH; otherwise it is a continuation BOS.
bullBreakRaw = barstate.isconfirmed and not na(priorHigh) and close > priorHigh and priorClose <= priorHigh
bearBreakRaw = barstate.isconfirmed and not na(priorLow) and close < priorLow and priorClose >= priorLow
bullChoCh = bullBreak and trendSide == -1
bearChoCh = bearBreak and trendSide == 1
3. Adaptive Structure Average
Instead of plotting only fixed swing levels, the script calculates the midpoint between the active structure high and low. The midpoint is then smoothed with an adaptive alpha. When price moves far from the structural center, the average becomes more responsive; when price is balanced, it becomes slower.
structureMid = (activeHigh + activeLow) * 0.5
structureDrift = f_clamp(math.abs(close - structureMid) / legSize, 0.0, 1.0)
adaptAlpha = slowAlpha + (fastAlpha - slowAlpha) * structureDrift
structureAverage := structureAverage + adaptAlpha * (structureMid - structureAverage )
4. Multi-Layer Cloud
The cloud is built from ATR-adjusted bands around the adaptive structure average. Inner, middle, and outer layers give a visual read of compression, transition, and extended distance from structure.
5. Strength-Based Candle Coloring
When enabled, candles are repainted with a gradient based on distance from the structure average. The candle color is informational only; it does not change the underlying chart data.
Features
Confirmed BOS and CHoCH detection: Structural events are gated with barstate.isconfirmed
Adaptive structure average: A dynamic centerline based on active swing range and price drift
Layered trend cloud: Inner, middle, and outer ATR bands visualize distance from structure
Structure high and low levels: Current confirmed swing levels can be shown as reference lines
Gradient candle mode: Optional candle coloring by structural distance
Compact dashboard: Shows side, last shift, strength, bars since shift, and active range
Palette presets: Aqua Rose, Neon Desk, Mint Pulse, and VWAP Field
Alert conditions: Separate alerts for bullish BOS, bearish BOS, bullish CHoCH, and bearish CHoCH
Input Parameters
Visual System:
Palette Preset: Selects the bull and bear color pair
Color Candles: Enables structural candle coloring
Dashboard: Shows or hides the top-right dashboard
Pivot Dots: Shows confirmed pivot dots
Structure Engine:
Pivot Left / Pivot Right: Controls swing confirmation sensitivity
Fast Adapt Length: Fast smoothing response for the adaptive average
Slow Adapt Length: Slow smoothing response for balanced conditions
Cloud ATR Length: ATR length used for cloud width
Cloud Width: Multiplier applied to the cloud distance
BOS and CHoCH Marks: Shows structural event markers
Structure Levels: Shows active swing high and low reference lines
How to Use This Indicator
Step 1: Read the Cloud Side
If price is above the adaptive structure average and the cloud is colored bullish, the current structural state favors upside continuation. If price is below and the cloud is bearish, the state favors downside continuation.
Step 2: Watch CHoCH Events
CHoCH labels mark breaks against the previous structural side. They are useful as transition warnings, not automatic entries.
Step 3: Use the Structure Levels
The active high and low lines show where the next confirmed break could occur. These are the levels the script uses for BOS and CHoCH classification.
Step 4: Combine with Your Own Trigger
This script is designed as a structure and context layer. Use it with your own entry model, risk plan, and market selection process.
Indicator Limitations
Pivot levels confirm after the right-side pivot window closes, so they are intentionally delayed
A fast reversal can occur before a new pivot is confirmed
Cloud distance is ATR-based, so very low volatility markets can compress the visual bands
The script classifies structure; it does not predict future price movement
Originality Statement
Shift Structure Cloud combines confirmed BOS/CHoCH logic, an adaptive structure midpoint, ATR cloud geometry, and strength-colored candles in one original Pine v6 implementation. The script is not a pasted source clone. It rebuilds structure analysis from public Pine mechanics and adds a distinct visual model around the current swing range.
Disclaimer
This script is provided for educational and informational use only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Signals and structure readings are based on historical chart data and can be wrong in live market conditions. Always use independent analysis and proper risk management.
-Made with passion by jackofalltrades
Indicator

Structure Probability Blocks [JOAT]Structure Probability Blocks
Introduction
Structure Probability Blocks is an open-source market structure and quality-zone overlay. It detects confirmed structure breaks, searches for the most relevant opposing candle, scores the resulting block, and highlights the strongest active block without filling the chart with redundant zones.
The problem it solves is order block clutter. Many zone tools draw every candidate equally. Structure Probability Blocks filters for impulse, candle quality, relative volume, recency, and overlap so the displayed blocks have cleaner context. The enhanced chart layer also projects BOS/CHoCH break rails, impulse guide lines, and compact score labels directly beside the structure event.
Core Concepts
1. Confirmed Pivot Tracking
Swing highs and lows are confirmed using symmetric pivots. Because pivots require bars on both sides, this is intentionally delayed and non-repainting.
2. Break Qualification
A structure break requires price to close through the tracked pivot and meet a minimum ATR-based impulse requirement.
3. Seed Candle Search
After a break, the script searches backward for the best opposing candle candidate. The score considers body quality, wick behavior, volume rank, and recency.
4. Strongest Active Block Highlight
Among active blocks, the highest-scored block receives stronger border and midline treatment. Weaker overlapping blocks can be removed when the overlap guard is enabled.
5. Break Rails and Impulse Guides
When a qualified BOS or CHoCH forms, the indicator can draw a dashed horizontal break rail from the pivot level to the right edge and a dotted impulse guide from the selected seed candle to the break close. The on-chart tag includes score, zone range, drive, RVOL, and break price.
6. Strongest Block Ribbon
The highest-scored active block is also projected as a subtle ribbon using plot/fill logic. This gives a clean strongest-zone read even when several historical boxes remain visible.
Features
Confirmed structure breaks: Breaks require closed-bar confirmation
Quality-scored blocks: Scores combine impulse, candle structure, relative volume, and recency
BOS/CHoCH context: Block labels identify continuation or character-shift context
BOS/CHoCH break rails: Dashed projected levels mark the exact pivot level that price broke
Impulse guide lines: Dotted guides connect the seed candle to the break close
Expanded score tags: Labels show score, zone range, drive, RVOL, and break level
Prime block highlight: Highest active score receives stronger visual emphasis
Strongest block ribbon: Highest active zone is projected as a lightweight filled band
Overlap guard: Keeps the stronger of overlapping active blocks
Prime candle tint: Candles can be softly colored by the strongest active structure bias
Broken block handling: Keep, fade, extend, or remove resolved blocks
Top-right dashboard: Active count, bull/bear count, best score, break state, last pulse, volume rank, and break mode
Alerts: New bullish and bearish quality block events
Input Parameters
Structure:
Pivot Length: Swing confirmation sensitivity
Search Span: Bars searched for a seed candle
Break Impulse: Minimum ATR expansion required for a break
Volume Span: Lookback used for volume rank
Min Score: Minimum block quality score required
How to Use This Indicator
Step 1: Use the dashboard to identify current bull/bear structural bias.
Step 2: Focus on the strongest highlighted active block first.
Step 3: Use the dashed BOS/CHoCH rail as the exact structural break reference.
Step 4: Treat broken/faded blocks as resolved context rather than fresh opportunities.
Step 5: Combine with a regime or pressure tool before making directional decisions.
Indicator Limitations
Pivot confirmation is delayed by the pivot length, which is intentional non-repainting behavior
A high block score does not imply a guaranteed reaction
Volume rank can be less useful on instruments with unreliable volume
The script identifies structural context, not complete risk-defined trades
Originality Statement
Structure Probability Blocks is original in its quality-scored seed selection, impulse qualification, overlap prioritization, prime block highlighting, and compact structural dashboard. It does not copy third-party source code.
Disclaimer
This open-source indicator is provided for educational and informational purposes only. It is not financial advice. Structural zones can fail, and traders should always use independent analysis and proper risk management.
-Made with passion by jackofalltrades
Indicator

SMC CHOCH BOS Dual Structure + Candle Color v6📊 SMC CHOCH & BOS Dual Structure Indicator — User Guide
This indicator is designed to map market structure using Smart Money Concepts (SMC), combining:
CHOCH (Change of Character)
BOS (Break of Structure)
Swing Structure (macro)
Internal Structure (micro)
Dynamic candle coloring based on structural shifts
It provides a complete framework to understand trend shifts, confirmations, and execution timing.
🧠 CORE CONCEPTS
🔹 CHOCH (Change of Character)
Represents a potential reversal in market direction.
Bullish CHOCH → Market shifts from bearish to bullish
Bearish CHOCH → Market shifts from bullish to bearish
👉 This is the early signal, but not always confirmed.
🔹 BOS (Break of Structure)
Represents trend continuation or confirmation.
Occurs when price breaks previous structure in the direction of the trend
The first BOS after a CHOCH is especially important
👉 This is the confirmation phase.
⚙️ SETTINGS EXPLAINED
🔸 Show Structure
Swing → Displays macro structure (clean, less noise)
Internal → Displays micro structure (faster, more signals)
Both → Combines both for full context
👉 Recommended: Both
🔸 Swing Structure Length
Controls the sensitivity of macro structure.
Higher value → smoother, fewer signals
Lower value → more reactive
👉 Recommended: 8–15
🔸 Internal Structure Length
Controls micro structure detection.
Lower value → faster signals
Higher value → more filtering
👉 Recommended: 2–5
🔸 Confirm Break By Candle Close
ON → Break only confirmed after candle closes (more reliable)
OFF → Break detected instantly (faster, more aggressive)
👉 Recommended: ON
🔸 Candle Color Based On
Defines which structure controls candle coloring:
Swing → slower, trend-based coloring
Internal → faster, execution-based coloring
👉 Recommended:
Swing → for bias
Internal → for entries
🔸 Change Candle Color On
Defines when the trend/color shifts:
CHOCH
Faster reaction
More signals
Higher risk
First BOS After CHOCH
More confirmation
Fewer signals
Higher probability
👉 Recommended: First BOS After CHOCH
🔸 Color Candles
ON → candles follow structural direction
OFF → structure only (lines + labels)
🔸 Colors
Customize:
Swing bullish/bearish
Internal bullish/bearish
Candle colors
🔸 Show BOS/CHOCH Text
Displays text labels directly on structure lines:
No background
Centered on the line
Clean visual style
📈 HOW TO USE (PROFESSIONAL APPROACH)
🔹 1. Define Direction (Swing Structure)
Use Swing CHOCH + BOS to identify overall bias
Only trade in the direction of Swing trend
🔹 2. Execute with Internal Structure
Wait for Internal CHOCH
Then confirm with Internal BOS
👉 This is your entry trigger
🔹 3. Best Setup (High Probability)
✔ Swing trend bullish
✔ Internal CHOCH (pullback ends)
✔ First BOS confirms continuation
👉 That’s your trade
⚠️ COMMON MISTAKES
❌ Trading CHOCH alone
❌ Ignoring higher timeframe structure
❌ Entering after extended moves
❌ Using Internal signals against Swing trend
🔥 SIMPLE RULE SET
CHOCH = potential shift
BOS = confirmation
Swing = direction
Internal = execution
🎯 FINAL THOUGHT
This indicator is not just for signals —
it’s a market structure framework.
If used correctly, it helps you:
Avoid late entries
Trade with structure, not emotion
Align with institutional flow Indicator

AI UltraTrend X Pro V1The AI UltraTrend X Pro V1 is a high-performance, signal-based indicator engineered to identify explosive trend reversals while aggressively filtering out sideways market noise. Built specifically to handle high-volatility environments like BankNifty, this tool excels at capturing large point moves by combining institutional flow tracking with advanced price-action breakouts.
Key Features
Multi-Segment Mastery: While optimized for the fast-paced nature of BankNifty, the logic is universally applicable across Equity, Forex, Commodities, and Crypto.
Optimized for 3m+ Timeframes: Designed for the 3-minute duration and above, providing a perfect balance between early entries and noise reduction.
Hybrid Execution Logic: Unlike standard indicators that rely solely on crossovers, this script uses a dual-trigger system—line crosses and volatility-backed breakouts—ensuring you never miss a gap-up or a sudden trend explosion.
Intraday & Swing Flexibility: Seamlessly transitions between aggressive Intraday scalping and Positional trend following. The indicator maintains its state, allowing users to carry trades or square off at the end of the session based on their own risk profile.
Advanced Anti-Chop Shield: Features a built-in Volume & Volatility filter that identifies "dead zones" (gray signal areas) to prevent the "multiple entries/exits" common in flat markets.
Dynamic Trailing Stop-Loss: Plots a real-time, ATR-based trailing exit (Yellow Line) that locks in profits while giving the trend enough "breathing room" to survive minor pullbacks.
How to Use
Enter CE: Triggered when the signal turns Green and price breaks recent resistance.
Enter PE: Triggered when the signal turns Red and price breaks recent support.
Stay with the Trend: The background remains color-coded (Green/Red) as long as the trend is healthy.
Exit: Close your position when the signal label flips.
Best Settings
Timeframe: 3m, 5m, or 15m.
Chart: Works best on standard Candlesticks or Heikin Ashi for smoother trend following. Indicator

Phantom Structure Engine [JOAT]Phantom Structure Engine
Overview
Phantom Structure Engine is a comprehensive Smart Money Concepts (SMC) framework built entirely in Pine Script v6 using typed User-Defined Types and methods. It maps institutional price structure across five dimensions simultaneously: swing Break of Structure (BOS), Change of Character (CHoCH), Order Blocks (OB), Fair Value Gaps (FVG), Equal Highs/Lows (EQH/EQL), Liquidity Sweeps, and dynamic Premium/Discount/Equilibrium zones — all rendered with an institutional-grade dark visual palette and managed via object arrays.
Why a Unified SMC Framework?
SMC concepts are deeply interconnected. A BOS creates the context for a valid Order Block. A CHoCH signals a structural regime shift that invalidates existing OBs. A liquidity sweep above an EQH often precedes a reversal into a Discount zone. Displaying these concepts in isolation (as separate indicators) breaks the logical chain between them. Phantom Structure Engine fuses all layers into a single coherent visual, so each element is always read in its correct structural context.
Core Engine — Swing Structure
Two separate pivot engines run concurrently:
- Swing pivots (configurable left/right bars, default 10/10): define the major structure highs and lows used for BOS and CHoCH detection
- Internal pivots (default 3/3): track minor structure shifts for shorter-term intrabar analysis
BOS Detection with Confirmation Counter
Rather than firing on the first close beyond a swing level, the engine counts consecutive closes above the last swing high (or below the last swing low). A BOS only registers when the close count reaches or exceeds the configurable confirmation threshold (default 1, max 5). This suppresses false breaks caused by wicks and momentary spikes while remaining responsive.
- BOS (Break of Structure): Close beyond swing level, structure direction confirmed. Displayed as a horizontal line from the pivot bar to the break bar, with a BOS label.
- CHoCH (Change of Character): BOS that occurs against the prevailing structural direction (e.g., a bullish break when the prior confirmed direction was bearish). Displayed in gold with a dashed line and CHoCH label.
Order Block Detection
When a BOS or CHoCH fires, the engine scans backward (configurable lookback, default 10 bars) for the last opposing candle — a bearish candle before a bullish BOS, or a bullish candle before a bearish BOS. This candle becomes the Order Block zone.
Each OB is drawn with a two-layer box: a wide semi-transparent outer box and a tighter inner highlight. The OB extends forward on every bar and automatically invalidates (turns grey) when price closes through the opposite boundary — the exact behaviour seen when an OB has been mitigated by institutional flow.
Fair Value Gap Detection
A bullish FVG is identified when bar .low > bar .high (a gap in price between the current bar's low and two bars ago's high), indicating that price moved so fast upward that no trading occurred in that range. Bearish FVG is the mirror. FVGs are drawn as dotted-border boxes that extend forward and auto-fill (turn grey) when price returns to close the gap.
Equal Highs / Equal Lows (EQH / EQL)
At each new swing pivot, the engine compares the current pivot value against the previous pivot of the same type. If the absolute percentage difference is less than 0.15%, they are classified as equal and an EQH or EQL label is stamped at the midpoint. These levels represent liquidity pools resting above or below price — targets for institutional sweeps.
Liquidity Sweeps
A sweep is detected when price wicks beyond the last confirmed swing high or low but closes back on the opposite side. This is the classic liquidity grab: price hunts stops above a high (or below a low), then reverses. Sweep labels fire at the wick extreme in gold — one of the highest-probability reversal signals in institutional analysis.
Premium / Discount / Equilibrium Zones
After each confirmed BOS, the engine identifies the full range between the last confirmed swing high and swing low. This range is divided into three zones:
- Premium (top 38.2%): Statistically expensive — short bias in a bearish structure
- Equilibrium (38.2%–61.8%): Fair value — reduce exposure
- Discount (bottom 38.2%): Statistically cheap — long bias in a bullish structure
Previous zones are deleted and redrawn on each new BOS, keeping the chart clean.
Periodic Levels (PDH / PDL / PWH / PWL)
Previous Day High/Low and Previous Week High/Low are fetched via request.security() with lookahead disabled (barmerge.lookahead_off), preventing any future-bar contamination. These levels render as step-line plots and represent the primary reference levels used by institutional order desks at open.
Institutional Funding Candles
Bars where the true range exceeds 1.5× ATR(14) AND volume exceeds 2× the 20-bar volume SMA are highlighted as funding candles. These represent institutional participation bars and are coloured based on the current structural direction: teal (bullish structure), red (bearish structure), gold (neutral).
Dashboard (Top Right)
A compact 2-column, 8-row table displays: current structural direction, active OB count, open FVG count, last confirmed swing high/low values, and current sweep status for both sides.
Inputs Reference
Structure Settings
- Swing Pivot Left/Right Bars (10/10) — major swing sensitivity
- Internal Pivot Left/Right (3/3) — minor structure sensitivity
- BOS Confirmation Closes (1–5) — consecutive closes needed to confirm BOS
- Show BOS Labels / CHoCH Labels / HH-HL-LH-LL labels
Order Blocks
- Show Order Blocks
- OB Lookback Candles (10) — how far back to scan for the OB candle
- Max Active OBs (6) — older OBs are deleted when limit is reached
Fair Value Gaps
- Show Fair Value Gaps
- Max Active FVGs (5)
Premium / Discount
- Show PD Zones / EQH-EQL / Liquidity Sweeps
Periodic Levels
- Show Prev Day H/L / Prev Week H/L
Visual
- Theme: Dark, Light, Auto
- Show Funding Candles
How to Use
1. Apply on any liquid instrument. Allow the warmup period (driven by pivot lookback) before trusting the signals.
2. Read structure direction from the dashboard. BOS labels in teal confirm a bullish shift; CHoCH in gold signals a potential trend reversal.
3. Look for price to pull back into a valid (not invalidated) OB or into the Discount zone before considering long entries. Reverse for shorts.
4. FVG zones often act as magnets — price tends to revisit them before continuing in the BOS direction.
5. Treat Liquidity Sweep labels as potential reversal alerts, particularly when they align with OBs or Discount/Premium zones.
Non-Repainting Design
All BOS, CHoCH, sweep, and FVG signals are gated by barstate.isconfirmed. Periodic levels use close with lookahead_off. No pivot value is read until the required right-bar confirmation period has elapsed. Historical labels never shift position.
Limitations
- SMC is a discretionary framework. This indicator automates detection but cannot replace contextual judgment on higher-timeframe bias.
- In extremely fast-moving markets, FVGs may form and fill within the same session, reducing their relevance as future targets.
- EQH/EQL detection uses a 0.15% price equality threshold — this may need adjustment for very low-priced or highly volatile instruments.
- OBs are detected from the most recent opposing candle before a BOS. On some instruments, the true institutional OB may be further back.
Disclaimer
This indicator is provided for educational and informational purposes only. SMC concepts describe price behaviour patterns and do not guarantee any future market outcome. Always conduct your own analysis and use proper risk management.
Made with passion by officialjackofalltrades
Indicator

SMC Toolkit - CHoCH, BoS, FVG, P/D [AvantCoin]SMC Toolkit - CHoCH, BoS, FVG, P/D
A focused market structure indicator covering the four foundational SMC concepts in a single, configurable tool.
What it shows
CHoCH (Change of Character): marks the first break that reverses the prevailing trend.
BoS (Break of Structure): marks continuation breaks in the direction of the current trend.
FVG (Fair Value Gaps): highlights 3-candle imbalance zones, with automatic tracking of mitigation, time expiry, and structural invalidation.
Premium / Discount: plots the equilibrium of the current swing range, with optional zone shading to identify where price sits relative to the range.
**Settings**
Independent visibility toggles for CHoCH, BoS, FVG, and Premium/Discount, show only what you need.
Swing lookback and break confirmation mode (close or wick) for structure detection.
FVG mitigation mode (first touch or full fill), max extension in bars, and option to hide inactive gaps.
Fully customizable colors, line styles, and opacity for every element.
Built-in alerts for bullish and bearish CHoCH and BoS events.
Design principles
Every rule the indicator uses is documented in the script header. Pivots do not repaint, swings are consumed once broken, and signals are drawn on the bar of confirmation, what you see live is what you see in backtest.
Designed for clarity on any timeframe and any market.
Indicator

Regime & Structure Engine [JOAT]Regime & Structure Engine
Introduction
Markets do not move randomly — they cycle through defined behavioral states: trending phases where momentum compounds in one direction, and ranging phases where price consolidates before the next impulse. Identifying which state the market is currently in, and detecting when structural breaks signal a transition, is fundamental to any disciplined trading approach. The Regime & Structure Engine is built around that single core principle: before anything else, know your regime.
This indicator unifies three distinct analytical layers into a single overlay system. The first layer is the Hull-EMA Hybrid (HEMA), a custom moving average that resolves the trade-off between smoothness and responsiveness by combining double-weighted EMA calculation with a square-root length final smoothing. The second layer is a three-state confirmed regime engine that uses the relative alignment of three HEMA periods to classify market condition as bull, bear, or neutral — with a mandatory two-bar confirmation to eliminate false transitions. The third layer is a market structure engine based on classical swing pivot logic, capable of identifying Break of Structure (BOS) and Change of Character (CHoCH) events that signal genuine momentum shifts.
All of this is augmented by a Z-score cumulative impulse detector that quantifies the statistical significance of directional momentum streaks, a trend cloud that visually represents regime state through gradient fills, proximity-based bar coloring that encodes distance from the HEMA mid-layer, a configurable alert system, and a compact six-row dashboard. Every signal in this indicator is anchored to confirmed bars only, eliminating any look-ahead repainting.
Core Concepts
1. Hull-EMA Hybrid (HEMA) Moving Average
The foundational calculation of this indicator is the HEMA — a three-step smoothing function that delivers both noise reduction and lag compensation. A standard EMA applies uniform smoothing that creates meaningful lag on higher periods. Hull Moving Averages address lag through weighted differencing but can produce jagged outputs. The HEMA bridges this by constructing the Hull-style weighted difference first, then applying a square-root-period EMA as the final smoother.
f_hema(src, len) =>
ta.ema(2 * ta.ema(src, len / 2) - ta.ema(src, len), math.round(math.sqrt(len)))
Three instances are calculated at lengths 20, 50, and 100, producing a fast, slow, and macro trend layer respectively. The fast layer reacts to short-term price action, the slow layer represents the primary trend, and the macro layer anchors the broader structural bias. When all three are aligned in sequence (fast above slow above macro, or inverse), the trend is considered directionally clean.
2. Three-State Confirmed Regime Engine
Regime classification is determined by the ordinal alignment of all three HEMA layers. A raw bull signal requires hema1 greater than hema2, which must in turn be greater than hema3. The inverse defines raw bear. Any other arrangement is classified as neutral. To prevent rapid regime flipping on borderline conditions, a two-bar confirmation requirement is enforced: the raw signal must hold for at least two consecutive bars before the confirmed regime variable updates.
rawBull = hema1 > hema2 and hema2 > hema3
rawBear = hema1 < hema2 and hema2 < hema3
var int confirmCount = 0
var int confirmedRegime = 0
if rawBull
confirmCount := confirmCount + 1
else if rawBear
confirmCount := confirmCount - 1
else
confirmCount := 0
confirmedRegime := confirmCount >= 2 ? 1 : confirmCount <= -2 ? -1 : 0
This confirmation mechanism is critical in volatile markets where HEMA layers can briefly reorder on a single candle only to revert immediately. The two-bar requirement sacrifices minimal reaction speed in exchange for a meaningful reduction in false regime transitions.
3. Z-Score Cumulative Impulse Detection
Regime direction tells you the structural bias. The Z-score impulse system tells you when that bias is being expressed with statistical force. Rather than measuring a single bar's momentum, this system accumulates consecutive directional closes into a running streak — a cumulative bull or bear pressure counter — then normalizes that streak against its own historical mean and standard deviation.
cumBull = close > close ? nz(cumBull ) + (close - close ) : 0
cumBear = close < close ? nz(cumBear ) + (close - close) : 0
zBull = (cumBull - ta.sma(cumBull, zLen)) / ta.stdev(cumBull, zLen)
zBear = (cumBear - ta.sma(cumBear, zLen)) / ta.stdev(cumBear, zLen)
impulseUp = ta.crossover(zBull, zThresh) and barstate.isconfirmed
impulseDn = ta.crossover(zBear, zThresh) and barstate.isconfirmed
An impulse fires when the Z-score exceeds the user-defined threshold (default: 2.0 sigma). This ensures that only statistically unusual momentum streaks generate signals, filtering out the ordinary ebb and flow of price during low-conviction moves.
4. BOS and CHoCH Market Structure
Market structure tracking is built on classical pivot high/low detection using Pine Script's built-in ta.pivothigh and ta.pivotlow functions. A Break of Structure (BOS) occurs when price closes or wicks beyond the most recent swing high (bullish BOS) or swing low (bearish BOS). A Change of Character (CHoCH) is a BOS that opposes the direction of the prior BOS — indicating a potential regime reversal rather than continuation.
swingHigh = ta.pivothigh(high, swingLen, swingLen)
swingLow = ta.pivotlow(low, swingLen, swingLen)
lastSwingHigh = ta.valuewhen(not na(swingHigh), swingHigh, 0)
lastSwingLow = ta.valuewhen(not na(swingLow), swingLow, 0)
bosUp = barstate.isconfirmed and ta.crossover(close, lastSwingHigh)
bosDn = barstate.isconfirmed and ta.crossunder(close, lastSwingLow)
chochUp = bosUp and lastBOSDir == -1
chochDn = bosDn and lastBOSDir == 1
CHoCH events are particularly significant because they represent the market's first structural evidence of a trend change — not merely a continuation of prior momentum. Distinguishing BOS from CHoCH allows traders to calibrate their response: a BOS in trend direction is a continuation entry opportunity, while a CHoCH warrants reassessment of existing positions.
5. Trend Cloud and Proximity Bar Coloring
The trend cloud fills the space between the HEMA fast and slow layers. The fill color matches the confirmed regime — teal for bull, red for bear, gray for neutral — creating an immediate visual encoding of market state across the chart. Bar coloring is driven by a normalized proximity calculation using the 14-period ATR as a reference distance.
normProx = math.abs(close - hema2) / (atr14 * 3)
barAlpha = math.min(math.round(normProx * 200), 200)
Bars that are far from the HEMA slow layer receive more saturated coloring, while bars trading near the HEMA mid-line are rendered at reduced opacity. This creates an intuitive gradient where extreme dislocations are visually prominent.
Features
HEMA Triple Layer: Three independent Hull-EMA Hybrid instances at periods 20, 50, and 100 provide fast, primary, and macro trend context simultaneously.
Confirmed Regime State: Two-bar confirmation gate prevents false regime transitions on temporary HEMA crossovers, reducing noise on volatile instruments.
BOS Detection: Swing-based Break of Structure signals on both bullish and bearish side, drawn at confirmed bars only with no look-ahead.
CHoCH Detection: Change of Character identification when BOS direction opposes the prior structural break, highlighting potential trend reversal zones.
Z-Score Impulse: Statistically normalized cumulative momentum streaks that fire signals only when directional pressure reaches a configurable sigma threshold.
Gradient Trend Cloud: Dynamic fill between HEMA layers color-coded by regime for instant visual orientation on any timeframe.
Proximity Bar Coloring: ATR-normalized distance from HEMA mid controls bar color alpha, making dislocations visually distinct.
Six-Row Dashboard: Compact table displaying regime, last BOS direction, bull Z-score, bear Z-score, and HEMA layer alignment.
No Repainting: All signals gated behind barstate.isconfirmed — no signals are printed on unfinished bars.
Full Alert Coverage: Seven alert conditions covering BOS, CHoCH, impulse, and regime flip events.
Input Parameters
HEMA Settings:
Fast Length: Period for the HEMA fast layer (default: 20)
Slow Length: Period for the HEMA slow layer (default: 50)
Macro Length: Period for the HEMA macro layer (default: 100)
Source: Price source for all HEMA calculations (default: close)
Regime Settings:
Confirmation Bars: Number of consecutive bars required to confirm a regime change (default: 2)
Structure Settings:
Swing Length: Pivot lookback for swing high/low detection (default: 10)
Show BOS Labels: Toggle BOS annotation labels on the chart (default: true)
Show CHoCH Labels: Toggle CHoCH annotation labels on the chart (default: true)
Z-Score Settings:
Z Lookback: Rolling window for Z-score mean and standard deviation (default: 50)
Z Threshold: Sigma level required to fire an impulse signal (default: 2.0)
Display Settings:
Show Trend Cloud: Toggle the gradient fill between HEMA layers (default: true)
Show Bar Colors: Toggle proximity-based bar coloring (default: true)
Show Dashboard: Toggle the six-row information table (default: true)
How to Use This Indicator
Step 1: Establish Regime Context
Before analyzing any signal, check the dashboard and the trend cloud to identify the confirmed regime. A bull regime (all three HEMA layers in ascending order with a teal cloud) means the structural bias favors long positions. A bear regime (descending alignment with a red cloud) favors shorts. A neutral regime suggests consolidation — reduce position sizing or stand aside. The regime confirmation requirement means the dashboard will update one to two bars after alignment begins, giving you a cleaner entry rather than reacting to the first crossover.
Step 2: Wait for Structure to Break
Within the context of the confirmed regime, watch for BOS events in the trend direction. A bullish BOS during a bull regime is a continuation structure signal — it means price has broken above a prior swing high, suggesting the up-trend is extending. A bearish BOS during a bull regime, especially if classified as a CHoCH, is your first warning that the structure may be shifting. Use the BOS labels on the chart to track the sequence of structural breaks over time.
Step 3: Confirm with Z-Score Impulse
A BOS or CHoCH becomes significantly more actionable when accompanied by a Z-score impulse signal in the same direction. When the cumulative bull streak normalized to 2+ sigma fires at the same time as or immediately following a bullish BOS, the move is backed by sustained directional momentum — not a single large candle. When regime, structure, and impulse all align, the signal quality is at its highest.
Step 4: Manage Position with HEMA Proximity
Once in a position, the proximity bar coloring helps manage exits. Bars that are far from HEMA mid (highly saturated) represent extended conditions — areas where mean reversion risk is elevated. Bars near HEMA mid are in equilibrium. Exits on strength (closing during a high-saturation bullish bar after a BOS continuation trade) allow for locking in gains at points of extension rather than waiting for a reversal to develop.
Indicator Limitations
The two-bar regime confirmation introduces a brief delay relative to the actual HEMA crossover. On fast-moving instruments, this can mean a slightly later entry but provides meaningful protection against false transitions.
BOS detection is based on prior swing highs and lows defined by the swing length parameter. On very low swing length settings, minor highs and lows will be used as structure levels, potentially generating frequent BOS events of less structural significance.
Z-score impulse requires a sufficient lookback to establish a stable mean and standard deviation for the cumulative streak. In the first Z-lookback bars of any chart, signals may be less statistically reliable as the normalization period is not fully seeded.
The HEMA and all derivative signals are calculated on the chart's native timeframe. This indicator does not internally pull higher timeframe data — users who want multi-timeframe regime context should reference signals from higher timeframe chart instances.
Like all trend-following tools, this indicator will produce whipsaw signals in choppy, range-bound markets where neither bulls nor bears sustain momentum long enough to trigger clean regime confirmation.
Proximity bar coloring uses ATR as a normalizer. During volatility regime shifts (e.g., sudden spike in ATR), the alpha thresholds may temporarily misrepresent proximity distance.
Originality Statement
The Regime & Structure Engine is not a repackaging of any single existing indicator. It is a purpose-built synthesis of methodologies that individually exist in various forms but have not been combined in this specific architecture.
The HEMA function (Hull-inspired double-weighted EMA followed by square-root-period smoothing) is a custom construction that differs from both standard HMA and standard EMA in its layering approach and final smoothing step.
The three-state confirmed regime engine with mandatory multi-bar confirmation is an original state machine design. Most indicators display regime as a simple crossover condition; this system enforces a holding period before state transition.
The Z-score cumulative impulse system measures the statistical significance of a directional streak rather than the magnitude of a single bar move. This normalization approach — accumulating consecutive closes and comparing against rolling sma/stdev — is not a standard oscillator pattern.
The combination of HEMA-based regime with classical BOS/CHoCH structural analysis on top of Z-score momentum creates a three-dimensional signal framework that no single publicly available indicator replicates.
The proximity bar coloring system using ATR-normalized distance to the HEMA mid layer as the alpha channel driver is an original visual encoding not found in standard bar coloring implementations.
Disclaimer
The Regime & Structure Engine is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. Past behavior of price relative to indicator signals does not guarantee future results. All trading involves risk, including the potential loss of principal. Users are solely responsible for their own trading decisions. Always conduct your own due diligence and consider consulting a licensed financial professional before making any investment decisions.
-Made with passion by officialjackofalltrades
Indicator

Structural Flow Decoder [JOAT]Structural Flow Decoder
Introduction
The Structural Flow Decoder is an advanced open-source market structure analysis indicator that combines Break of Structure (BOS) detection, Change of Character (CHoCH) identification, nested pattern recognition, and multi-timeframe confluence into a unified structural analysis system. This indicator helps traders identify trend direction, structural shifts, and momentum changes by analyzing how price breaks through swing highs and lows across multiple timeframes.
Unlike basic trend indicators that use moving averages, this system analyzes actual market structure - the sequence of higher highs, higher lows, lower highs, and lower lows that define trends. Break of Structure signals trend continuation, Change of Character signals potential reversals, nested patterns reveal internal structure, and multi-timeframe alignment confirms institutional conviction. The indicator is designed for traders who understand that market structure precedes price and that structural breaks reveal directional intent.
Why This Indicator Exists
This indicator addresses a critical need in technical analysis: the ability to identify trend changes before they're obvious. Market structure analysis reveals when institutions are shifting positioning. By combining multiple structural methodologies, this indicator reveals:
Break of Structure (BOS): Price breaks swing high/low in trend direction - confirms continuation and momentum
Change of Character (CHoCH): Price breaks swing high/low against trend - signals potential reversal or consolidation
Nested Structure: Internal patterns within larger structure - reveals micro-trends and entry timing
Multi-Timeframe Confluence: Higher timeframe structure alignment - confirms institutional participation
Momentum Shifts: RSI and MACD crossovers at structure breaks - adds confirmation layer
Trend Strength Analysis: Quantifies structural conviction - distinguishes strong from weak trends
Each component provides a different lens on market structure. BOS shows continuation, CHoCH shows reversals, nested structure shows timing, MTF alignment shows conviction, and momentum shows acceleration. Together, they create a comprehensive view of structural flow.
Core Components Explained
1. Break of Structure (BOS) Detection
Break of Structure occurs when price breaks a swing high in an uptrend or swing low in a downtrend. It confirms trend continuation:
// Bullish BOS: Price breaks above previous swing high
if pivotHigh > lastSwingHigh and bullishStructure:
line.new(lastSwingHighBar, lastSwingHigh, bar_index, pivotHigh,
color=COLOR_BULL_STRUCTURE, width=3, style=line.style_solid)
label.new(bar_index, pivotHigh, "BOS ↑")
The indicator identifies BOS using swing detection:
Detects swing highs and lows using pivot lookback (default 5 periods)
Compares current swing to previous swing in same direction
Draws solid lines connecting swings when BOS occurs
Labels breaks with "BOS ↑" or "BOS ↓" for clarity
BOS signals that the trend is intact and institutions are pushing price in the established direction. Multiple consecutive BOS indicate strong trending conditions.
2. Change of Character (CHoCH) Detection
Change of Character occurs when price breaks a swing high in a downtrend or swing low in an uptrend. It signals potential trend reversal:
// Bullish CHoCH: Price breaks above swing high while in downtrend
if pivotHigh > lastSwingHigh and not bullishStructure:
line.new(lastSwingHighBar, lastSwingHigh, bar_index, pivotHigh,
color=COLOR_CHOCH_BULL, width=3, style=line.style_dashed)
label.new(bar_index, pivotHigh, "CHoCH ↑")
bullishStructure := true
CHoCH is more significant than BOS because it represents structural shift:
Breaks counter-trend swing points
Signals potential trend reversal or major consolidation
Drawn with dashed lines to distinguish from BOS
Flips internal trend state when detected
CHoCH doesn't guarantee reversal, but it warns that the previous trend is weakening. Confirmation from other factors (volume, momentum, higher timeframe) increases reliability.
3. Nested Structure Analysis
Nested structure reveals internal patterns within the larger trend. It uses shorter lookback periods to detect micro-structure:
The indicator tracks internal swings using a separate period (default 3 bars vs 5 for main structure). This reveals:
Internal BOS within larger trends - shows momentum acceleration
Internal CHoCH before main CHoCH - early warning of reversals
Pullback structure in trends - identifies entry opportunities
Consolidation patterns - shows when to wait
Nested structure is drawn with thinner dashed lines to distinguish from main structure. It provides entry timing within the larger trend context.
4. Multi-Timeframe Confluence
The indicator requests structure data from a higher timeframe (default 60-minute) and compares it to current timeframe:
= request.security(syminfo.tickerid, "60",
)
Multi-timeframe analysis reveals:
Whether current timeframe structure aligns with higher timeframe
Institutional conviction (HTF structure = larger positions)
Confluence zones where both timeframes show same direction
Divergence warnings when timeframes conflict
The dashboard displays HTF alignment status (Bullish/Bearish) and confluence state (Synced/Divergent). Trading in direction of HTF structure with current timeframe confirmation produces highest win rates.
5. Momentum Shift Detection
The indicator integrates RSI and MACD to detect momentum shifts at structural breaks:
rsi = ta.rsi(close, 14)
= ta.macd(close, 12, 26, 9)
momentum_bull = ta.crossover(rsi, 50) and macdHist > 0
momentum_bear = ta.crossunder(rsi, 50) and macdHist < 0
Momentum shifts are marked with "M+" (bullish) or "M-" (bearish) labels. When momentum shifts align with structural breaks, it confirms the move. Momentum divergence from structure warns of potential failures.
6. Trend Strength Classification
The indicator quantifies trend strength based on consecutive structural breaks:
Explosive: 3+ consecutive BOS in same direction
Active: 1-2 consecutive BOS
Weak: No recent BOS or mixed signals
Strength classification appears in the dashboard and influences background gradient intensity. Strong trends show vibrant colors, weak trends show muted colors.
Visual Elements
BOS Lines: Solid thick lines (cyan for bullish, magenta for bearish)
CHoCH Lines: Dashed thick lines (cyan for bullish, magenta for bearish)
Internal Structure: Thin dashed lines showing nested patterns
Swing Point Labels: "H" and "L" markers at pivot highs/lows
Momentum Labels: "M+" and "M-" at momentum shifts
Gradient Background: Color intensity based on trend strength
Gradient Candles: Strong moves in bright colors, weak moves in muted colors
Dashboard: Real-time structure state and confluence metrics
The dashboard displays 8 key metrics:
1. Structure Flow (Bullish/Bearish)
2. Flow Strength (Explosive/Active/Weak)
3. HTF Alignment (Bullish/Bearish/Off)
4. Confluence (Synced/Divergent)
5. Momentum (Strong/Neutral/Weak)
6. MACD Signal (Bullish/Bearish)
7. Last Pivot price level
Input Parameters
Structure Analysis:
Detection Period: Swing lookback for main structure (default: 5)
Break of Structure: Enable/disable BOS detection
Change of Character: Enable/disable CHoCH detection
Nested Patterns: Enable/disable internal structure
Nested Period: Swing lookback for internal structure (default: 3)
Momentum Shifts: Enable/disable RSI/MACD labels
Higher Timeframe:
Multi-Timeframe Sync: Enable/disable HTF analysis
HTF Period: Higher timeframe to analyze (default: 60 minutes)
Confluence Filter: Require HTF alignment for signals
Visualization:
Directional Zones: Show gradient backgrounds
Pivot Markers: Show H/L labels at swings
Strength Histogram: Show trend strength bars
How to Use This Indicator
Step 1: Identify Current Structure
Check the dashboard for Structure Flow. Bullish structure = look for longs, Bearish structure = look for shorts. This is your directional bias.
Step 2: Wait for Structural Confirmation
In bullish structure, wait for BOS (break above swing high) to confirm continuation. In bearish structure, wait for BOS (break below swing low). Don't trade against structure.
Step 3: Watch for Change of Character
CHoCH signals potential reversal. When CHoCH occurs, structure flips. Wait for confirmation BOS in new direction before entering. Don't trade immediately on CHoCH.
Step 4: Use Nested Structure for Timing
Internal structure shows pullback completion. Enter when internal BOS occurs in direction of main structure. This provides precise entry timing.
Step 5: Confirm with Higher Timeframe
Check HTF Alignment in dashboard. "Synced" = both timeframes agree (best setups). "Divergent" = conflict (avoid or reduce size).
Step 6: Add Momentum Confirmation
Look for M+ labels in bullish structure or M- labels in bearish structure. Momentum + Structure = highest probability setups.
Best Practices
Trade in direction of structure - don't fight it
BOS confirms trend, CHoCH warns of change - respect both
Multiple BOS in same direction = strong trend, ride it
CHoCH requires confirmation - don't reverse immediately
Nested structure provides entries within larger trend
HTF alignment is critical - always check confluence
Momentum divergence from structure = warning sign
Explosive strength = trending conditions, use breakout strategies
Weak strength = ranging conditions, use mean reversion
Structure works on all timeframes - scale appropriately
Indicator Limitations
Structure analysis works best on trending markets with clear swings
Choppy, sideways markets produce frequent false CHoCH signals
Swing detection requires sufficient volatility - low volatility reduces reliability
CHoCH doesn't guarantee reversal - it signals potential change
Multiple CHoCH in short period indicates consolidation, not trend
HTF data may repaint on lower timeframes - use confirmed bars
Nested structure can be noisy in ranging markets
The indicator shows structure state, not future direction
Momentum shifts can occur without structural confirmation
Technical Implementation
Built with Pine Script v6 using:
Pivot-based swing detection with configurable lookback
State machine tracking for bullish/bearish structure
Nested structure analysis with separate period
Multi-timeframe security requests with proper gap handling
RSI and MACD momentum calculations
Trend strength quantification system
Dynamic gradient backgrounds based on strength
Real-time dashboard with 8 structural metrics
The code is fully open-source and can be modified to suit individual trading styles and preferences.
Originality Statement
This indicator is original in its comprehensive structural integration approach. While individual components (BOS, CHoCH, swing detection) are established concepts, this indicator is justified because:
It synthesizes BOS and CHoCH detection with nested pattern analysis in a unified system
The multi-timeframe confluence detection provides institutional conviction measurement
Momentum shift integration (RSI + MACD) adds confirmation layer to structural breaks
Trend strength quantification distinguishes explosive from weak structural flows
Nested structure analysis reveals micro-patterns within macro-trends for entry timing
The gradient visualization system shows structural conviction through color intensity
Real-time dashboard presents 8 metrics simultaneously for holistic structural analysis
Each component contributes unique information: BOS shows continuation, CHoCH shows reversals, nested structure shows timing, HTF shows conviction, momentum shows acceleration, and strength shows quality. The indicator's value lies in presenting these complementary perspectives simultaneously with unified classification and visual hierarchy.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Market structure analysis is a tool for understanding price behavior, not a crystal ball for predicting future movement. BOS does not guarantee continuation. CHoCH does not guarantee reversal. Past structural patterns do not guarantee future structural patterns. Market conditions change, and strategies that worked historically may not work in the future.
The structural states displayed are analytical constructs based on current market data, not predictions of future price movement. Structure alignment does not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Indicator

Dynamic Market Structure DetectorTitle: Dynamic Market Structure Detector – Real-Time BoS & ChoCH Signals
Short Description:
Identify market structure dynamically with real-time Break of Structure (BoS) and Change of Character (ChoCH) signals. Highlight untested support and resistance zones to improve trading precision.
Full Description:
The Dynamic Market Structure Detector is a powerful PulseWire indicator designed for traders who want to automate the identification of key market structure levels. This indicator simplifies market analysis by dynamically tracking swing highs and lows, marking critical Break of Structure (BoS) and Change of Character (ChoCH) points, and highlighting untested support and resistance zones.
Key Features:
1. Real-Time Signals:
• Marks Break of Structure (BoS) and Change of Character (ChoCH) points as they occur.
• Automatically updates as the market evolves.
2. Dynamic Swing Highs and Lows:
• Tracks swing highs and lows based on user-defined sensitivity (Swing Length).
• Adjust swing length to tailor signals for intraday or swing trading.
3. Untested Zones Highlight:
• Visualize untested support and resistance zones dynamically.
• Opacity settings allow customization for better chart readability.
4. Customizable Inputs:
• Swing Length:
Adjust the sensitivity of BoS and ChoCH signals.
• Smaller Swing Length values (e.g., 3–5): Capture short-term market movements, ideal for intraday trading.
• Larger Swing Length values (e.g., 10–20): Focus on significant market structure changes for swing or positional trading.
Experiment with these values to find the best fit for your trading style.
• Untested Zone Opacity:
Control the visibility of highlighted support and resistance zones.
• Lower opacity values (e.g., 10–50): Make the zones more prominent, helpful for darker chart backgrounds.
• Higher opacity values (e.g., 70–90): Provide subtle highlights, better suited for lighter chart setups.
• A value of 100% renders the zones completely transparent (invisible).
Use this setting to customize the visual appearance of your chart while still retaining key zone information.
5. User-Friendly Visualization:
• Color-coded labels for BoS (Green) and ChoCH (Red).
• Highlight zones for untested areas using customizable colors (Support: Blue, Resistance: Orange).
Why Use This Indicator?
• Simplifies market structure analysis by automating key calculations.
• Helps traders identify potential trend reversals and continuation points.
• Reduces the need for manual charting, saving time and effort.
• Provides visual clarity on untested zones for better decision-making.
Recommended Usage:
• Intraday Traders: Use smaller Swing Length values (e.g., 3–5) to capture short-term market movements.
• Swing Traders: Opt for higher Swing Length values (e.g., 10–20) to focus on larger market structure changes.
• Monitor untested zones for potential price reactions, enhancing your trade entries and exits.
Notes :
This indicator is best suited for traders who prefer price action trading and market structure analysis. While the indicator provides reliable insights, it is recommended to use it in conjunction with other analysis tools for a holistic trading approach.
Credits:
Developed by TradeTech Analysis to empower traders with automated tools for smarter trading decisions.
Indicator
