Support & Resistance Zones [HexaTrades]
This indicator automatically finds the price levels where the market has turned around before the places where buyers stepped in (support) and where sellers took over (resistance) and draws them as clean rectangular zones on your chart.
Instead of a thin line, each level is drawn as a zone with real thickness, because support and resistance are never one exact price; they are areas where price reacts. The zones update live, extend forward as long as they are valid, and turn into light "ghost" boxes once price finally breaks through them, so you always keep the full picture of the market's history.
Bitcoin 4h: the indicator marking support and resistance zones
How it works
- Finds swing points. A swing high is a candle whose high is higher than the 10 candles on each side of it (the "Swing Length" setting). A swing low is the same idea upside down. These are the exact spots where the market turned.
- Builds a zone from the candle. The zone covers the candle's wick from the extreme tip to the candle body. That wick is where orders actually pushed price back, so it becomes the zone.
- Keeps zone size sensible. Very small wicks get padded to a minimum height, and no zone can grow taller than a maximum height (both measured in ATR, so they adapt automatically to each market's volatility).
- Merges duplicate levels. If a new swing forms at a level that already has a zone, the two are combined into one box instead of stacking clutter on your chart.
- Watches for breaks. When a candle closes beyond a zone, the zone is "broken." what happens next is up to you (see below).
What happens after a zone breaks?
The indicator provides three different zone-management options.
Keep As Past Zone: The broken zone stops extending and remains visible as a faded historical zone. This makes it easier to review how price behaved around previous levels.
Flip Support/Resistance: A broken resistance zone becomes support, while a broken support zone becomes resistance.
This is useful for studying the common market concept of role reversal, where old resistance may act as new support and old support may act as new resistance.
Delete Zone: The zone is completely removed after it breaks. This option is useful for traders who prefer a cleaner chart showing only active zones.
Optional volume filter:
Volume-Confirmed Zones Only can be enabled to filter out lower-volume swing points.
When enabled, the volume of the swing candle must be higher than: Average Volume × Volume Multiplier
For example, with a Volume Multiplier of 1.2, the swing candle’s volume must be greater than 120% of its average volume.
The volume filter is automatically ignored when volume data is unavailable. Volume quality can vary between markets, exchanges and brokers.
Indicator settings
- Swing Length: Controls how significant a swing must be. Lower values create more zones, while higher values create fewer but potentially more significant zones.
- Maximum Zones: Limits the number of active zones displayed. When the limit is exceeded, the oldest active zone is removed.
- ATR Length: Sets the calculation period used to measure volatility.
- Minimum Zone Height: Sets the minimum zone thickness as a multiple of ATR.
- Maximum Zone Height: Prevents zones from becoming excessively wide.
- Merge Overlapping Zones: Combines overlapping or nearby active zones.
- Merge Distance: Controls the ATR-based distance used when deciding whether zones should be merged.
- Maximum Past Zones: Limits how many broken historical zones remain on the chart.
- Past Zone Transparency: Controls how clearly broken zones are displayed.
Alerts
- Built-in alerts
- Zone Touched — price entered a support or resistance zone.
- Resistance Broken — a candle broke above a resistance zone.
- Support Broken — a candle broke a support zone below.
- Set them up from PulseWire's alert dialog: Create Alert → Condition → S/R Zones.
How to use it in trading
🔶Bounce trades: when price falls into a support zone and prints a rejection candle, that's a long setup with a stop just below the zone.
A blue support zone represents an area where buyers previously entered the market.
When price returns to support:
- Wait for price to enter or test the zone.
- Look for evidence that buyers are responding.
- Consider an entry only after confirmation.
- Place the stop beyond the opposite side of the zone, with an appropriate buffer.
- Use the next resistance zone as a possible target.
Possible bullish confirmation includes:
- A candle rejecting the lower part of the zone.
- A long lower wick followed by a bullish close.
- A bullish engulfing candle.
- Price closing back above the support zone.
- Increasing volume during the reaction.
- A higher low forming near the zone.
A support touch by itself is not a long signal. Price can move directly through the zone, especially during a strong downtrend.
Example image below:
🔶Rejection from resistance
A pink resistance zone represents an area where sellers previously entered the market.
When price reaches resistance:
- Wait for price to test the zone.
- Look for signs of selling pressure.
- Consider an entry only after bearish confirmation.
- Place the stop beyond the upper edge of the zone, with a suitable buffer.
- Use the next support zone below as a possible target.
Possible bearish confirmation includes:
- A long upper wick inside the resistance zone.
- A bearish engulfing candle.
- Price entering the zone and closing back below it.
- A lower high forming near resistance.
- Increasing selling volume during the rejection.
A resistance touch alone is not a short signal. Strong bullish momentum can break through resistance without producing a meaningful reversal.
Example image:
🔶Trading a breakout
A breakout occurs when price moves beyond an active zone.
- A break above resistance may indicate increasing bullish strength.
- A break below support may indicate increasing bearish strength.
For more conservative confirmation, select Close under Break Confirmation. In this mode, a resistance zone breaks only after a candle closes above it, while a support zone breaks only after a candle closes below it.
The Wick option reacts as soon as price trades beyond the zone. It responds faster but is more sensitive to temporary spikes and false breakouts.
Before considering a breakout trade, traders may look for:
- A strong candle closing beyond the zone.
- A candle body that closes clearly outside the zone.
- Higher-than-average volume.
- Momentum in the breakout direction.
- Alignment with the broader market trend.
- A successful retest of the broken zone.
🔶Trading a role reversal
Support and resistance can sometimes exchange roles after a breakout.
-Broken resistance may later act as support.
- Broken support may later act as resistance.
Select Flip Support/Resistance under the When Broken setting to display this behaviour automatically.
For example, after price closes above a pink resistance zone, the indicator converts that area into a blue support zone. If price later returns to it, traders can watch for a bullish reaction.
Similarly, when price breaks below blue support, the indicator converts the zone into pink resistance. A later retest may provide an area to watch for bearish confirmation.
Role reversal is a commonly observed price-action concept, but it does not occur successfully after every breakout. Wait for confirmation instead of entering only because price has returned to a flipped zone.
🔶Using zones for targets and stops
Zones can also help organise trade management.
For a long setup:
- A stop may be placed below the support zone.
- The next resistance zone may be used as an initial target.
- A higher resistance zone may be considered as a secondary target if momentum remains strong.
For a short setup:
- A stop may be placed above the resistance zone.
- The next support zone may be used as an initial target.
- A lower support zone may be considered as a secondary target.
Avoid placing the stop exactly on the edge of a zone. Price may briefly move beyond the boundary before reacting. The appropriate buffer depends on the symbol, timeframe, volatility and the trader’s risk plan.
Always calculate the potential risk and reward before entering a trade. A visible zone does not automatically make a setup worth taking.
🔶 Using multiple timeframes
Higher-timeframe zones can provide broader market context, while lower timeframes can help refine entries.
A simple process is:
- Identify important support and resistance on a higher timeframe.
- Determine whether the broader structure is bullish, bearish or ranging.
- Move to the preferred trading timeframe.
- Wait for price to reach a relevant zone.
- Use candle structure, volume or momentum for confirmation.
Higher timeframes generally produce fewer but more widely watched zones. Lower timeframes produce more zones and may contain more market noise.
Support and Resistance Zones help traders identify and manage important price areas with less chart clutter. Its volatility-based sizing, zone merging, break confirmation, role reversal, and alerts make it suitable for different markets and timeframes. Use the zones as areas to watch—not automatic trade signals and always combine them with price confirmation, broader market structure and proper risk management.
We would love to hear your suggestions. If you have ideas for new features, indicators, analytics, or improvements, please share your feedback. Your input helps guide future updates and improve the indicator for all traders.
Wedge pattern detector indicator is for educational and analytical purposes only. It is not financial advice. Trading involves risk. Always use proper risk management and combine this indicator with your own analysis before taking any trade.
Indicator

Indicator

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

Market Structure Trend [QuantAlgo]🟢 Overview
The Market Structure Trend tracks the dominant directional bias of price by detecting confirmed swing highs and lows and maintaining an active structure level that only flips on a genuine break of that level. Rather than reacting to every minor high or low, it waits for a pivot to lock in after a defined number of bars on either side, then holds the resulting structure until price closes beyond it by an optional confirmation buffer. The result is a clean, non-repainting structure line that stays aligned with the prevailing market structure while filtering out stop hunts and marginal pokes through key levels. This makes the prevailing bias readable at a glance across any instrument or timeframe.
🟢 How It Works
The indicator begins by identifying pivot highs and pivot lows using the selected left and right structure bars. These pivots become the swing points that define market structure:
pivot_high = ta.pivothigh(high, left_bars, right_bars)
pivot_low = ta.pivotlow(low, left_bars, right_bars)
When a new pivot is confirmed, the corresponding swing high or swing low is updated. The active structure range is calculated as the absolute distance between the current swing high and swing low, and a confirmation buffer is derived as a percentage of that range:
structure_range = math.abs(swing_high - swing_low)
confirm_buffer = structure_range * buffer_pct / 100.0
Break levels are then offset by this buffer so that a downside break sits below the swing low and an upside break sits above the swing high. On every confirmed bar the script checks whether the chosen source (or the high or low when Break On Wick is enabled) has crossed the relevant break level. A successful cross reverses structure direction and reassigns the structure level to the opposite swing. If no break occurs, the structure level simply continues to track the swing consistent with the current direction.
Structure direction is seeded on the first ready bar by comparing price to the midpoint of the swing range, establishing an initial bias. From that point forward flips are gated strictly by confirmed breaks, so the state never repaints or changes mid-bar.
The structure level is drawn as a continuous line with a soft glow underneath. When radial layering is enabled, four concentric fills are drawn between the structure level and the bar midpoint, with transparency increasing outward. This produces a stepped radial field that visually maps distance from the active structure boundary rather than a single flat zone.
🟢 Signal Interpretation
▶ Bullish Structure (Structure Line at Swing Low with Bullish Color): When structure direction is bullish the line sits at the most recent confirmed swing low. Price is considered to remain in an uptrend structure as long as it stays above the buffered downside break level. The bullish state holds until a confirmed downside break occurs, at which point the line moves to the swing high and the color transitions.
▶ Bearish Structure (Structure Line at Swing High with Bearish Color): When structure direction is bearish the line sits at the most recent confirmed swing high. Price remains in a downtrend structure until a confirmed upside break flips the state. The bearish state persists through subsequent bars until an upside break is registered.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover a range of trading styles and timeframes. Default uses the manual Left Structure Bars, Right Structure Bars, and Confirmation Buffer values and is balanced for swing trading on 1-hour and daily charts. Fast Response shortens the structure legs for scalping and intraday use on 1-minute to 1-hour charts, registering minor swings so the structure trend flips earlier. Smooth Trend lengthens the legs for position trading on daily and weekly charts, tracking only major swings and holding through pullbacks with the confirmation buffer.
▶ Built-in Alerts: Three alert conditions support automated monitoring of structure flips. Bullish Structure Shift fires on the first bar that structure direction changes from bearish to bullish. Bearish Structure Shift fires on the opposite transition. Any Structure Shift triggers on either flip for traders who prefer a single unified alert. All messages include the exchange, ticker, and timeframe for immediate context.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) supply coordinated bullish and bearish color pairings suited to different chart themes. Selecting Custom unlocks independent color pickers for full manual control. Optional bar coloring tints each candle with the active structure color at a configurable transparency, and optional background coloring extends the same tint across the full chart pane. Radial layering, structure shift markers, and the structure line itself all inherit the active color pair so the entire visual system remains consistent.
Indicator

Indicator

Zone Flow S/R StrategyZone Flow S/R Strategy
📌 Strategy Overview
Zone Flow is a multi‑timeframe support/resistance strategy that uses dynamic pivot‑derived zones to identify high‑probability reversal and breakout setups.
Unlike static support/resistance lines, this 9‑level zone system (R4–R1, P, S1–S4) automatically adapts to market structure changes at each new period (Daily/Weekly/Monthly). Each zone has a configurable width (Percentage, ATR, or Fixed) to account for volatility, and a breakout threshold to filter out minor wicks.
# Unique Synergy
Most pivot strategies treat levels as static lines, leading to false breakouts. Most engulfing strategies ignore the bigger picture, catching falling knives. This strategy solves both problems by combining these components in a specific sequence:
1- Dynamic Zones + Gap State Machine (The Context)
Instead of just drawing lines, we create zones (R1-R4, P, S1-S4) with adaptive width. More importantly, the Gap State Machine tracks which gap price sits in (e.g., between R1 and Pivot). This tells us exactly where we are in the market structure. If price moves from upper Gap to lower Gap, the strategy instantly switches sentiment from Bullish to Bearish.
- Why this matters: It prevents the strategy from trading blindly; it only trades when price is transitioning between structural levels, and price retrace to the zone drastically reducing false signals in the middle of nowhere.
2- Pin Bar Sweep + Engulfing Combo (The Momentum Trigger)
A standard pin bar alone is a weak reversal signal. A standard engulfing pattern alone is common. However, when a Pin Bar sweeps the N-bar high/low (proving a breakout attempt failed) and is immediately followed by an Engulfing pattern on the next candle, this combo represents a "double confirmation" of exhaustion.
Crucially, this specific combo overrides the EMA confirmation.
- Why this matters: Strong momentum sweeps often happen against the short-term EMA trend. By allowing this specific combo to bypass the EMA, the strategy captures powerful reversals that pure trend-following strategies miss.
3- Dynamic Zone Width (The Volatility Adaptation)
Instead of using fixed support/resistance, the zone width changes based on the selected Period's ATR or Percentage.
- Why this matters: This ensures the strategy scales perfectly across any asset (Gold, Crypto, Forex) without manual width adjustments, making it robust across different volatility regimes.
4- Selective Zone Activation (The Manual Override)
Unlike standard pivot systems that force trades on every level, the Zone Selection inputs allow users to disable specific zones (e.g., turn off R3 if price often fakes out there or turn off S4 market is always get exhausted lower probability trade).
- Why this matters: This turns the strategy from a rigid algorithm into a customizable framework where the user can apply their own discretion based on historical price behavior.
5. Hierarchical EMA Architecture (The Structural Governor)
This strategy does not treat all EMAs equally. It uses a two-tier EMA system with a strict hierarchy:
Lower TF EMA (Optional & Overrideable): The Lower TF EMA on the current timeframe acts as a micro-trend filter. However, as explained above, the Pin Bar Sweep + Engulfing Combo can override this filter. Why? Because strong institutional reversals often happen against the short-term trend, and we want to capture them.
Higher TF EMA (Absolute & Non-Negotiable): Higher TF EMA on the selected Higher Timeframe acts as an "Absolute Structural Governor." Unlike the lower EMA, this filter cannot be overridden by any pattern.
For Long entries: Price must be above this HTF EMA.
For Short entries: Price must be below this HTF EMA.
Most strategies either ignore the HTF entirely. By making the HTF EMA absolute and the LTF EMA overrideable, this strategy achieves the perfect balance:
The HTF EMA prevents catastrophic drawdowns by keeping you on the right side of the bigger trend.
The LTF EMA override allows you to catch sharp, high-probability reversals within that trend without being delayed by a slow-moving micro-filter.
6. Optional Risk Architecture (The Management Layer)
The strategy includes a built-in partial-take-profit and breakeven module. By default, this module is disabled to provide a clean, straightforward 1:3 risk-reward backtest without the complexity of multiple exit orders.
This default setting allows users to evaluate the core entry logic (zones + patterns) without interference from partial exits.
However, for traders who want to reduce psychological pressure or manage Gold's notorious retracements, they can enable Allow Breakeven and Allow Partial TP. When activated, the strategy closes a percentage of the position (e.g., 50%) at a lower R:R threshold (TP1) and moves the remaining position to breakeven—locking in early profits while letting the rest of the trade run.
# Zone Calculation
The strategy calculates 9 zones using a modified pivot point formula from the selected period (Daily, Weekly, Monthly, Quarterly, Yearly):
The pivot formula can be one of 5 methods: Classic, Fibonacci, Woodie, Camarilla, or DM.
The Classic Pivot (shown below) is the most widely used and serves as the default:
Pivot (P) = (H + L + C) / 3
R1 = (2 × P) – L
S1 = (2 × P) – H
R2 = P + (H – L)
S2 = P – (H – L)
(R3, R4, S3, S4 are logical extensions of this same principle)
Additional Methods (Briefly Explained):
Fibonacci: Uses the golden ratio multipliers (0.382, 0.618, 1.000, 1.618) to place support/resistance levels between the pivot and the high/low range.
Woodie: Gives extra weight to the closing price (Formula: P = (H + L + 2C) / 4), making it more sensitive to the current session's momentum.
Camarilla: Uses multipliers based on the previous range to place levels very close to the current price, ideal for range-bound trading and scalping.
DM: Adjusts the pivot formula conditionally based on whether the close was higher or lower than the open, making it adaptive to daily sentiment.
From these, the strategy derives:
- 4 Resistance Zones (R4, R3, R2, R1) – above the pivot
- 1 Pivot Zone (P)
- 4 Support Zones (S1, S2, S3, S4) – below the pivot
Each zone is expanded by a Zone Width to create a buffer, making the levels more practical.
# Zone Width Calculation
Three modes:
- Percentage – zone width as a percentage of current price
- ATR Multiplier – width = ATR × Multiplier
- Fixed – fixed price distance
# Gap Index Mapping (0–9):
Gap 0 – Above R4 → Aggressive (no trades)
Gap 1 – Between R4 and R3 → Bearish near R4, Bullish near R3
Gap 2 – Between R3 and R2 → Bearish near R3, Bullish near R2
Gap 3 – Between R2 and R1 → Bearish near R2, Bullish near R1
Gap 4 – Between R1 and Pivot → Bearish near R1, Bullish near Pivot
Gap 5 – Between Pivot and S1 → Bearish near Pivot, Bullish near S1
Gap 6 – Between S1 and S2 → Bearish near S1, Bullish near S2
Gap 7 – Between S2 and S3 → Bearish near S2, Bullish near S3
Gap 8 – Between S3 and S4 → Bearish near S3, Bullish near S4
Gap 9 – Below S4 → Aggressive (no trades)
Based on the gap index and price action, the strategy sets allowLong or allowShort – and displays the status on the info table.
Market Status Displayed:
- Bullish – near support zones; long trades allowed
- Bearish – near resistance zones; short trades allowed
- Waiting – new period started; zones recalculating; no trades
- Aggressive – above R4 or below S4; no trades
- Zone disabled – manually disabled zone; no trades
# Entry Signals
1. Engulfing Patterns
Detects bullish and bearish engulfing with filters:
- Body Only – if true, only bodies must engulf (not full range)
- Min/Max Range – can be Percentage, ATR Multiplier, or Fixed
- Gap Allowance – max price gap between previous close and current open
- Previous or Prior Candle – at least one of the last two candles must be the opposite. color (bearish for bullish engulf; bullish for bearish engulf).
This is not a random condition. The strategy only considers trades when price is near a strong structural zone (support/resistance). Because the zone itself provides the primary context for a potential reversal, the immediate previous candle does not need to be strictly opposite in color.By relaxing the requirement to "at least one of the last two," the strategy captures valid reversals at key levels that a strict, textbook rule would miss—while remaining highly selective because it only trades near strong zones.
2. Pin Bar + Engulfing Combo (EMA Override)
Identifies hammers/shooting stars with:
- Wick/Body Ratio (Wick 3× body)Requires a clearly defined pin bar with a very small body.
- Max Body/Range (Body is at most 20% of range) Ensures the body is genuinely small relative to the total range. This is the textbook definition of a pin bar/hammer. Captures true rejection candles.
- Min Wick/Range (70% of range) This is the classic pin bar definition. A 70%+ wick means price aggressively rejected the level and reversed.
- Sweep Lookback – bullish pinbar must break the lowest low of the previous N bars;
bearish must break the highest high
a pin bar that sweeps a recent extreme (lookback) and the very next candle forms an engulfing pattern in the same direction. This combo overrides the Lower TF EMA confirmation – a unique feature that captures strong momentum after a sweep.
Combined Entry Requirements
All of the following must be true:
1. Valid engulfing or pin+engulf combo
2. Pattern occurs near a zone (open inside zone boundaries or crossing it)
3. Market status aligns with trade direction
4. Daily trade limit not exceeded (default: 2)
5. Relevant zone is enabled
6. Price is on the correct side of EMAs (unless overridden by combo)
7. HTF EMA confirms (if enabled)
8. RSI not overbought/oversold (if enabled)
9. Not within the no‑trade window (if enabled)
-----------------------------------------------------
# Confirmation Filters
Current TF EMA – ensures micro‑trend alignment. Overridden by pin+engulf combo.
Higher TF EMA (default 150 on 1H) – filters out counter‑trend moves in the bigger picture.
RSI – prevents buying above 70 and selling below 30.
Bollinger Bands – blocks trades when volatility is too low (BB width below threshold).This filter is specifically designed for assets that range heavily—choppy, sideways markets.
No‑Trade Window – avoids end‑of‑day volatility (active only for timeframes ≤15min).
# Risk & Position Management
1- Position Sizing:
- Risk per trade – percentage of equity for first trade, separate for second
- Position size = (Account Risk) / (Entry – SL distance).
- Second trade does not increment the daily trade counter:
This is a deliberate design choice. The daily trade counter tracks new trade initiations, not total positions. The second trade (pyramiding) is considered a continuation of the existing position, not a new independent decision. This ensures the strategy can scale into strong trends without consuming the daily limit, while still respecting the maximum number of new entries per session.
2-Stop Loss Options:
- Low-High – entry bar low/high ± buffer Tight, reactive stops. Best for scalping or when you want the SL to follow the immediate price action of the entry candle.
- Swing high/low – N-bar low/high ± buffer Broader, structural stops. Ideal for swing trading or when you want the SL to respect recent market structure rather than a single bar.
- Zone – zone boundary ± buffer Structural stops aligned with pivot levels. Best when you want the SL to be placed exactly at the structural support/resistance level that defines the trade.
- Fixed distance – fixed price distance Simple, static stops. Useful when you know your exact risk tolerance in dollar/pip terms and want a consistent SL distance regardless of volatility.
- ATR Multiplier – entry ± (ATR × multiplier) Volatility-adaptive stops. Best for Gold's changing volatility—widens during news/high volatility, tightens during calm periods.
3- Take Profit:
- Main R:R ratio – main R:R ratio (default 1:3), plus optional partial TP and breakeven at a lower R:R ratio.
- Partial TP – close a percentage of position at a lower R:R (TP1)
- Breakeven – optionally move stop to entry at TP1
4- Trade Counter Reset:
- For TF ≤ 15m: resets at NY (9:30 AM) and London (3:30 AM) starts (configurable)
This aligns with Gold's session-specific volatility and allows fresh participation in each session while preventing over-trading within a single session.
- For TF > 15m: resets once per day at session start (Every new day) Session-specific behavior is less relevant on higher timeframes, and a simple daily cap is more appropriate for swing trading.
5- No‑Trade Window:
- Avoids high‑volatility periods (e.g., end of day)
- Active only for TF ≤ 15m (16:00 PM – 18:30 PM NY time, configurable) End-of-day volatility spikes can cause excessive slippage and erratic price action on short timeframes. on TF > 15 The window is too short to be meaningful; higher timeframe traders are less affected by brief volatility spikes.
6- Session Close:
- TF ≤ 15m: can close at day end and/or week end (configurable). Scalping trades on 1m–15m charts typically last minutes to a few hours. These trades are highly sensitive to Overnight gaps, Weekend gaps
- 15m < TF ≤ 10h: only week end. Swing trading on 30m–4H charts typically lasts hours to several days.
- TF > 10h: feature disabled. Position trading on daily+ charts lasts days to weeks. These trades aim to capture large macro moves.
# Chart Display
- Zone boxes – semi‑transparent red/pink with labels (R4…S4), auto‑cleanup (max 55 periods)
- Trade management lines – entry (white), SL (red), TP (green), TP1/breakeven (dashed),
with green/red fills; auto‑cleanup ((4) * max 125)
- Info table (top‑right) :
1. shows Market Status(Bullish/Bearish/Aggressive/Waiting).
2. EMA confirmations.
3. Zone Width, Breakout threshold.
4. Engulf range max min.
5. SL settings(SL refrence, sL bufer)
- EMA plots – light blue (lower TF) and light red (higher TF)
- Signal shapes – hidden by default (can be enabled via style settings)
- arrowdown shapes - "Reset trade counter"
- Background 1 color – yellow during no‑trade window
- Background 2 color – white close all position on week/day end.
UI Note: Inputs are hidden from the status line to keep your chart clean. All settings (zones, EMAs, risk, patterns) remain fully adjustable in Settings → Inputs.
# Default Settings – Optimized for XAUUSD (Gold)
All default values have been calibrated specifically for Gold's typical volatility and intraday structure.
(Setting : Default : Why This Works for Gold)
----------------------------------------------------------------------------------------
Period : Daily : Gold respects daily highs/lows as key structural levels.
-----------------------------------------------------------------------------------------
Pivot Type : Classic : Most widely used and reliable for Gold.
-----------------------------------------------------------------------------------------
Zone Width : ATR (0.053× ATR(14)) : ATR(14) provides a stable, week-to-week view of Gold's volatility (roughly two trading weeks of data).Adapts to Gold's daily volatility (Zone Width often $4–$10 range).
-----------------------------------------------------------------------------------------
Breakout Threshold : 7% of zone width : Zone width ≈ $3.00–$10.00 (Daily ATR × 0.053). 7% ≈ $0.21–$0.70 (21–70 ticks)—filters noise wicks, captures genuine breaks.Prevents false transitions caused by standard stop-hunting wicks
-----------------------------------------------------------------------------------------
Engulfing Range : ATR(14) (0.375× – 2.5×) : ATR(14) sits in the "sweet spot"—responsive enough to capture shifts in Gold's volatility relatively quickly, yet long enough to smooth out the daily noise and provide a reliable, consistent measure. Captures meaningful moves $3–$15—ensures candle has enough size to be meaningful, rejecting tiny $0.30–$0.50 noise patterns, while filtering out massive blow-off spikes (> $20–$25 on 15m).
-----------------------------------------------------------------------------------------
Pin Bar Sweep : 12 bars : 12 bars – Calibrated for Gold's 3-hour intraday cycle and session transitions. Long enough to capture genuine liquidity grabs, short enough to avoid outdated levels.
-----------------------------------------------------------------------------------------
Risk per trade : 2% (1st), 1% (2nd) : Balances risk with Gold's occasional false breakouts. For Gold's volatile nature, 2%-1% provides the best balance between survival and growth.
-----------------------------------------------------------------------------------------
Risk:Reward : 1:3 : Gold routinely moves 1.5–2× its ATR in a single directional push. A 1:3 target is well within Gold's typical daily range.
-----------------------------------------------------------------------------------------
Stop-Loss Reference : ATR Multiplier : For Gold's volatile nature, a static stop-loss (Fixed or Low-High) cannot adapt to changing volatility. ATR-based SL scales with market conditions—widening during high volatility (news, session opens) and tightening during calm periods. This ensures the stop-loss is always "fair" relative to current market conditions, preventing premature stops during normal volatility spikes
-----------------------------------------------------------------------------------------
Stop-Loss Multiplier : 1.8× ATR(14) : A 1.8× ATR(14) stop-loss represents 1.8 times Gold's average 14-period range. Why 1.8× and not 2.0× or 1.5×? Backtesting revealed that 1.8× is the "sweet spot"—wide enough to survive Gold's normal volatility spikes without being stopped out by noise, yet tight enough to limit losses
-----------------------------------------------------------------------------------------
Current TF EMA : 21 (Enabled, Overrideable) : On 15m chart = 5.25 hours—perfectly captures Gold's average intraday move length. Can be overridden by Pin Bar + Engulfing Combo to catch institutional reversals that occur against the short-term trend.
-----------------------------------------------------------------------------------------
Higher TF EMA : 150 on 1H : On Gold, a 150-period EMA on a 1H chart represents roughly 6.5 days (one full trading week) of data. By making this filter absolute, the strategy guarantees it will never take a counter-trend trade against the weekly macro-structure.trend.
-----------------------------------------------------------------------------------------
Filter (RSI) : length 12 : Most traders default to RSI(14), but RSI(12) is intentionally faster for Gold's volatile intraday moves. Gold often spikes into overbought/oversold territory and reverses quickly. A 12-period RSI reacts ~15% faster than RSI(14), catching these reversals earlier while remaining smooth enough to avoid excessive whipsaws.
-----------------------------------------------------------------------------------------
Filter (Bollinger Bands) : Disabled by default : Gold is historically a trending asset with strong directional moves. A low-volatility filter would unnecessarily block valid entries during these trends. Designed for range-bound assets (choppy crypto, certain forex crosses)—enable it only if your market consolidates heavily.
-----------------------------------------------------------------------------------------
These values are a starting point – you may adjust them for other assets or personal risk tolerance.
# Important Notes on Backtest Realism
- Commission – Most ECN/raw-spread brokers charge $3.00–$3.50 per side (round-turn commission of $6.00- $7.00) for 1 standard lot (100 oz) of XAUUSD. Standard accounts usually build the fee into a wider spread instead of charging a separate cash. This strategy deducts $3.50 per entry and $3.50 per exit ($0.035 × 100 oz)round-turn commission of $7.00. Adjust this to match your broker's exact fees.
- 4 ticks Slippage - For XAUUSD, 1 tick = $0.01 per ounce. 4 ticks = **$0.04 per ounce (unit)**. Accounts for real-world price . Prevents overly optimistic backtest equity curves.
Always adjust the commission value to your broker's exact fee structure before relying on the results.
"A backtest without realistic commission and slippage is a fantasy. A backtest with realistic commission and slippage is a truthful reflection of what you can expect when trading live."
- Intra-Bar Execution: The strategy uses calc_on_every_tick = true, meaning it recalculates on every price tick during real-time trading. This allows the breakeven and partial TP logic to trigger immediately when price hits TP1, protecting the trade from intra-bar reversals.
Note: Backtests use OHLC data only, so intra-bar fills and breakeven triggers cannot be perfectly simulated. Real-time performance may differ from backtest results due to this limitation
# The Core Innovation (Why This Isn't Just a Mashup)
This strategy is built on a three-layer validation system. Each layer solves a specific problem that the other layers cannot solve alone.
Layer 1 (The Structure): Dynamic Pivot Zones
Layer 2 (The Trigger): Pin-Bar Sweep + Engulfing Combo
Layer 3 (The Execution): Gap State Machine
Here is how they interdepend to create a unique edge:
1. Adaptive Pivot Mathematics (The "Regime Matching" Logic)
Instead of offering multiple pivot types just for the sake of it, this strategy provides them so the trader can match the mathematical formula to the market's current behavioral regime:
Why this matters: Most strategies lock you into one formula. This strategy acknowledges that price dynamics change, and it gives you the mathematical weapon to adapt without rewriting the entire code.
2. The "Liquidity Grab" Trigger (Sweep + Engulfing Combo)
This is the most critical edge of the strategy. A standard Engulfing pattern is common. A standard Pin Bar is common. But when they occur sequentially—a Pin Bar that sweeps the 12-bar extreme, immediately followed by an Engulfing candle—it represents a textbook institutional "liquidity grab."
- The Logic: Large players often push price to sweep obvious stop-losses (above highs or below lows) before reversing the trend.
- The Override: Crucially, this specific combo overrides the Lower TF EMA confirmation.
- Why this is a breakthrough: Standard trend-following strategies with a hard EMA filter will miss these reversals because price is moving against the EMA in the short term. By programming this specific override, the strategy captures the exact moment of institutional reversal—catching the move before the EMA flips and the trend-followers finally enter.
3. The Gap State Machine (Dynamic Sentiment Tracking)
Unlike static support/resistance scripts that just plot lines and wait for touches, this strategy features a state machine that tracks which of the 9 gaps (between R4-R1, Pivot, S1-S4) the price currently occupies.
- The Mechanism: A Breakout Threshold (default 7% of zone width) acts as a "dead-zone" filter. Price must exceed this threshold to officially transition from one gap to another.
- The Alpha: This prevents the strategy from whipsawing during minor noise. When price crosses from Gap 4 (between R1 and Pivot) into Gap 3 (between R2 and R1), the strategy instantly and autonomously switches market status from "Bearish" to "Bullish" or vice versa.
4. Selective Zone Activation (Strategic Discretion)
- This strategy allows the user to completely disable specific zones (e.g., turn off R3).
- The Value: By disabling a weak level, the user forces the strategy to wait for the next stronger level, instantly increasing the win rate and filtering out historically weak signals without altering any other code.
5. Non-Invasive Risk Architecture (Clean Defaults)
For traders who want to reduce psychological pressure or optimize for Gold's notorious retracements, they can enable these modules. When activated, the strategy closes % of the position at a lower R:R threshold and moves the remaining position to breakeven—locking in profits while letting the rest run.
In Summary: The "Mashup" Justification
This is not a random collection of indicators.
1. The State Machine provides the structural context.
2. The Pin+Engulf combo provides the high-conviction trigger that overrides slow-moving filters.
3. The Selectable Pivot Types provide the mathematical adaptability to different assets.
4. The Selectable Zones provide the manual discretion to avoid historical losing levels.
5. The Disabled TP/BE by default provides a clean baseline for evaluating the core logic.
Author: Awab_Hassan
Strategy

Pivot Points | Falcon AI Draws Classic and Camarilla pivot levels from the previous daily or weekly
session, on any intraday chart.
How it works: at the start of each new period the script reads the previous
period's high, low and close. The Classic central pivot P is the average of
those three. R1–R3 and S1–S3 are then projected above and below P using the
previous period's range — R1/S1 nearest, R3/S3 widest. Camarilla works from
the previous close instead, adding and subtracting fixed fractions of that
same range (the published 1.1/12, 1.1/6, 1.1/4 and 1.1/2 series) to give
H1–H4 above and L1–L4 below. Because Camarilla is range-scaled rather than
average-based, its levels sit tighter to price, which is why intraday
traders often use them for smaller moves while the Classic set frames the
wider session.
Levels are calculated only from data that has already closed, so they are
fixed for the whole session and do not repaint. An optional setting lets
you compute from the still-forming period instead, in which case the lines
update live by design.
Only the current period extends to the right and carries labels; previous
periods remain as short segments over the range they belong to, so history
stays readable. Choose Classic, Camarilla or both, how many R/S pairs to
draw, daily or weekly, plus colours, widths and label side. Indicator

Swing Persistence Profile - Pivot Width SurvivalSwing Persistence Profile ranks every swing high and swing low on the chart by the widest pivot
window it survives. It is also explicit about the exact bar on which that rank becomes knowable,
and it shades the region where it is not knowable yet.
THE IDEA
A pivot is not a property of a bar on its own. It is a property of a bar together with the width
of the window it was compared against. The same high is a swing high when you look two bars either
side, and is not a swing high when you look thirteen. Tools that ask you to pick one width and
then draw the result bury that choice inside a single number.
This script evaluates up to five widths at once - 2, 3, 5, 8 and 13 bars each side by default -
and records, for every bar, the widest width at which that bar is still the extreme of its window.
That number is the bar's persistence depth.
Because widening a window can only add constraints, the widths are strictly nested: a bar that is
the highest of its 13-bar neighbourhood is necessarily also the highest of its 8, 5, 3 and 2-bar
neighbourhoods. Depth is therefore a single ordered rank rather than five separate opinions that
have to be reconciled. A depth-13 swing is a depth-3 swing that kept going.
TIMING
A pivot of width w cannot be identified until w bars have closed after it. That is arithmetic, not
an implementation detail, and it means a bar's persistence depth is not final until the deepest
active width has passed.
There is one further subtlety that most pivot scripts leave in place. The w-th bar after the
candidate is itself still forming while it is the live bar, and its own high or low can still
invalidate the pivot. A script that reads the verdict during that bar will show a marker that
changes, or vanishes, before the bar closes.
This one waits one bar longer. Every verdict it reads comes from a bar that has already closed, so
the confirmation lag is the deepest active width plus one bar. A marker is created once, on the
bar it describes, and is then left alone: it is not moved, recoloured or deleted on later bars,
and it does not flicker intrabar either.
The bars still inside that delay are shaded, so the region where the answer can still change is
visible on the chart instead of being left to inference. Nothing inside the shaded region has been
ranked yet, so an empty shaded region means "not decided," not "no swings here."
WHAT IS DRAWN
A marker on each qualifying swing, placed on the bar that made the extreme, coloured and sized by
depth, optionally printing the depth as a number.
An optional structure line joining swings at or above one chosen depth, alternating between highs
and lows. The most recent segment extends if a later bar sets a more extreme value in the same
direction; once a swing in the opposite direction closes a segment, that segment is fixed.
An optional higher-timeframe reference: the price of the most recent confirmed swing high and
swing low measured on a higher timeframe, drawn as a stepped level. The requested expression is
offset by one bar and the request uses lookahead, which is the pair the Pine Script documentation
specifies for confirmed higher-timeframe values, so historical and realtime bars receive the same
series. The level therefore lags by the reference width plus one bar of the reference timeframe,
and that lag is the point rather than a defect.
Optional alerts on a swing reaching a chosen depth. The alert fires as many bars after the swing
as the deepest active width plus one; the swing itself is on the earlier bar. Because every
verdict is read from a closed bar, "Once Per Bar" and "Once Per Bar Close" fire on the same bar.
THE TABLE
"Swings" counts how many swings reached at least that depth across loaded history, highs and lows
together. "Kept" is the share of the previous row's swings that survived into this row. "Bars ea"
is the average number of bars per swing at that depth. The footer reports the confirmation lag in
bars and how many bars have been rated.
The survival ratios describe the instrument and timeframe you are looking at, not any particular
trade. If most depth-2 swings die at depth 3, the chart is producing many local extremes that do
not extend. If they survive, the same series is producing fewer and longer swings. Comparing that
profile across timeframes or across symbols is a way of choosing a swing width that matches how a
market actually moves, rather than choosing 5 because 5 is a common default.
Counts cover every bar of history the chart has loaded, so they are comparable between symbols
only when the loaded history is comparable.
SETTINGS
Depths in use activates between two and five of the width slots. Reducing it also shortens the
undecided region at the right edge, because that region is as long as the deepest active width
plus one settling bar.
Every depth threshold in the script - minimum depth to mark, minimum depth for the structure line,
and the alert depth - is stated in BARS EACH SIDE, not as a slot number. With the default widths,
"minimum depth 3" means the second of the five slots. A threshold set above the deepest active
width produces nothing, by design.
Enter the widths in ascending order. The ranking itself does not require it, but the table only
reads as a survival sequence when they ascend, and "Kept" can exceed 100% if they do not.
The higher-timeframe reference width is counted in bars of that timeframe: a width of 5 on a daily
reference means five daily bars each side.
WHO IT IS FOR
Anyone who uses swing points as an input to something else - reading structure, choosing the
lookback for a range or a channel, deciding how far back a level should be considered relevant -
and would rather see how sensitive those points are to window width than settle it by habit. It is
also usable as a calibration step before fixing a pivot length in another tool.
WHAT IT DOES NOT DO
It produces no entries, exits, targets, direction or bias, and nothing in it should be read as
one. It measures the geometry of the price series and stops there. Persistence depth describes
what has already happened; a deep swing is not evidence about what happens next.
NOTES
Highs and lows come from the chart series. On non-standard chart types - Heikin Ashi, Renko, Kagi,
Point and Figure, Range - those values are synthetic, and the depths will describe the synthetic
series rather than the market. The script declares alert conditions, so it should be used and
presented on a standard chart type.
PulseWire permits 500 labels and 500 lines per script. On long histories the platform drops the
oldest drawings as newer ones are created, so the left edge of a deep history may be bare. This
does not affect the table, which counts every rated bar.
Persistence depth for highs and lows, and the bar index each verdict refers to, are available in
the Data Window. Those values describe the bar named by "Swing bar index," not the bar the cursor
is on.
One data request is made for the higher-timeframe reference whether or not it is displayed, so
enabling it costs nothing extra.
ORIGINALITY
The built-in ta.pivothigh() and ta.pivotlow() functions are used as the primitive, as they are in
a great many scripts. Everything above them is written for this script: running several widths in
parallel, aligning their verdicts onto a common bar so that they can be compared, reducing them to
one nested rank, deferring every drawing until that rank is final on closed data, marking the
region where it is not yet final, and reporting the survival ratios between widths.
Open source under the Mozilla Public License 2.0. The logic is described above in enough detail to
be checked line by line against the source. Indicator

HH/LL Trendlines [twr]Automatically detects swing structure (HH/HL/LH/LL) using pivot highs/lows, labels each swing point, and — the key feature — draws trendlines connecting same-type consecutive pivots: LH→LH on the high side, HL→HL on the low side. This visualizes the two "structure lines" traders watch for trend continuation and potential breaks.
How it works
Pivot detection & classification
Uses ta.pivothigh()/ta.pivotlow() with a user-defined Swing Length (fractal-style, symmetric lookback/lookforward)
Each new swing high is compared to the prior swing high: higher → labeled HH (bullish, green), lower → labeled LH (bearish, red)
Each new swing low is compared to the prior swing low: lower → labeled LL (bearish, red), higher → labeled HL (bullish, green)
First pivot on each side gets a neutral "x" label since there's nothing to compare against yet
Trendline logic
Only connects pivots of the same classification — so a LH connects to the previous LH (skipping over any HH in between), and a HL connects to the previous HL. This produces clean descending-resistance / ascending-support structure lines rather than zigzagging between every pivot.
Lines are capped per side (Max Trend Lines Shown) using an array-based pool with oldest-first trimming, so the chart doesn't get cluttered over time
Live projection
If Project Lines Forward is enabled, each line's slope is recalculated every bar and extended to the current bar (getProjectedY()), so the structure line behaves like a live trend channel boundary rather than a static segment frozen at the two pivot points
Optional Remove Line Once Price Crosses It will auto-delete a line when price closes (or wicks, depending on Cross Source) through the projected level — useful for treating the line as an invalidated trendline break
Inputs summary
Structure: swing length, label toggle
Trend Lines: enable high/low connections independently, line width/style, max lines per side
Projection: forward extension toggle, cross-removal toggle, cross source (Close vs High/Low)
Colors: bullish/bearish color customization
Indicator

Pivot Sniper Method [trade_w_samet]🎯 Pivot Sniper Method
Pivot Sniper Method is a confirmed pivot-reversal, signal-quality, session-filtering, trade-mapping, alert, and loaded-history statistics indicator designed to convert confirmed price pivots into a structured chart-review workflow.
The script is built around one central idea:
Not every confirmed pivot should be treated as an equal-quality reversal setup.
Instead of displaying every pivot as an identical signal, Pivot Sniper Method evaluates each confirmed pivot through a five-part Signal Strength model, applies the selected directional and session rules, maps a complete Entry / Stop Loss / TP1 / TP2 / TP3 structure, manages optional Break-Even behavior, and records the result through an internal R-based tracker.
When an eligible pivot is confirmed, the script can:
• Display a confirmed BUY or SELL label
• Show the calculated Signal Strength percentage directly below the direction label
• Evaluate Pivot Distance, Wick Quality, Confirmation Candle, Volume Participation, and Trend Alignment
• Apply Bullish, Bearish, or Both directional bias
• Restrict new signals to London, New York, London + New York, All Sessions, or a Custom session
• Apply an adjustable signal cooldown
• Calculate the Entry at the confirmation-candle close
• Calculate Stop Loss using ATR, Pivot Level, Pivot + ATR Buffer, or Signal Candle
• Calculate independently adjustable TP1, TP2, and TP3 targets
• Move the active Stop Loss to Break-Even after TP1 or TP2
• Add an optional favorable Break-Even tick offset
• Replace the current active tracked trade when a new eligible signal appears
• Display active Entry, Stop / Break-Even, TP1, TP2, and TP3 lines and labels
• Remove the separate Entry line and label after Break-Even becomes active
• Display compact tooltips containing signal, price, risk, target, and status information
• Track Trades, Win Rate, NET R, Average R, TP1 / TP2 / TP3 hit rates, and Break-Even results
• Display a compact premium desktop dashboard
• Display a reduced Phone Mode dashboard
• Move the dashboard to any chart corner
• Support Auto, Dark, Light, and Phone visual modes
• Support static alertcondition() events
• Support one combined “Any alert() function call” workflow
• Include symbol, timeframe, strength, Entry, Stop, targets, Stop Loss mode, Break-Even mode, and session context in dynamic alerts
The purpose of the script is to provide a transparent framework for studying confirmed pivots, setup quality, session context, predefined risk, multiple reward targets, Break-Even behavior, and bar-based historical outcomes.
It is not financial advice.
It is not an automated trading system.
It does not execute broker orders.
It does not calculate position size.
It does not guarantee that a confirmed pivot will produce a reversal.
It does not guarantee that historical Win Rate or NET R will continue in future market conditions.
It does not include spread, commission, slippage, latency, financing, taxes, partial fills, or broker-specific execution.
It does not reconstruct the exact intrabar path inside historical candles.
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
At a high level, Pivot Sniper Method performs the following sequence:
• Searches price for confirmed pivot lows and pivot highs.
• Requires the selected number of completed candles on the right side of a pivot.
• Rejects simultaneous bullish and bearish pivot confirmation on the same calculation.
• Evaluates the selected Trend Bias.
• Evaluates the selected Trading Session.
• Evaluates the signal cooldown.
• Calculates a 0–100 Signal Strength score.
• Rejects signals below the selected minimum strength when the strength filter is enabled.
• Displays a BUY or SELL label only when all active signal rules pass.
• Opens a tracked trade at the close of the confirmation candle.
• Selects a Stop Loss using the active Stop Loss Mode.
• Uses ATR as a safety fallback when a structural Stop Loss is invalid.
• Calculates TP1, TP2, and TP3 from the actual Entry-to-Stop risk distance.
• Tracks target and stop touches from the candle after entry.
• Moves the active Stop Loss to Break-Even after the selected target condition.
• Replaces an active tracked trade at the current close when a new eligible signal appears.
• Records each completed trade in R.
• Updates a compact dashboard with state, trade, performance, and quality information.
• Generates static and dynamic PulseWire alert events.
The script does not use machine learning.
It does not claim to predict every market reversal.
Its dashboard is not PulseWire Strategy Tester.
Its statistics are calculated internally from the script’s own confirmed-signal, OHLC-touch, replacement-exit, and Break-Even rules.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
A pivot low identifies a price point that is lower than the selected number of candles on both sides.
A pivot high identifies a price point that is higher than the selected number of candles on both sides.
Confirmed pivots can provide useful reversal context, but a pivot alone does not answer:
• whether the setup agrees with the selected directional bias
• whether the setup occurs during the selected trading session
• whether the pivot candle contains a meaningful rejection wick
• whether price has moved sufficiently away from the confirmed pivot
• whether the confirmation candle supports the intended direction
• whether volume participation is elevated or ordinary
• whether price and the selected EMA structure support the direction
• where Stop Loss should be placed
• how the trade should be mapped in R
• when Break-Even should become active
• how a new signal should affect an existing tracked trade
• how the setup behaved under the script’s historical bar-touch rules
Pivot Sniper Method therefore treats the pivot as the first stage of a complete process rather than the final decision.
The complete workflow is:
potential pivot
→ right-side pivot confirmation
→ same-bar conflict rejection
→ directional-bias validation
→ session validation
→ cooldown validation
→ five-part quality scoring
→ minimum-strength validation
→ BUY or SELL signal
→ confirmation-candle Entry
→ Stop Loss selection
→ TP1 / TP2 / TP3 mapping
→ active-trade management
→ optional Break-Even
→ TP3, Stop, Break-Even, or replacement exit
→ internal R result
→ dashboard update
→ alert event
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS IS NOT A SIMPLE PIVOT MARKER
━━━━━━━━━━━━━━━━━━━━━━
A basic pivot script can stop after placing a shape on a confirmed swing high or swing low.
Pivot Sniper Method continues beyond pivot detection.
Each eligible setup passes through a coordinated structure:
confirmed price pivot
→ 0–100 quality evaluation
→ bias and session permission
→ structured Entry
→ selectable Stop Loss model
→ independent TP1, TP2, and TP3 targets
→ optional Break-Even transition
→ live target-status updates
→ active-trade replacement logic
→ historical R accounting
→ compact statistics dashboard
→ static and dynamic alerts
The pivot module defines the confirmed reversal location.
The Signal Strength module evaluates quality.
The Trend Bias module controls permitted directions.
The Time Filter controls when new setups may be accepted.
The trade-mapping module converts the setup into explicit price levels.
The Break-Even module changes active risk only after the selected target is confirmed.
The statistics module summarizes the exact results produced by those rules.
The alert module communicates signal and trade-management events.
These modules are not unrelated indicators placed together.
They form one process for identifying, filtering, mapping, monitoring, and reviewing confirmed pivot-reversal setups.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The script runs directly on the main price chart.
It calculates confirmed price pivots using independently adjustable left-side and right-side lengths for highs and lows.
The default pivot configuration is:
• Pivot High Left Bars: 10
• Pivot High Right Bars: 10
• Pivot Low Left Bars: 10
• Pivot Low Right Bars: 10
The signal engine then combines:
• confirmed pivot status
• Bullish / Bearish / Both bias permission
• selected session permission
• Signal Strength threshold
• cooldown permission
• same-bar dual-pivot rejection
• confirmed chart-bar status
A BUY signal is based on a confirmed pivot low.
A SELL signal is based on a confirmed pivot high.
The signal label is placed on the confirmation candle, not on the original historical pivot candle.
The Entry is also stored at the close of the confirmation candle.
This separation is important:
Pivot Price
The historical swing level that became confirmed after the selected right-side bars.
Signal Candle
The later candle where the script knows the pivot exists and all active filters pass.
Entry Price
The close of that later signal-confirmation candle.
━━━━━━━━━━━━━━━━━━━━━━
🔍 PIVOT DETECTION MODEL
━━━━━━━━━━━━━━━━━━━━━━
Pivot High Left Bars determines how many candles to the left must have lower highs than a potential pivot high.
Pivot High Right Bars determines how many completed candles must form to the right before the potential pivot high is confirmed.
Pivot Low Left Bars determines how many candles to the left must have higher lows than a potential pivot low.
Pivot Low Right Bars determines how many completed candles must form to the right before the potential pivot low is confirmed.
Higher left and right values generally identify larger and less frequent swing structures.
Lower values generally identify smaller and more frequent structures.
The high and low settings are independent.
This allows users to study symmetrical configurations such as 10 / 10 for both directions, or asymmetrical configurations when market behavior requires different sensitivity for pivot highs and pivot lows.
The central pivot calculation is:
float confirmedPivotHigh = ta.pivothigh(
high,
leftHighInput,
rightHighInput
)
float confirmedPivotLow = ta.pivotlow(
low,
leftLowInput,
rightLowInput
)
bool rawBuySignal =
barstate.isconfirmed and
not na(confirmedPivotLow)
bool rawSellSignal =
barstate.isconfirmed and
not na(confirmedPivotHigh)
These functions return a confirmed pivot value only after the required right-side bars exist.
A confirmed pivot does not automatically become a signal.
It must still pass:
• same-bar conflict rejection
• Trend Bias
• Trading Session
• Signal Strength
• cooldown
━━━━━━━━━━━━━━━━━━━━━━
⏳ PIVOT CONFIRMATION AND SIGNAL TIMING
━━━━━━━━━━━━━━━━━━━━━━
This section is essential for correct interpretation.
The script uses confirmed pivot functions.
A pivot is not known on the original pivot candle.
For example, with Pivot Low Right Bars set to 10:
• the potential pivot low occurs
• ten additional candles must complete to its right
• the pivot becomes confirmed on the later calculation candle
• the BUY candidate can then be evaluated
The signal label is displayed on the later confirmation candle.
The trade Entry is stored at the close of that confirmation candle.
The script does not backdate the BUY or SELL trade label to the original pivot candle.
This means:
• the pivot price belongs to an earlier historical candle
• the signal becomes available later
• the displayed Entry reflects the later confirmation close
• increasing right-side bars increases confirmation delay
• decreasing right-side bars confirms smaller structures earlier
The script also requires barstate.isconfirmed for raw pivot candidates.
Signals are therefore based on completed chart candles.
This reduces unfinished current-candle changes, but it does not remove the inherent delay required by pivot confirmation.
━━━━━━━━━━━━━━━━━━━━━━
🟢 CONFIRMED BUY LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A BUY candidate begins when a pivot low is confirmed.
The candidate is rejected when a pivot high is also confirmed on the same calculation.
The remaining BUY candidate must satisfy:
• Trend Bias is Bullish or Both
• the selected Trading Session is active
• the BUY Signal Strength meets the minimum threshold when filtering is enabled
• the cooldown is ready
• the chart bar is confirmed
When accepted, the script displays:
▲ BUY
strength%
The strength percentage appears on the second line to keep the label compact.
The compact two-line BUY label is constructed as:
string buyLabelText =
showStrengthOnSignalInput
? "▲ BUY " + str.tostring(buySignalStrength) + "%"
: "▲ BUY"
The SELL label uses the mirrored ▼ SELL format.
The label is placed below the signal candle.
The BUY tooltip can display:
• Confirmed BUY
• Signal Strength
• Confirmed Pivot price
The tracked Entry is the signal-confirmation candle close.
The BUY Stop Loss is placed below Entry using the selected Stop Loss Mode.
TP1, TP2, and TP3 are calculated above Entry from the actual Entry-to-Stop risk distance.
━━━━━━━━━━━━━━━━━━━━━━
🔴 CONFIRMED SELL LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A SELL candidate begins when a pivot high is confirmed.
The candidate is rejected when a pivot low is also confirmed on the same calculation.
The remaining SELL candidate must satisfy:
• Trend Bias is Bearish or Both
• the selected Trading Session is active
• the SELL Signal Strength meets the minimum threshold when filtering is enabled
• the cooldown is ready
• the chart bar is confirmed
When accepted, the script displays:
▼ SELL
strength%
The strength percentage appears on the second line.
The label is placed above the signal candle.
The SELL tooltip can display:
• Confirmed SELL
• Signal Strength
• Confirmed Pivot price
The tracked Entry is the signal-confirmation candle close.
The SELL Stop Loss is placed above Entry using the selected Stop Loss Mode.
TP1, TP2, and TP3 are calculated below Entry from the actual Entry-to-Stop risk distance.
━━━━━━━━━━━━━━━━━━━━━━
💪 SIGNAL STRENGTH MODEL
━━━━━━━━━━━━━━━━━━━━━━
Signal Strength is a 0–100 quality score.
The final score contains five components worth up to 20 points each:
1. Pivot Distance
2. Wick Quality
3. Confirmation Candle
4. Volume Participation
5. Trend Alignment
The score is intended to compare the internal characteristics of confirmed pivot setups under the same script rules.
It is not a probability forecast.
A 75% label does not mean there is a guaranteed 75% probability of profit.
It means the setup received 75 points out of the script’s 100-point quality model.
The Minimum Signal Strength input controls the required score.
Default:
55
When the filter is enabled:
• scores below the minimum are rejected
• scores equal to or above the minimum are eligible
• lower thresholds generally create more signals
• higher thresholds generally create fewer signals
The strength percentage can be hidden from the BUY / SELL label without disabling the strength filter.
The five component values are combined into the final score:
int buySignalStrength = int(math.round(
math.min(
buyPivotDistanceScore +
buyWickScore +
buyCandleScore +
volumeScore +
buyTrendScore,
100.0
)
))
int sellSignalStrength = int(math.round(
math.min(
sellPivotDistanceScore +
sellWickScore +
sellCandleScore +
volumeScore +
sellTrendScore,
100.0
)
))
A score is therefore the sum of five internal measurements, capped at 100.
━━━━━━━━━━━━━━━━━━━━━━
📏 PIVOT DISTANCE COMPONENT
━━━━━━━━━━━━━━━━━━━━━━
Pivot Distance evaluates how far the confirmation-candle close is from the confirmed pivot relative to ATR.
For BUY candidates, the model measures the distance from the confirmed pivot low to the current close.
For SELL candidates, it measures the distance from the current close to the confirmed pivot high.
The normalized value is capped internally.
The maximum contribution is 20 points.
This component does not claim that a larger distance is always better.
It only measures the amount of price separation used by this quality model.
━━━━━━━━━━━━━━━━━━━━━━
🕯️ WICK QUALITY COMPONENT
━━━━━━━━━━━━━━━━━━━━━━
Wick Quality evaluates the rejection wick on the original pivot candle.
For BUY candidates:
• lower wick size is compared with the full pivot-candle range
For SELL candidates:
• upper wick size is compared with the full pivot-candle range
A larger relevant wick can contribute more points, up to 20.
This component attempts to represent rejection behavior at the confirmed swing.
A large wick does not guarantee reversal continuation.
━━━━━━━━━━━━━━━━━━━━━━
📊 CONFIRMATION CANDLE COMPONENT
━━━━━━━━━━━━━━━━━━━━━━
The Confirmation Candle component evaluates the candle where the pivot becomes confirmed and the signal is processed.
The model considers:
• body size relative to the full candle range
• bullish close direction for BUY candidates
• bearish close direction for SELL candidates
The body ratio contributes most of the component score.
A directional close can add an additional internal bonus.
The maximum contribution is 20 points.
The confirmation candle is not the original pivot candle.
━━━━━━━━━━━━━━━━━━━━━━
🔊 VOLUME PARTICIPATION COMPONENT
━━━━━━━━━━━━━━━━━━━━━━
Volume Participation compares current volume with an adjustable volume average.
Default volume length:
20
Higher relative volume can contribute more points, up to 20.
The component is internally capped.
When usable volume data is unavailable, the script applies a neutral fallback contribution instead of automatically assigning zero.
Volume behavior differs across asset classes and data feeds.
For some symbols, displayed volume can represent exchange volume.
For others, it can represent tick activity or a provider-specific value.
━━━━━━━━━━━━━━━━━━━━━━
📈 TREND ALIGNMENT COMPONENT
━━━━━━━━━━━━━━━━━━━━━━
Trend Alignment uses an adjustable EMA.
Default EMA length:
50
For BUY candidates, the component evaluates:
• whether price is above the EMA
• whether the EMA is rising
For SELL candidates, it evaluates:
• whether price is below the EMA
• whether the EMA is falling
Each condition contributes part of the 20-point component.
This EMA is used as one component of Signal Strength.
It is not a separate hard directional filter.
A setup can still receive points from the other four components when Trend Alignment is weak.
━━━━━━━━━━━━━━━━━━━━━━
🧭 TREND BIAS
━━━━━━━━━━━━━━━━━━━━━━
Trend Bias controls which signal directions are permitted.
Available modes:
• Bullish
• Bearish
• Both
Bullish
Allows only confirmed BUY signals.
Bearish
Allows only confirmed SELL signals.
Both
Allows confirmed signals in both directions.
Trend Bias does not change pivot detection.
It changes which confirmed candidates are allowed to become signals and tracked trades.
The final signal gate combines pivot confirmation, directional permission, session permission, Signal Strength, and cooldown:
bool buySignal =
buyCandidate and
bullishBiasAllowed and
timeFilterPassed and
buyStrengthPassed and
cooldownReady
bool sellSignal =
sellCandidate and
bearishBiasAllowed and
timeFilterPassed and
sellStrengthPassed and
cooldownReady
Only candidates that pass every active condition become BUY or SELL signals.
━━━━━━━━━━━━━━━━━━━━━━
🕒 SESSION FILTER
━━━━━━━━━━━━━━━━━━━━━━
The Trading Session input controls when new signals can be accepted.
Available modes:
• All Sessions
• London
• New York
• London + New York
• Custom
London uses:
08:00–17:00
Europe/London time
New York uses:
09:30–16:00
America/New_York time
London + New York accepts signals during either defined session.
Custom allows the user to define a session and select:
• Exchange
• UTC
• Europe/London
• America/New_York
• Europe/Istanbul
• Asia/Tokyo
The session filter affects new entries only.
An already active tracked trade continues to be managed outside the selected session.
The dashboard displays whether the current session rule is OPEN or CLOSED.
━━━━━━━━━━━━━━━━━━━━━━
⏳ COOLDOWN AND CONFLICT HANDLING
━━━━━━━━━━━━━━━━━━━━━━
Signal Cooldown Bars defines the minimum number of completed candles required between accepted signals.
Default:
0
A value of 0 disables additional cooldown filtering.
Higher values reduce how frequently new signals can be accepted.
When a pivot high and pivot low are both confirmed on the same calculation, the script rejects both candidates.
This prevents contradictory BUY and SELL signals from being accepted on the same candle.
━━━━━━━━━━━━━━━━━━━━━━
🎯 ENTRY AND ACTIVE-TRADE REPLACEMENT MODEL
━━━━━━━━━━━━━━━━━━━━━━
The Entry is stored at the close of the accepted signal candle.
The script maintains one active tracked trade.
However, new eligible signals are not ignored while a trade is active.
When a new eligible BUY or SELL signal appears:
• the current active trade is valued at the new signal candle’s close
• its current R result is added to statistics
• its active lines and labels are removed
• the new signal opens a new tracked trade
This behavior applies to eligible same-direction and opposite-direction signals.
The replacement exit is not a broker fill.
It is an internal close-based accounting rule used to keep only one active tracked trade.
Because replacement exits can occur before TP3, Stop Loss, or Break-Even, NET R can include partial positive or negative R outcomes.
━━━━━━━━━━━━━━━━━━━━━━
🛑 STOP LOSS SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes four Stop Loss modes:
• ATR
• Pivot Level
• Pivot + ATR Buffer
• Signal Candle
ATR
BUY:
Entry − ATR × multiplier
SELL:
Entry + ATR × multiplier
Default ATR length:
14
Default ATR multiplier:
2.0
Pivot Level
BUY:
confirmed pivot low
SELL:
confirmed pivot high
Pivot + ATR Buffer
BUY:
confirmed pivot low − ATR × pivot buffer
SELL:
confirmed pivot high + ATR × pivot buffer
Default pivot buffer:
0.25 ATR
Signal Candle
BUY:
signal candle low
SELL:
signal candle high
The script validates the selected Stop Loss.
For BUY, Stop Loss must be meaningfully below Entry.
For SELL, Stop Loss must be meaningfully above Entry.
When the selected structural stop is invalid, the script uses the ATR Stop Loss as a safety fallback.
The actual risk distance is:
absolute difference between Entry and the validated Stop Loss
That distance becomes 1R for all target calculations.
The requested Stop Loss is selected from the active mode:
requestedStopPrice :=
stopLossModeInput == "ATR"
? activeEntryPrice - atrFallbackDistance
: stopLossModeInput == "Pivot Level"
? confirmedPivotLow
: stopLossModeInput == "Pivot + ATR Buffer"
? confirmedPivotLow - atrValue * pivotBufferATRInput
: low
For SELL trades, the same logic is mirrored above Entry.
The script then validates the requested structural stop.
When the selected price is not on the correct side of Entry, ATR is used as the fallback.
━━━━━━━━━━━━━━━━━━━━━━
🏆 TP1 / TP2 / TP3 SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
TP1, TP2, and TP3 are independently adjustable.
Default values:
• TP1: 1R
• TP2: 2R
• TP3: 3R
For BUY:
target = Entry + risk distance × selected R multiple
For SELL:
target = Entry − risk distance × selected R multiple
TP1 and TP2 are intermediate target events.
TP3 is the final target and closes the active tracked trade.
When TP3 is touched:
• TP1 is also recorded if it was not already recorded
• TP2 is also recorded if it was not already recorded
• TP3 is recorded
• the trade closes at the selected TP3 R value
Users should normally keep:
TP1 < TP2 < TP3
The script allows independent values, so users are responsible for maintaining a logical target sequence.
After the validated Stop Loss is stored, the script defines 1R and calculates each target:
activeRiskDistance :=
math.max(
math.abs(activeEntryPrice - activeStopPrice),
syminfo.mintick
)
activeTP1Price :=
activeTradeDirection == 1
? activeEntryPrice + activeRiskDistance * tp1RRInput
: activeEntryPrice - activeRiskDistance * tp1RRInput
activeTP2Price :=
activeTradeDirection == 1
? activeEntryPrice + activeRiskDistance * tp2RRInput
: activeEntryPrice - activeRiskDistance * tp2RRInput
activeTP3Price :=
activeTradeDirection == 1
? activeEntryPrice + activeRiskDistance * tp3RRInput
: activeEntryPrice - activeRiskDistance * tp3RRInput
The target calculations therefore remain proportional to the actual Entry-to-Stop distance.
━━━━━━━━━━━━━━━━━━━━━━
🟡 BREAK-EVEN SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
Break-Even Mode includes:
• Off
• After TP1
• After TP2
After TP1
The Stop Loss moves to Entry after the TP1-touch candle closes.
After TP2
The Stop Loss moves to Entry after the TP2-touch candle closes.
The updated Break-Even stop applies from the following candle.
An optional favorable tick offset can be added.
For BUY:
Break-Even = Entry + offset
For SELL:
Break-Even = Entry − offset
When Break-Even becomes active:
• the Stop Loss line changes to the Break-Even color
• the Stop label changes from SL to BE
• the separate Entry line is deleted
• the separate Entry label is deleted
• only the BE level remains at or near Entry
This prevents Entry and Break-Even labels from overlapping at the same price.
A Break-Even stop with zero offset produces approximately 0R.
A positive favorable offset can produce a small positive R result.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ SAME-CANDLE STOP AND TARGET HANDLING
━━━━━━━━━━━━━━━━━━━━━━
Historical OHLC candles do not reveal the exact sequence of all intrabar price movement.
A candle can include both the active Stop price and one or more target prices.
When the active Stop and a target are both touched inside the same historical candle, the script uses a conservative rule:
The active Stop receives priority.
This applies to the original Stop Loss and the active Break-Even stop.
Trade-management checks begin on the candle after Entry.
The Entry candle cannot immediately close the new tracked trade.
The conservative priority rule can produce different results from lower-timeframe reconstruction or tick-level execution data.
━━━━━━━━━━━━━━━━━━━━━━
📐 ACTIVE TRADE VISUAL SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
While a tracked trade is active, the script can display:
• Stop Loss or Break-Even line
• Entry line
• TP1 line
• TP2 line
• TP3 line
• Stop Loss or Break-Even label
• Entry label
• TP1 label
• TP2 label
• TP3 label
The lines project to the right by the selected number of bars.
Default:
20 bars
Stop and Entry use solid lines.
Targets use dashed lines.
After TP1 or TP2 is reached:
• the corresponding target label changes to a completed state
• the corresponding line becomes more transparent
After Break-Even activates:
• the Entry line and Entry label disappear
• the active Stop line and label become BE
When the trade closes or is replaced:
• active trade lines are deleted
• active trade labels are deleted
The script does not preserve completed trade lines as permanent historical drawings.
━━━━━━━━━━━━━━━━━━━━━━
🏷️ LABELS, TOOLTIPS, AND TEXT
━━━━━━━━━━━━━━━━━━━━━━
BUY and SELL labels use two lines when strength display is enabled:
direction
strength%
Available Label Size values:
• Tiny
• Small
• Normal
• Large
• Huge
The setting controls:
• BUY
• SELL
• Entry
• Stop Loss
• Break-Even
• TP1
• TP2
• TP3
Phone Mode overrides the selected label size with Tiny.
Visible chart labels use bold and italic formatting.
Signal tooltips can show:
• direction
• strength
• pivot price
Trade-level tooltips can show:
• Entry strength
• risk distance
• Stop Loss mode
• Stop or BE price
• target R value
• target price
• target status
• Break-Even tick offset
Tooltips are informational chart elements.
They do not represent broker orders.
━━━━━━━━━━━━━━━━━━━━━━
📟 COMPACT PREMIUM DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━
The desktop dashboard is divided into four sections:
STATE
• symbol and timeframe
• active signal and strength
• current trade status
• session status
TRADE
• active Stop Loss mode
• Entry and Stop / Break-Even
• TP1 / TP2 / TP3 scale
• live R
PERFORMANCE
• total trades started
• closed trades
• Win Rate
• NET R
• Average R
• TP1 / TP2 / TP3 hit rates
QUALITY
• latest strength
• Trend component
• Volume component
• Wick component
• Confirmation Candle component
• Pivot Distance component
• Trend Bias
• Break-Even mode
• Minimum Strength
Quality components are displayed in a compact format:
T = Trend
V = Volume
W = Wick
C = Candle
P = Pivot Distance
The dashboard can be positioned at:
• Top Right
• Bottom Right
• Top Left
• Bottom Left
The selected input is translated into a PulseWire table position:
string dashboardTablePosition =
dashboardPositionInput == "Top Right" ? position.top_right :
dashboardPositionInput == "Top Left" ? position.top_left :
dashboardPositionInput == "Bottom Left" ? position.bottom_left :
position.bottom_right
if barstate.islast
table.set_position(
statisticsTable,
dashboardTablePosition
)
━━━━━━━━━━━━━━━━━━━━━━
📊 STATISTICS METHODOLOGY
━━━━━━━━━━━━━━━━━━━━━━
The statistics are produced by the script’s internal bar-based tracker.
They are not imported from a broker.
They are not verified account results.
They are not PulseWire Strategy Tester results.
Total Trades Started
Number of accepted signals that opened a tracked trade.
Total Trades Closed
Number of tracked trades closed by:
• Stop Loss
• Break-Even
• TP3
• active-trade replacement
TP1 Hit Rate
TP1 touches divided by Total Trades Started.
TP2 Hit Rate
TP2 touches divided by Total Trades Started.
TP3 Hit Rate
TP3 touches divided by Total Trades Started.
NET R
Sum of all recorded closed-trade R outcomes.
Average R
NET R divided by Total Trades Closed.
Win Rate
Positive-R trades divided by positive-R plus negative-R trades.
Exact 0R Break-Even results are excluded from the Win Rate denominator.
A favorable Break-Even offset can produce a small positive R result and can therefore be classified as a positive-R trade.
Replacement exits use the close of the new signal candle and can contribute partial R.
Statistics depend on:
• loaded chart history
• symbol
• timeframe
• exchange or broker feed
• left and right pivot settings
• Trend Bias
• session setting
• cooldown
• strength threshold
• EMA and volume lengths
• ATR settings
• Stop Loss mode
• target settings
• Break-Even settings
• replacement-signal sequence
Changing any of these inputs can change historical results.
━━━━━━━━━━━━━━━━━━━━━━
🎨 THEME SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes:
• Auto
• Dark Mode
• Light Mode
• Phone Mode
Auto
Detects the chart background and selects the corresponding light or dark visual palette.
Dark Mode
Uses:
• darker green and red signal colors
• dark dashboard surfaces
• white chart-label text
• dark Entry color
• muted dashboard text
• red brand header
Light Mode
Uses:
• brighter green and red signal colors
• light dashboard surfaces
• dark BUY text where required
• adjusted Entry and dashboard colors
• red brand header
Theme selection changes presentation.
It does not change pivot detection, Signal Strength, trade levels, statistics, or alerts.
━━━━━━━━━━━━━━━━━━━━━━
📱 PHONE MODE
━━━━━━━━━━━━━━━━━━━━━━
Phone Mode is designed for smaller chart areas.
It uses:
• Tiny signal labels
• Tiny active-trade labels
• one-pixel trade-level lines
• dark visual palette
• compact dashboard text
• reduced dashboard rows
The Phone Mode dashboard displays:
• Signal and Strength
• Status
• Win Rate and NET R
• Session
The compact layout intentionally removes most desktop details.
Phone Mode changes presentation only.
It does not change calculations.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes static PulseWire alert conditions for:
• Confirmed BUY
• Confirmed SELL
• Stop Loss Hit
• Break-Even Activated
• Break-Even Hit
• TP1 Hit
• TP2 Hit
• TP3 Hit
Static BUY and SELL messages can include:
• exchange
• ticker
• timeframe
• Signal Strength
• Entry
• Stop
• TP1
• TP2
• TP3
The script also includes dynamic alert() events for:
• BUY signal
• SELL signal
• Stop Loss hit
• Break-Even activation
• Break-Even hit
• TP1 hit
• TP2 hit
• TP3 hit
Dynamic signal messages can include:
• trade_w_samet identifier
• event type
• direction
• symbol
• timeframe
• Signal Strength
• Entry
• Stop
• TP1
• TP2
• TP3
• Stop Loss Mode
• Break-Even Mode
• Trading Session
• session OPEN / CLOSED state
Dynamic trade-management messages preserve the active trade’s stored values before the trade state is reset.
Alert events use once-per-bar-close frequency.
A dynamic signal message is assembled from the stored trade values:
string buyEntryAlertMessage =
"trade_w_samet | Pivot Sniper Method" +
" Event: BUY SIGNAL" +
" Direction: BUY" +
" Symbol: " + syminfo.tickerid +
" Timeframe: " + timeframe.period +
" Strength: " + str.tostring(buySignalStrength) + "%" +
" Entry: " + str.tostring(activeEntryPrice, format.mintick) +
" SL: " + str.tostring(activeStopPrice, format.mintick) +
" TP1: " + str.tostring(activeTP1Price, format.mintick) +
" TP2: " + str.tostring(activeTP2Price, format.mintick) +
" TP3: " + str.tostring(activeTP3Price, format.mintick)
alert(
message=buyEntryAlertMessage,
freq=alert.freq_once_per_bar_close
)
The complete live message also includes Stop Loss Mode, Break-Even Mode, and session context.
Alerts are monitoring tools.
They do not execute or modify broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
For a specific static event:
1. Add Pivot Sniper Method to the chart.
2. Open PulseWire’s Create Alert window.
3. Select the indicator as the condition.
4. Select the required BUY, SELL, Stop, Break-Even, TP1, TP2, or TP3 event.
5. Select the notification method.
6. Test the alert before relying on it.
For one combined dynamic workflow:
1. Add the indicator to the chart.
2. Open Create Alert.
3. Select Pivot Sniper Method .
4. Select Any alert() function call.
5. Configure the delivery method.
6. Test signal and trade-management messages.
PulseWire saves a snapshot of the script, its inputs, and chart context when an alert is created.
After materially changing the script, symbol, timeframe, or inputs, delete and recreate the alert so it uses the intended configuration.
━━━━━━━━━━━━━━━━━━━━━━
🧪 PRACTICAL WORKFLOW
━━━━━━━━━━━━━━━━━━━━━━
A practical review process:
1. Add Pivot Sniper Method to a standard candlestick chart.
2. Select Auto, Dark, Light, or Phone Mode.
3. Start with symmetrical pivot settings.
4. Observe how right-side bars affect confirmation delay.
5. Select Both Trend Bias when studying raw signal behavior.
6. Select Bullish or Bearish when reviewing one direction only.
7. Begin with All Sessions when studying general behavior.
8. Test London, New York, or Custom session filtering.
9. Begin with the default Minimum Signal Strength.
10. Compare signal frequency at higher and lower thresholds.
11. Review the strength percentage below each BUY or SELL label.
12. Use the tooltip to inspect the confirmed pivot price.
13. Compare the five quality components in the dashboard.
14. Select the preferred Stop Loss Mode.
15. Verify that the structural stop is logically positioned.
16. Review the ATR fallback behavior.
17. Set TP1, TP2, and TP3 in increasing order.
18. Select the Break-Even rule.
19. Review when the Entry label disappears and BE replaces it.
20. Observe how new eligible signals replace an active tracked trade.
21. Review Live R and historical NET R.
22. Review failed setups as well as successful setups.
23. Create and test alerts.
24. Define personal position size independently.
25. Account for spread, commission, liquidity, news, and execution conditions.
The indicator is designed for structured study and monitoring.
It should not be treated as an automatic decision-maker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
📈 Trend Bias
Trend Bias
• Bullish
• Bearish
• Both
━━━━━━━━━━━━━━━━━━━━━━
⚙️ Pivot Settings
Pivot High Left Bars
Default:
10
Pivot High Right Bars
Default:
10
Pivot Low Left Bars
Default:
10
Pivot Low Right Bars
Default:
10
━━━━━━━━━━━━━━━━━━━━━━
🚨 Signal Settings
Show BUY / SELL Signals
Shows or hides signal labels.
Signal Cooldown Bars
Default:
0
━━━━━━━━━━━━━━━━━━━━━━
🕒 Time Filter
Trading Session
• All Sessions
• London
• New York
• London + New York
• Custom
Custom Session
Default:
08:00–17:00
Custom Session Time Zone
• Exchange
• UTC
• Europe/London
• America/New_York
• Europe/Istanbul
• Asia/Tokyo
━━━━━━━━━━━━━━━━━━━━━━
💪 Signal Strength
Enable Signal Strength Filter
Default:
On
Minimum Signal Strength
Default:
55
Show Strength on Signal
Default:
On
Strength Trend Length
Default:
50
Strength Volume Length
Default:
20
━━━━━━━━━━━━━━━━━━━━━━
📦 Trade Levels
Show Active Trade Levels
Default:
On
Stop Loss Mode
• ATR
• Pivot Level
• Pivot + ATR Buffer
• Signal Candle
ATR Length
Default:
14
Stop Loss ATR Multiplier
Default:
2.0
Pivot ATR Buffer
Default:
0.25
TP1 Risk / Reward
Default:
1.0R
TP2 Risk / Reward
Default:
2.0R
TP3 Risk / Reward
Default:
3.0R
Level Projection Bars
Default:
20
━━━━━━━━━━━━━━━━━━━━━━
🟡 Break-Even
Break-Even Mode
• Off
• After TP1
• After TP2
Default:
After TP1
Break-Even Offset Ticks
Default:
0
━━━━━━━━━━━━━━━━━━━━━━
📊 Statistics Dashboard
Show Statistics Dashboard
Default:
On
Dashboard Position
• Top Right
• Bottom Right
• Top Left
• Bottom Left
━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual Settings
Theme Mode
• Auto
• Dark Mode
• Light Mode
• Phone Mode
Label Size
• Tiny
• Small
• Normal
• Large
• Huge
Phone Mode always uses Tiny.
━━━━━━━━━━━━━━━━━━━━━━
🔔 Alert Settings
Enable BUY Alerts
Default:
On
Enable SELL Alerts
Default:
On
Enable Dynamic Alerts
Default:
On
All public input values are hidden from PulseWire’s status line to reduce chart-header clutter.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
Pivots, ATR, EMA, volume comparison, session filters, risk/reward levels, Break-Even, alerts, and performance statistics are established technical-analysis concepts.
These concepts are not unique by themselves.
The originality of Pivot Sniper Method lies in the coordinated implementation applied to them:
confirmed high and low pivots
→ same-bar directional-conflict rejection
→ Bullish / Bearish / Both permission
→ session filtering
→ cooldown
→ five-part 0–100 quality model
→ minimum-quality acceptance
→ compact two-line BUY / SELL labels
→ confirmation-close Entry
→ four selectable Stop Loss models
→ ATR structural-stop validation fallback
→ independently adjustable TP1 / TP2 / TP3
→ target-state visual updates
→ TP1- or TP2-based Break-Even
→ Entry-to-BE visual replacement
→ active-trade replacement at current close
→ internal partial-R accounting
→ desktop and Phone dashboards
→ theme-aware colors
→ dashboard-corner selection
→ detailed static and dynamic alerts
Distinctive implementation features include:
• using five quality dimensions inside one pivot-reversal workflow
• separating pivot confirmation from Entry timing
• using the original pivot candle for wick quality
• using the later confirmation candle for candle quality and Entry
• applying session control only to new entries
• supporting four Stop Loss construction methods
• validating structural stops and falling back to ATR when required
• removing the Entry visual after Break-Even replaces it
• tracking replacement exits in R
• showing latest quality components in a compact dashboard
• supporting both individual events and one combined dynamic-alert workflow
The script is not a collection of unrelated indicators.
Every component supports the same objective: evaluating and managing a confirmed pivot-reversal setup under explicit, reviewable rules.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
Signal frequency depends on:
• symbol
• timeframe
• data provider
• pivot left and right settings
• Trend Bias
• selected session
• cooldown
• minimum strength
• EMA length
• volume length
• ATR availability
• historical data availability
Higher right-side pivot values increase confirmation delay.
Higher strength thresholds reduce accepted signals.
Session filtering can remove otherwise valid setups.
The strength score is not a probability forecast.
The Trend component is part of the score, not a separate hard trend filter.
The script replaces an active tracked trade when a new eligible signal appears.
The script does not retain completed trade lines historically.
Dashboard statistics use loaded chart history only.
Different exchanges, brokers, and data feeds can produce different:
• highs
• lows
• closes
• pivots
• wick measurements
• volume values
• ATR values
• EMA values
• signals
• stop levels
• target levels
• replacement exits
• historical statistics
Changing available history can change the first eligible setup and later active-trade sequencing.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations.
It does not guarantee profitable trades.
It does not predict future price movement with certainty.
It does not execute orders.
It does not place broker Stop Loss orders.
It does not place broker Take Profit orders.
It does not calculate position size.
It does not calculate account risk.
It does not include spread.
It does not include commission.
It does not include slippage.
It does not include latency.
It does not include swap or financing.
It does not include taxes.
It does not model partial fills.
It does not model order rejection.
It does not model contract specifications.
It does not model tick-by-tick execution.
It uses historical OHLC bars.
It cannot always determine whether Stop or target occurred first inside one candle.
It resolves same-candle ambiguity in favor of the active Stop.
It begins trade-management checks on the candle after Entry.
It requires right-side pivot confirmation.
It cannot identify a confirmed pivot on the original pivot candle.
It can react with delay when larger right-side values are used.
It rejects simultaneous high and low pivot confirmation.
It can reject setups through bias, session, strength, or cooldown rules.
It replaces an active tracked trade when a new eligible signal appears.
A replacement exit can close a trade before its mapped Stop or TP3.
Its Signal Strength is an internal score, not a probability.
Its volume component depends on available volume data.
Its dashboard is not Strategy Tester.
Its statistics are not audited.
Its Win Rate excludes exact 0R Break-Even results.
A positive Break-Even offset can classify a BE hit as positive R.
Its target hit rates use total trades started.
Its statistics depend on loaded chart history.
Changing settings recalculates historical behavior.
Alerts depend on PulseWire and user configuration.
Alerts do not guarantee broker execution.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
This script may be useful for traders who:
• understand pivot confirmation
• want BUY and SELL signals based on confirmed price pivots
• prefer a quality score instead of equal treatment for every pivot
• want separate Bullish and Bearish direction controls
• want London, New York, or Custom session filtering
• want selectable ATR or structural stops
• want independently adjustable R targets
• want TP1- or TP2-based Break-Even
• want active trade levels on the chart
• want compact tooltips
• want loaded-history R statistics
• want a compact desktop dashboard
• want a reduced Phone Mode
• want detailed PulseWire alerts
• understand that historical chart results are not verified execution
It may be less suitable for users who:
• want signals on the original unconfirmed pivot candle
• want no pivot delay
• want tick-level backtesting
• want multiple simultaneous tracked trades
• want new signals ignored while a trade is active
• want historical completed-trade lines preserved
• want automatic broker execution
• want position sizing
• want commission and slippage modeling
• want guaranteed reversal signals
• interpret Signal Strength as win probability
• expect historical Win Rate to continue unchanged
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST-PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For studying pivot sensitivity:
• begin with equal high and low pivot settings
• compare smaller and larger left / right values
• remember that right-side values directly affect delay
For studying raw signal behavior:
• use Both Trend Bias
• use All Sessions
• use a moderate minimum strength
• review every accepted BUY and SELL
For directional study:
• use Bullish or Bearish
• compare results separately
• do not assume one direction will remain superior
For session-based review:
• compare All Sessions with London or New York
• use the exchange’s actual liquidity characteristics
• remember that active trades remain managed outside the session
For Signal Strength:
• begin with 55
• compare frequency at 45, 55, and 65
• review the five components
• do not interpret the percentage as guaranteed probability
For risk mapping:
• begin with ATR 14 and 2.0 multiplier
• compare ATR with Pivot Level
• compare Pivot Level with Pivot + ATR Buffer
• maintain logical TP1 < TP2 < TP3 values
For Break-Even:
• compare Off with After TP1
• test After TP2 for wider trade development
• keep the tick offset realistic for the instrument
For chart clarity:
• use Auto for general use
• use Dark or Light when manual control is preferred
• use Phone Mode on smaller screens
• move the dashboard away from important price action
• adjust label size according to chart density
Always:
• wait for confirmed signals
• review broader market structure
• review liquidity and volatility
• review news risk
• define personal account risk
• calculate position size independently
• test the exact symbol, timeframe, and data feed
• inspect failed trades as well as successful trades
• recreate alerts after important configuration changes
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
Pivot Sniper Method is published as an educational pivot-confirmation, signal-quality, session-filtering, risk-mapping, Break-Even, statistics, and alert tool.
The purpose of this description is to explain:
• how pivots are confirmed
• why signals appear after the original pivot
• how BUY and SELL candidates are formed
• how simultaneous pivot conflicts are rejected
• how Trend Bias affects eligibility
• how session filtering affects new entries
• how cooldown affects frequency
• how the five Signal Strength components work
• why Signal Strength is not a probability
• how Entry is defined
• how each Stop Loss Mode works
• how invalid structural stops fall back to ATR
• how TP1, TP2, and TP3 are calculated
• how Break-Even activates
• why Entry disappears after BE becomes active
• how same-candle Stop / target ambiguity is handled
• how active trades are replaced by new eligible signals
• how internal R statistics are calculated
• what the dashboard displays
• how Phone Mode differs
• what alerts include
• what the script does not simulate
• why historical results can change
The script is designed to support structured review.
It does not promise profitable results.
It does not remove market risk.
It does not replace independent analysis.
It does not replace personal risk management.
━━━━━━━━━━━━━━━━━━━━━━
🕒 REPAINTING, BACKPLOTTING, AND TIMING DISCLOSURE
━━━━━━━━━━━━━━━━━━━━━━
Pivot Sniper Method uses confirmed price pivots.
Pivot confirmation requires future candles relative to the original pivot location.
The number of required right-side candles is controlled independently for pivot highs and pivot lows.
The script does not know that a pivot exists on the original pivot candle.
After the required right-side candles complete:
• the pivot becomes confirmed
• the candidate is evaluated
• Signal Strength is calculated
• filters are applied
• the BUY or SELL label can appear on the confirmation candle
• the tracked Entry can open at the confirmation-candle close
The BUY or SELL trade label is not plotted back on the original pivot candle.
The Entry is not backdated.
Signals require confirmed chart bars.
This reduces unfinished current-bar variation.
It does not remove:
• pivot confirmation delay
• differences between historical OHLC and tick sequence
• data-feed differences
• changes caused by settings
• changes caused by loaded history
• market risk
Historical results can change when:
• pivot settings change
• Trend Bias changes
• session settings change
• cooldown changes
• strength settings change
• ATR settings change
• Stop Loss Mode changes
• target settings change
• Break-Even settings change
• symbol changes
• timeframe changes
• exchange or broker feed changes
• available chart history changes
Users should interpret the original pivot price as historical structure and the later BUY / SELL candle as the actual confirmed signal timing.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
Pivot Sniper Method is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, accounting, or tax advice.
No indicator can guarantee future results.
Markets are uncertain.
Price structure changes.
Volatility changes.
Liquidity changes.
Volume behavior changes.
Session behavior changes.
Historical chart behavior does not ensure future performance.
Every user is responsible for their own:
• analysis
• validation
• symbol selection
• timeframe selection
• pivot settings
• directional bias
• session selection
• quality threshold
• Stop Loss selection
• target planning
• Break-Even selection
• position sizing
• risk management
• alert configuration
• trading decisions
• broker execution
• legal obligations
• tax obligations
The pivots, BUY labels, SELL labels, Signal Strength values, Entry levels, Stop Loss levels, Break-Even levels, TP1 levels, TP2 levels, TP3 levels, active lines, labels, tooltips, dashboard values, Win Rate, NET R, Average R, target hit rates, and alerts are visual analysis tools only.
A confirmed pivot is not a guaranteed reversal.
A high Signal Strength value is not a guaranteed winning trade.
A TP label is not proof of an actual broker fill.
A Stop Loss event is not proof of an actual broker fill.
The dashboard is not verified account performance.
The statistics are not audited.
The script does not include spread, commission, slippage, latency, financing, taxes, partial fills, order rejection, position sizing, account equity, or broker-specific execution.
Use the script as a structured pivot-reversal review, trade-mapping, and monitoring framework—not as a promise of profitability or a substitute for independent judgment.
Indicator

Previous Day / Week / Month Highs & LowsPrevious Day / Week / Month Highs & Lows.
A precision multi-period key-level tool that automatically draws previous-period highs and lows from the Daily, Weekly and Monthly timeframes — plus optional midpoints, an optional grid of psychological round-number levels around price, and a compact right-side info table with distance-to-price for every visible level. Built for intraday, scalping and swing traders who want a clean, opinionated read of the reference levels that institutional desks actually watch.
How it works:
The indicator pulls the previous completed candle from D, W and M via request.security and anchors each level line at the exact open time of that source bar — so a Weekly line starts on last week's Monday, not on the current week's first bar. Lines stay live and extend to the right through the chart's future offset area, so the reference points from yesterday, last week and last month are always visible on the current bar. The optional round-number grid re-anchors to price on every bar, so the closest N round levels above and below are always in view.
What it calculates:
- Previous Day High / Low + optional Midpoint (PDH, PDL, PD MID)
- Previous Week High / Low + optional Midpoint (PWH, PWL, PW MID)
- Previous Month High / Low + optional Midpoint (PMH, PML, PM MID)
- Psychological round-number grid centered on the current price, with adjustable step and count
- Live distance from the current close to every enabled level (in %)
Key features:
- Per-period visibility toggles: enable exactly the levels you use, hide everything else
- Configurable history depth — keep 1 to 20 previous daily / 1 to 12 weekly / 1 to 6 monthly sessions on the chart
- Auto-hide only when the chart timeframe strictly exceeds the level period: Daily levels stay on 1D, Weekly stay on 1W, Monthly never hide
- Lines anchored at the source bar (open time of the previous D/W/M candle), not at the first bar of the new period — you see the actual range the level came from
- Label anti-collision system: each label sits on its own horizontal slot in the right-offset area, with configurable Label Spacing — PDH / PWH / PMH texts never overlap even when their prices are close together
- Compact right-side info table with three columns (level name, price, +/- % distance to close), positioning across 6 chart corners, three text sizes, adjustable background transparency
- Three line styles (Solid / Dashed / Dotted) applied independently to main lines, midpoints and round levels
- Adjustable line width, label size and label visibility for a clean or a dense look
- Line extension modes: Right (default), Both, or None
- Fully customizable color per period — defaults follow a heat-scale palette (Daily = yellow, Weekly = orange, Monthly = red — nearest to furthest horizon)
- Round-number step tuned per asset class (BTC / ETH / FX / index / equities)
- Built-in alerts: PDH / PDL touched, same for weekly and monthly
- Auto-adapts to any instrument and any chart timeframe
Who it's for:
Intraday, scalping and swing traders — SMC / ICT, price-action, order-flow, or classical technicals — who want the exact levels institutional desks pin their orders around, cleanly drawn, without the visual noise of a dozen overlapping tools. Indicator

Pivot Matrix + Zones [AFD]Overview
Pivot Matrix + Zones brings up to three independently configured pivot systems into one coordinated overlay. It combines exact pivot ladders, standard Central Pivot Range (CPR), ATR- or tick-scaled reaction zones, formula-aware cross-pack confluence, retained untested levels, a compact context dashboard, and seven bar-close alert conditions.
Each pack can use a different formula and anchor, allowing combinations such as Daily Traditional, Daily Camarilla, and Weekly Fibonacci to be compared without merging their identities.
The script is designed for descriptive market context. It does not produce trade recommendations, forecasts, performance statistics, or automated orders.
What makes it different
The script's original contribution is its identity-aware coordination of the three packs rather than a simple stack of pivot lines. Each pack has its own formula, anchor, tier ceiling, formula-pivot and CPR visibility, labels, R/S color, and line style. One shared lifecycle model freezes reaction width at origin, carries formula and anchor provenance into retained levels and alerts, and keeps dashboard and drawing state aligned.
Confluence requires overlapping reaction zones from at least two distinct enabled packs. Multiple levels or historical origins from only one pack do not create confluence, and duplicate canonical levels do not inflate the displayed pack count. Exact formula-and-anchor duplicates are marked inactive instead of drawing the same configuration twice.
The implementation and lifecycle logic are original. The named pivot methods use standard published calculations identified below; no third-party indicator source code is reused.
Pivot formulas and anchors
The three packs can use Traditional, Floor Pivots, Fibonacci, Woodie, Classic, DM, Camarilla, Frank Dilernia, Shadow Trader, or ACD Method calculations. Traditional, Fibonacci, Woodie, Classic, DM, and Camarilla use the formulas documented for PulseWire Pivot Points Standard. Floor Pivots uses the standard prior-period high, low, and close ladder through R3/S3; those levels match Traditional through the third tier, while Traditional retains its additional R4/R5 extensions.
Available anchors are Auto, Daily, Weekly, Monthly, Quarterly, and Yearly. Auto uses Daily pivots on chart resolutions through 15 minutes, Weekly pivots above 15 minutes and below one day, and Monthly pivots on daily-or-higher charts.
Each formula stops at its documented native tier. The Through Rn/Sn controls do not create unsupported extension levels. Camarilla calculations use the standard R/S equations and display H/L aliases alongside those names.
Data and session handling
Use daily-based values to request anchor data from the selected symbol context. Exchange default, RTH, and ETH choices are available. For futures, ETH uses the exchange-default electronic context, while RTH uses the named subsession entered in the settings. The default futures RTH name is us_regular, but valid names are symbol-specific.
On intraday charts, turning daily-based values off builds anchor values from the chart feed. This may reflect a visible session more closely, but Quarterly or Yearly anchors can have insufficient intraday history. On daily-or-higher charts, the script continues to use daily-based anchor data.
Most formulas use completed prior-anchor values. Woodie also uses the fixed open of the active anchor. The optional developing next CPR uses the active anchor's changing high, low, and close; it is visually separated and never enters confluence, retained history, or alerts.
CPR and reaction zones
CPR always uses the standard floor-pivot calculation from the completed period's high, low, and close. Its chart labels identify the center as PP, the lower Bottom Central boundary as Lower (BC), and the upper Top Central boundary as Upper (TC). This CPR pivot remains separate from a formula pivot when methods such as Woodie or DM produce a different value.
Reaction zones are symmetric bands around exact pivot prices. Their half-width can use confirmed Daily ATR, completed anchor ATR, or a fixed number of minimum ticks. The width is frozen when an anchor's geometry is created, so an existing zone does not drift as ATR changes inside that anchor. The exact pivot remains the center line; the surrounding fill is a configurable context band.
How to read the chart
Exact center lines are the calculated PP, resistance, support, or CPR levels. Soft surrounding fills show the configured interaction distance; they are not additional pivot levels or predictive outputs.
By default, formula PP lines and matching fills are yellow, Pack A R/S lines and fills are blue, and CPR boundaries and the central range are purple. Active labels identify Formula + Level, while CPR labels distinguish PP, Lower (BC), and Upper (TC). Price text is optional and hidden by default.
Confluence and retained levels
When eligible reaction zones from at least two distinct packs overlap, the script merges the overlap transitively into a confluence band. Each label names the unique contributing formulas and then shows the number of distinct packs represented, such as Traditional + Fibonacci x2. Enable confluence is the master control and is on by default. Turning it off removes confluence zones and labels and suppresses Confluence Touch events while the pivot packs, dashboard, retained-level lifecycle, and other alerts continue. When enabled, confluence color, text color, and projection change the display only, not the overlap or alert identity.
At an anchor rollover, eligible pivot zones that were not touched during their active period can be retained as Untested. A later confirmed wick overlap changes the record to TESTED, freezes and fades its drawing for 20 chart bars, and removes it afterward. Retained drawings are off by default, but lifecycle tracking, dashboard counts, confluence eligibility, and fill alerts continue while the drawings are hidden.
Dashboard
The compact dashboard shows only enabled packs with their selected pivot formula and any non-active status. It then classifies the two-period CPR relationship, reports whether the active-anchor open is above, below, or inside CPR, and shows the nearest retained untested level with the live count across all packs. CPR context follows the first enabled pack in A/B/C order.
Display controls
Active geometry can end at a finite current-bar offset, at the anchor end, or extend right. Confluence has its own finite current-bar, finite label-offset, and extend-right choices. Show confluence only hides non-confluence drawings while confluence is enabled; turning the master control off restores the normal layers. Calculations, the dashboard, lifecycle processing, and all enabled alerts continue.
Formula PP, CPR, labels, displayed prices, label size, line width, reaction shading, tier depth, and retained-level styling can be adjusted independently. Formula PP lines and fills default to yellow, Pack A R/S lines and fills default to blue, and CPR boundaries and the central range default to purple. The Inputs tab follows a numbered workflow and dims controls that do not apply without disabling calculations that still use their state. Prices are hidden by default, and chart labels identify formula and level without A/B/C prefixes; dashboard and alert provenance retain pack identity. Duplicate formula-and-anchor pack configurations are rejected rather than drawn twice.
Suggested setup workflow
Configure Pack A as the primary context, then enable Pack B or C when a second formula, anchor, or both are needed for comparison. Choose the highest native R/S tier, session basis, reaction-width method, and projection for the chart being reviewed. Use the dashboard and labels for identity, Show confluence only to isolate cross-pack overlaps, and retained-level drawings when the untested lifecycle should remain visible.
Create alerts only after the symbol, timeframe, sessions, pack settings, and reaction-width inputs are finalized, because those chart settings define the levels and events being monitored.
Alerts
Seven fixed conditions are available: Active Level Touch, Cross Up, Cross Down, CPR Enter, CPR Exit, Untested Level Filled, and Confluence Touch. Events confirm at chart-bar close. Optional dynamic messages aggregate supported events from the same confirmed bar and include available pack, formula, anchor, level, origin, and price context. PulseWire running alerts retain the script inputs saved when they were created, so delete and recreate an alert after changing Enable confluence or another input.
Limitations
Pivot values and rollover timing depend on the selected symbol, data feed, anchor, session context, and available history. Daily and intraday feeds can differ because of extended hours, futures settlements, and feed construction. An invalid futures subsession name can fall back to the exchange default, so confirm the requested name in Inputs and compare the resulting pivots with the intended session.
Reaction zones and confluence visualize proximity; they do not predict a response. Untested means the configured zone was not touched during its tracked active period; it does not imply that price must revisit or react to it.
Use a standard time-based chart when evaluating touches, crosses, and alerts because those events use the chart's OHLC bars. Alerts still depend on PulseWire alert creation, chart settings, feed updates, and bar-close processing.
The script keeps bounded histories of up to 30 live untested levels and 20 fading tested markers, with older retained records removed as those limits are reached. Confluence display is capped at 20 zones.
This is a public open-source Pine Script v6 indicator with a Mozilla Public License 2.0 source header. PulseWire's open-source reuse rules apply on-platform before the license terms. It is an educational charting tool and is not financial advice. Indicator

Confluence Suite: Pivot Points SuperTrend Confluence Suite: PP SuperTrend + VWAP + MACD + RSI + ADX + Volume
A multi-factor confluence dashboard built around Pivot Point SuperTrend, designed for futures trading on any timeframe.
Overview
This indicator combines six widely-used tools into a single confluence system with a live on-chart dashboard:
Pivot Point SuperTrend — the core trend/entry engine, using pivot highs/lows instead of a simple moving midpoint to anchor its ATR bands
VWAP — session-anchored, used to gauge whether price is trading with or against the volume-weighted average
MACD — momentum confirmation and early continuation signals
RSI — momentum/overbought-oversold context
ADX / DMI — trend-strength filter, so signals can be weighted by whether the market is actually trending or chopping
Volume — flags above-average participation and volume spikes
Higher-timeframe (HTF) bias filter — checks trend direction on a higher timeframe (EMA-based or ATR SuperTrend-based) before treating a signal as confirmed
All of this feeds a compact on-chart dashboard table that shows the live bias of every component at a glance, plus a running bullish/bearish confluence score.
How signals work
Raw flip signals — small triangles mark every Pivot Point SuperTrend direction flip
Confirmed signals — larger LONG/SHORT labels fire when a flip is also aligned with the HTF bias filter (and optionally ADX strength), meant to filter out lower-quality flips
Continuation signals — smaller circular markers that fire while an existing trend is still active, triggered by a pullback-and-reclaim of a short EMA, an RSI reset through 50, or a MACD cross (configurable), so the tool isn't limited to a single signal per swing
Dashboard
A table (position and size configurable) shows the current bias of PP SuperTrend, VWAP, MACD, RSI, ADX, Volume, HTF Bias, and Continuation mode, along with an aggregate bull/bear confluence count — useful for judging signal quality at a glance rather than reading each indicator separately.
Inputs
Every component is independently configurable: Pivot Point period, ATR factor/period, VWAP source, MACD lengths, RSI length/levels, ADX/DMI length and strength threshold, volume MA length and spike multiplier, HTF timeframe and bias method, continuation trigger type and cooldown, and dashboard placement/size. Built-in alert conditions are included for raw flips, confirmed signals, and continuation signals.
How to use it
This is a discretionary confluence tool, not a standalone automated strategy. It's best used to:
Gauge whether a Pivot Point SuperTrend flip has broader support from momentum, volume, and higher-timeframe trend before acting on it
Track ongoing trend health via the continuation signals and dashboard, rather than only reacting at the initial flip
Filter out lower-quality setups using the ADX and HTF alignment options
As with any indicator, backtest and forward-test on your specific instrument and timeframe before trading it live, since default settings won't be optimal for every market or volatility regime.
Credits and originality
The core trend engine is an original implementation of the Pivot Point SuperTrend technique, a widely used community approach that anchors SuperTrend-style ATR bands to pivot highs/lows rather than a simple moving midpoint — a method popularized on PulseWire by LonesomeTheBlue. This script's contribution is combining that engine with VWAP, MACD, RSI, ADX, volume, an HTF bias filter, a continuation-signal engine, and a unified live dashboard into one integrated confluence tool, rather than requiring multiple separate indicators on the chart.
Disclaimer
This script is provided for educational and informational purposes only and does not constitute financial advice. Trading futures involves substantial risk of loss and is not suitable for all investors. Past performance of any strategy or setup does not guarantee future results. Always do your own research and risk management before trading. Indicator

S&R + Trends | Polytrends Method (gracefultrading)SUPPORT & RESISTANCE + TRENDS | POLYTRENDS METHOD
Maps market structure automatically: every trend is detected, classified, and turned into support/resistance levels that know their own state. Built around the polytrends method of reading structure through trends and progression. This is my own independent, open-source interpretation of the framework, coded from scratch based on publicly available material. For educational purposes only — not financial advice.
TRENDS AND CONTAINMENT
Every pivot is compared against the previous pivot in the same direction. A swing that pushes past the prior trend is a valid continuation and draws in the trend colour. A swing that fails to exceed it — a lower high on the way up and or a lower low on the way down — is a containment trend, drawn in its own colour and style.
The current in-progress leg draws dashed, so you always see the swing being built. Pivot detection reacts to wick pullbacks, close-breaks of the prior candle, structural breaks, and same-bar reversals — not fixed-length lookbacks.
LEVELS WITH STATE
Each trend leaves a level at the candle body, committed only after the next opposite pivot confirms it. Every label shows the level's current state at a glance:
G — gained
SG — support gained
L — lost
RL — resistance lost
State updates bar by bar as price closes through or reclaims a level. An optional break/test offset (in ticks or percent) means a level only counts as gained, lost, or tested once price clears it by your buffer.
PAIRED STRUCTURE
Levels come from trends and draws in colour-matched pairs from a 12-colour set, each pair originating from the same piece of structure.
Tested levels draw in a different line style from untested ones and can be hidden entirely; when hidden, you choose whether each pair still shows its tested partner so pairs stay intact. At high relevance settings, clustered tested levels within a tick distance thin down to the strongest one.
POLYBOUNDS
Experimental.
A corner readout that reduces the chart to the two prices that matter:
▲ hold above — the key gained level below price. Bulls are in control while price holds above it.
▼ hold below — the key lost level above price. Bears are in control while price holds below it.
Each line is coloured to match its pair on the chart, and the box only quotes levels that are actually drawn. A Trend Day row (1H and below) reads whether the session is shaping up bullish, bearish, or rangebound based on where price sits against the bounds.
SETTINGS
Levels above/below counts. A relevance dial controlling how deep into history levels are pulled from (50 bars to full history). Independent colours, styles, and widths for trends, containment trends, and levels. Configurable label background and twelve pair colours. A right-offset so all level rays align cleanly ahead of price.
HOW TO READ IT
The market is always in progression — always attempting either a new high or a new low. Every swing this indicator draws is one attempt in that sequence, and every level is the footprint it leaves behind.
Progression rule: in an uptrend, price should not lose the previous swing low if it intends to go higher — losing it shifts probability toward the opposite objective. Mirror logic in a downtrend. Watch the level states: a support flipping from SG to L is that shift happening in real time.
Containment is the early warning. A containment trend (lower high in an uptrend, higher low in a downtrend) means the progression is failing before any level has broken. Trend weakness is the warning; level failure is the confirmation.
Levels mark accepted value. They're built from candle bodies, not wicks — the goal is to see where the market accepted or rejected value, which is why the break/test offset exists to filter wick noise.
Untested levels react first. Fresh levels are the highest-priority reaction zones; tested levels remain valid structure and become targets when price is nearer to them. The pair colours show you which structure each level came from.
Timeframes nest. Higher-timeframe levels are destinations; lower-timeframe levels are the navigation between them. Significant trends typically start from higher-timeframe pivots — the biggest swings on your chart usually trace back to them. RTH-formed levels tend to carry the most weight.
Works on any symbol and timeframe; the Trend Day readout is built for intraday. This is a tool for reading structure, not a signal service — nothing replaces risk management. Indicator

Previous Day Pivot Path - Intraday Support ResistancePrevious Day Pivot Path - Intraday Support Resistance
Overview
Previous Day Pivot Path is an intraday reference-level study built from the confirmed OHLC values of the previous selected trading day. It plots the current day's central pivot and support/resistance levels, then records the first chart bar in which each level is reached and assigns a compact arrival rank.
The script is intended for traders and researchers who want to identify the current day's mathematically derived reference levels without converting them into buy/sell instructions. It does not predict whether a level will hold or break, and it does not present win-rate, profitability, or performance claims.
What makes this implementation different
1. First-arrival path instead of static lines only
Each tracked level begins the day as pending. When the selected price source first reaches it, the script records an arrival rank and can place a numbered badge at the corresponding time.
If more than one previously unreached level is reached in the same chart bar, those levels receive the same rank. OHLC bars do not reveal the true tick-by-tick order inside that bar, so the script deliberately avoids inventing an intrabar sequence that the available data cannot prove.
2. Reached-level fading and next-level focus
Reached levels can fade automatically. The nearest unreached level can receive stronger line emphasis and an optional translucent focus halo. After all displayed levels have been reached, the focus can fall back to the nearest level or remain inactive.
This visual hierarchy separates completed parts of the day's path from levels that remain unvisited, while preserving the exact horizontal prices.
3. Confirmed previous-day data
All daily formula inputs are requested from the last completed daily bar. Open time, close time, open, high, low, and close are all offset by one daily bar before they are used. The current developing daily high, low, or close is never used in the pivot formulas.
The script also checks that the completed daily session is chronologically aligned with the selected intraday source day before it initializes new levels or arrival events.
4. Source-session freshness protection
Three OHLC source modes are available:
- Automatic: uses chart-context OHLC on standard candles and standard-symbol OHLC on non-standard charts.
- Chart context: preserves the chart's ticker modifiers, session, adjustment, and chart-type context.
- Standard symbol: removes non-standard ticker modifiers and uses standard market OHLC.
When the selected standard source has no bar aligned with the current chart timestamp, the script does not reuse an old forward-filled OHLC value. Arrival events pause, and existing drawings remain fixed at the last valid source bar until aligned data becomes available again.
5. Session-aware day handling
The script uses a trading-day key suitable for markets whose sessions cross midnight. This prevents a simple calendar-date change from being treated as the session boundary on many overnight Forex and futures markets.
If the first loaded dataset begins after the selected source day's opening bar, the earlier first-arrival sequence is unknowable. For that one partial day, arrival tracking and open-dependent features are conservatively bypassed rather than reconstructed from incomplete history.
6. Time-anchored persistent drawings
Persistent lines, boxes, right-edge labels, and arrival badges use UNIX-time coordinates. This avoids relying on very old bar_index coordinates on dense second charts and keeps historical drawings independent of the number of bars elapsed since their creation.
7. Multiple formula families plus an editable research mode
The script includes:
- Traditional
- Classic
- Fibonacci
- Camarilla
- Custom research
The custom mode lets users select the pivot center and edit three previous-range multipliers. The multipliers are sorted from smallest to largest before assignment to R1/S1, R2/S2, and R3/S3.
8. Price-grid and duplicate-level controls
Calculated levels can remain raw, round to the nearest minimum tick, or round outward so resistance is rounded upward and support downward. When rounding produces the same price for multiple logical levels, the script can merge them into one line and one badge with a combined code such as P/R1.
9. Researchable arrival definitions
Users can define a first arrival with:
- Wick range
- Candle body range
- Confirmed close crossing
Optional tolerance can be exact, a number of ticks, or a percentage of the previous-day range. Gap crossings can be counted or ignored. Arrival ranking can follow only displayed levels, the selected depth, or all levels produced by the formula.
10. Deliberate chart hygiene
The default presentation prioritizes P, R1/S1, and then outer levels through width, line style, transparency, and optional reached-level fading. Right-edge labels support automatic text contrast and horizontal lane staggering when prices are close.
Optional context references include:
- Central Pivot Range (CPR)
- Previous-day high and low (PDH/PDL)
- Previous-day close (PDC)
- Current selected-source day open
- Opening bracket between the nearest displayed levels above and below the day open
- Compact session brief
All context elements can be disabled independently.
Formula reference
Let O, H, L, and C be the confirmed previous selected daily bar, and let Range = H - L.
Traditional
P = (H + L + C) / 3
R1 = 2P - L
S1 = 2P - H
R2 = P + Range
S2 = P - Range
R3 = H + 2(P - L)
S3 = L - 2(H - P)
Classic
P = (H + L + C) / 3
R1 = 2P - L
S1 = 2P - H
R2 = P + Range
S2 = P - Range
R3 = P + 2Range
S3 = P - 2Range
Fibonacci
P = (H + L + C) / 3
R1/S1 = P +/- 0.382 x Range
R2/S2 = P +/- 0.618 x Range
R3/S3 = P +/- 1.000 x Range
Camarilla
P = (H + L + C) / 3
R1/S1 = C +/- 1.1 x Range / 12
R2/S2 = C +/- 1.1 x Range / 6
R3/S3 = C +/- 1.1 x Range / 4
Custom research
The center can be HLC3, HLCC4, OHLC4, midpoint, or previous close. Three editable multipliers are applied symmetrically to the previous-day range after being sorted from smallest to largest.
Arrival timing
Confirmed bar
This is the reproducible default. An arrival is recorded only after the chart bar is confirmed.
Live bar
Live timing is available for wick arrivals. Intrabar-persistent state latches a wick touch across realtime updates of the open bar. Because all levels first reached inside the same chart bar share one rank, the script does not claim a tick-level order that bar data cannot establish.
Body and close-cross modes automatically use confirmed bars to avoid transient open-bar signals.
Non-standard charts
Heikin-Ashi, Renko, Kagi, Line Break, Point & Figure, and Range bars can be synthetic or approximate. Automatic mode uses standard-symbol OHLC for the level and event source on non-standard charts, but arrival events are paused by default. Users can explicitly allow them for research after accepting the chart-type limitation.
The script is designed for time-based intraday charts. Tick charts and daily-or-higher charts are intentionally rejected with a visible notice rather than processed with ambiguous session assumptions.
Language and user interface
English is the default dynamic chart language. Selecting 日本語 changes dynamic labels, tooltips, safety notices, session-brief text, and language-aware alert() messages. Input names remain short bilingual labels so both English and Japanese users can configure the study.
Key Japanese UI translations:
未到達 = Pending
到達 = Reached
確定足 = Confirmed bar
ライブ・ヒゲ保持 = Live wick latch
前日値幅 = Prior range
次の未到達 = Next unreached
準備完了 = Ready
ソース足なし = Source bar unavailable
日次データ整合待ち = Aligning daily data
合成足イベント停止 = Synthetic events paused
International level codes such as P, R1, S1, PDH, and PDL remain unchanged in both languages.
Alerts
Neutral alert conditions are available for:
- Any pivot's first arrival
- P, R1, S1, R2, S2, R3, and S3 first arrivals
- Confirmed close crossing above or below P
An optional language-aware alert() call can include the reached level codes, shared rank, symbol, timeframe, and selected calculation method. Alerts describe observable level events only; they are not trade recommendations.
Suggested workflow
1. Use a standard candlestick intraday chart for the most direct interpretation.
2. Keep Automatic, Traditional, Nearest tick, Confirmed bar, and Wick for the conservative defaults.
3. Select the desired level depth and optional previous-day references.
4. Enable live timing only when intrabar wick monitoring is required.
5. Create alerts from the neutral first-arrival or confirmed P-cross conditions as needed.
6. Use Market Replay and several symbols/session types before relying on customized settings.
Important limitations
- A previous-day pivot is a mathematical reference, not a prediction that price will reverse or continue.
- Data vendors can revise historical bars, and exchange session definitions can differ across instruments.
- Standard-symbol mode can intentionally have no aligned bar outside its selected session. In that case, events pause instead of carrying stale OHLC forward.
- The first loaded partial source day cannot provide a complete earlier arrival sequence.
- A chart bar cannot prove the order of multiple level touches inside that bar; those first touches share one rank.
- Live wick tracking reacts to realtime updates. Reloaded historical bars contain finalized OHLC, not the original tick stream.
- Synthetic chart bars may not represent executable market prices. Arrival tracking on such charts is disabled by default.
- The study does not provide entries, exits, position sizing, stop placement, or performance statistics.
日本語説明
概要
Previous Day Pivot Pathは、選択したデータソースの確定済み前日OHLCから、当日のP・R・Sを自動計算して描画する日中足向けインジケーターです。
単に水平線を表示するだけではなく、各水準へ当日初めて到達したチャート足を記録し、到達順を番号で表示できます。売買推奨、勝率、収益性、将来予測を提示するものではなく、当日の数理的な節目と到達経路を研究するためのツールです。
主な特徴
初回到達経路
各水準は当日開始時に未到達状態となり、選択した価格ソースが初めて到達すると順位を記録します。同じチャート足の中で複数水準へ初回到達した場合、その足の内部順序はOHLCだけでは証明できないため、すべて同順位とします。
確定前日OHLC
日足リクエストでは、時刻・始値・高値・安値・終値のすべてを1本前へオフセットして使用します。形成中の日足高安や終値はピボット計算に使いません。
ソース欠損時の安全処理
標準銘柄ソースに現在時刻と一致する足がない場合、過去のOHLCを現在足へ持ち越して判定しません。到達イベントを停止し、既存描画を最終有効ソース足で固定します。
夜間市場を考慮した日付管理
Forexや先物など、セッションが日付をまたぐ市場に対応するため、単純なカレンダー日ではなく取引日キーを使用します。
秒足で古くなった描画への耐性
長期間保持する線、ボックス、到達バッジ、右端ラベルはUNIX時刻座標で管理します。高密度な秒足でも、古いbar_index座標による制限へ近づきにくい設計です。
5種類の計算方式
Traditional、Classic、Fibonacci、Camarilla、Custom researchを選択できます。Custom researchでは中心値と3つの前日値幅倍率を変更できます。
到達判定の研究性
ヒゲ、実体、確定終値通過から選択でき、許容幅は厳密一致、ティック数、前日値幅比率から設定できます。ギャップ通過を到達扱いにするかも切替可能です。
視認性
到達済み水準のフェード、最寄り未到達水準の強調、フォーカスハロー、自動文字コントラスト、近接ラベルの横方向段組みを実装しています。
CPR、前日高安、前日終値、当日始値、始値ブラケット、セッション概要は個別に表示・非表示を変更できます。
推奨初期設定
OHLC source Automatic
Pivot method Traditional
Level rounding Nearest tick
Arrival timing Confirmed bar
Arrival basis Wick
Touch tolerance Exact
Arrival universe Displayed levels
Synthetic chart events Off
Auto-stagger labels On
Auto contrast On
Focus halo On
ライブ中のヒゲ到達を監視するときだけ、Arrival timingをLive barへ変更してください。実体・終値通過は安全のため確定足判定になります。
言語切替
Language / 言語でEnglishまたは日本語を選択できます。日本語へ切り替えると、チャート上の動的ラベル、ツールチップ、安全性メッセージ、セッション概要、言語連動alert()が日本語になります。
P、R1、S1、PDH、PDLなどの国際共通コードは両言語で同じ表記です。
重要な注意事項
- ピボットは数理的な参照水準であり、反転やブレイクを保証しません。
- 読み込み初日が選択ソースの日中途中から始まる場合、それ以前の到達順は復元できないため、その日だけ経路追跡を停止します。
- 1本の足内で複数水準へ触れた正確な順序はOHLCから判定できないため、同順位になります。
- 標準銘柄ソースのセッション外では、古い価格を流用せず到達判定を停止します。
- Heikin-Ashi、Renko、Kagiなどの合成足では、到達イベントを既定で停止しています。
- Live barのヒゲ到達はリアルタイム更新に反応します。再読み込み後の履歴足には最終OHLCが残り、当時のティック列そのものは残りません。
- 本インジケーターはエントリー、決済、ストップ、ロット、成績表を提供しません。 Indicator

Options Decision Dashboard CPR, Expected Move & Day TypeOverview
An index option buyer loses to theta unless the day actually moves. So the first question isn't "which way?" — it's "will this session trend at all, and is implied volatility cheap enough to pay for the ride?"
This dashboard answers that in one panel, before the session gets going:
DAY TYPE — from the Central Pivot Range. Narrow CPR historically precedes trending days; wide CPR precedes rangebound ones.
DIRECTION — from where price sits against the CPR, plus the two-day pivot-range relationship.
THE PRICE OF THE BET — from the volatility index: the expected move it's charging you for.
TIME — days to expiry, and the theta context.
It then states a plain-language verdict — BUY CE / BUY PE / SELL PREMIUM / STAY OUT — with the CPR and floor-pivot levels drawn on price, targets and invalidation marked.
What makes it different
Every CPR script asserts that a narrow CPR means a trending day. None of them check.
This one forward-tests its own core claim. Each session's CPR type is logged at the open, and at the close the day is scored as trending or not (by directional efficiency: how much of the day's range price actually closed away from its open). The panel then reports the trend-day hit rate for narrow-CPR sessions against the unconditional base rate, with a Wilson 95% lower bound.
If narrow CPR carries no edge on your instrument, the dashboard says so — and you should discount its day-type logic accordingly. It is built to be able to tell you it doesn't work.
Why the four layers are ONE tool
An option-buying decision needs all four at once:
Day type without volatility pricing tells you to buy an option that may be too expensive.
Volatility pricing without day type tells you it's cheap without telling you whether it will move.
Either without the levels gives you no entry, target or invalidation.
All three without the calibration is just another confident indicator.
Remove one and the decision isn't decidable.
How it works
CPR — Pivot = (H+L+C)/3 · BC = (H+L)/2 · TC = 2·Pivot − BC, from the prior session. Width is normalised as a % of the pivot and rank-scored against its own recent history, so "narrow" means narrow for this instrument — not a hard-coded point value. (10 points is narrow on NIFTY and wide on a mid-cap.)
Two-day relationship — higher / lower / overlapping / inside / outside value: the classic Pivot-Boss classifications, used as the directional prior.
Expected move — EM = Spot × (IV/100) × √t, shown for the day and to expiry, and drawn as a band. If the session stays inside that band, an option buyer typically loses to theta — which is exactly the trap this tool exists to flag.
Verdict — combines day type, direction, IV percentile and days-to-expiry into one call. Expensive IV can veto a buy; expiry-day theta can veto it too.
How to use it
Read it top-down at the open. Day type tells you whether to buy options at all. Direction tells you which side. Expected move tells you whether the premium is worth it. The verdict is the summary; the levels are your entry, target and invalidation.
Then — before you trust any of it — read the calibration row. If narrow CPR has no proven edge on this symbol, the day-type logic isn't carrying its weight here.
This is decision support. It does not place trades and it is not advice.
Data & scope
Built for NSE:NIFTY / BANKNIFTY index futures on intraday timeframes (5m or 15m is the CPR norm). Needs a volatility index for the expected-move layer (NSE:INDIAVIX by default); without one, that layer switches off cleanly and the rest still works.
Strike step, expiry weekday and volatility symbol are all inputs — so it runs on any index-options market. Set the expiry weekday to match your contract: the exchange has changed the index expiry day before, and this script does not assume, it asks.
On a daily+ chart the panel tells you to switch to intraday rather than showing a confident verdict built on a meaningless CPR.
Non-repainting
Prior-session values are requested as on the daily series, so they're settled before the session opens and never move. The calibration harness logs at the session open and resolves at the session close, on confirmed bars only — a session is graded on the first bar of the next session, from completed data. Intraday readings (price vs level, day-so-far range) update as the session forms; that's a live read, not a repaint.
Concept credits
Central Pivot Range and the two-day pivot-range relationships — Frank Ochoa (Secrets of a Pivot Boss). Floor pivots (R1–R3 / S1–S3) — long-standing public trading-floor practice. Expected move from implied volatility — standard option-pricing arithmetic (Black-Scholes-Merton lineage). Wilson score interval — Edwin B. Wilson. ATR — J. Welles Wilder.
The day-type calibration harness, the expected-move comparison and the verdict engine are the author's own. No third-party Pine code is reused.
Honest limits
The CPR day-type claim is folklore until measured — which is exactly why this script measures it. Calibration figures are in-sample, with no costs, and a proven in-sample edge is not a guarantee out-of-sample. The expected move is a one-standard-deviation estimate under a lognormal assumption; real index returns have fat tails and gaps. The verdict describes conditions — it is not a recommendation — and it says nothing about strike selection, position sizing or risk.
Options carry the risk of TOTAL loss of premium. Nothing here predicts price.
Disclaimer
Research and educational tool only. Not financial advice, not a recommendation, no guarantee of results. Options trading carries a risk of total loss. Test out-of-sample and make your own decisions. The author accepts no liability. Indicator

Support - Resistance & Fibonacci [StrixEDGE]StrixZONE automatically detects Support and Resistance zones from price structure and overlays Fibonacci retracement levels — with a deliberate visual separation between the two. S/R zones are drawn historically (left of current price), while Fibonacci levels project into the future (right of current price). This separation ensures zero overlap and a clean, readable chart.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW IT WORKS
The indicator operates on two independent analytical layers:
LAYER 1 — SUPPORT & RESISTANCE (Historical)
Automatically detects swing highs and swing lows using configurable pivot lookback detection. The most recent three resistance levels (R1, R2, R3) and three support levels (S1, S2, S3) are tracked and displayed as colored zones extending across the historical portion of the chart, stopping at the current bar.
R1/S1 is the most recent and visually strongest. R2/S2 and R3/S3 progressively fade, reflecting their age and diminishing relevance. Resistance zones are red, support zones are teal. Each zone has a configurable thickness based on ATR, creating a price band rather than a single line — because in practice, support and resistance are zones, not exact prices.
LAYER 2 — FIBONACCI RETRACEMENT (Forward Projection)
Calculates the highest high and lowest low over a 120-bar lookback and draws seven standard Fibonacci levels between them: 0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%. All levels project forward from the current bar by a configurable number of bars (default 20), showing where key retracement levels sit ahead of price.
The 50% and 61.8% levels are drawn with thicker solid lines. All others use thinner dashed lines. The 50%–61.8% region is highlighted as the Golden Zone — the area where retracements most frequently find support or resistance in trending markets. Each level displays its exact price at the right edge.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VISUAL SEPARATION — WHY IT MATTERS
Most indicators that combine S/R with Fibonacci draw everything on top of the same price area, creating visual clutter that makes the chart harder to read. StrixZONE deliberately separates the two layers in time:
→ S/R zones occupy the left side of the chart (historical price action where the levels were established)
→ Fibonacci levels occupy the right side (projected forward where price is heading)
→ The current bar is the boundary — S/R stops here, Fibonacci starts here
This means you can see at a glance where historical structure sits versus where retracement math says the next key levels are. When a Fibonacci level aligns with a nearby S/R zone, that confluence is immediately visible without the two drawing systems overlapping.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SUPPORT & RESISTANCE DETAILS
Detection uses the standard pivot high/low method with a configurable lookback (default 10 bars). A swing high requires the bar's high to be higher than all bars within the lookback window on both sides. The same logic applies in reverse for swing lows.
Levels shift automatically as new pivots are detected. When a new resistance pivot forms, R1 becomes R2, R2 becomes R3, and the new level takes the R1 position. This ensures the most current market structure is always prioritized.
Visual hierarchy:
→ R1 / S1 — most opaque, largest label (most recent, most relevant)
→ R2 / S2 — slightly faded (still relevant but older)
→ R3 / S3 — most faded (historical context, may be invalidated)
Zone width is ATR-based (default 0.2× ATR), so zones automatically adapt to the instrument's volatility. A high-volatility asset gets wider zones; a stable asset gets tighter zones.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FIBONACCI DETAILS
Levels are calculated from the absolute highest high and lowest low over the lookback period (default 120 bars). This captures the dominant price range for retracement analysis.
All seven levels are drawn as horizontal lines projecting right from the current bar:
→ 0% and 100% — range boundaries (dashed, subtle gray)
→ 23.6% and 78.6% — minor retracement levels (dashed)
→ 38.2% — standard retracement (dashed)
→ 50% — midpoint (solid, thick, yellow)
→ 61.8% — golden ratio (solid, thick, orange)
The Golden Zone (50%–61.8%) is filled with a translucent highlight and labeled. This is the area where price most commonly reverses during healthy retracements in trending markets.
Each level includes a price label at the right edge showing the percentage and exact price value, making it easy to set orders at these levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DASHBOARD
A compact table in the top-right corner displays:
→ R1 — nearest resistance price
→ S1 — nearest support price
→ FIB 50% — the midpoint price for quick reference
→ POSITION — current price as a percentage of the Fibonacci range (e.g., 72% means price is in the upper portion of the range)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
Support & Resistance:
• Pivot Lookback (default 10) — bars required on each side to confirm a swing. Higher values detect fewer but more significant levels.
• Zone Width (default 0.2 ATR) — thickness of each S/R zone. Increase for wider zones on volatile instruments.
Fibonacci:
• Fibonacci Bars Right (default 20) — how far the levels project into the future.
• Golden Zone toggle — show or hide the 50–61.8% highlight.
Display:
• Show S/R Zones — toggle the entire S/R layer.
• Show Fibonacci — toggle the entire Fibonacci layer.
• Show Dashboard — toggle the status table.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT MAKES THIS ORIGINAL
StrixZONE is not simply S/R lines drawn next to Fibonacci lines. Its originality lies in the deliberate temporal separation: S/R zones render historically from where they were established, while Fibonacci levels project exclusively into the future. This design choice eliminates the visual clutter that occurs when both systems draw over the same price bars — a problem common to multi-layer overlay indicators. The ATR-adaptive zone width, the three-tier visual hierarchy for level relevance, and the clean forward projection of Fibonacci create a tool that is structurally distinct from standard S/R or Fibonacci indicators.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RECOMMENDED USE
Designed for all timeframes and all markets with OHLC data: crypto, forex, stocks, indices, commodities. Particularly effective on 15-minute to 4-hour charts for day and swing trading. Works well as a standalone structural analysis tool or alongside momentum indicators like StrixEDGE or StrixPULSE.
Look for confluence: when a Fibonacci level (especially 50% or 61.8%) sits near an S/R zone, that price area carries double significance as a potential reversal or breakout point.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERTS
Two alert conditions available:
→ Resistance Breakout — price closes above R1
→ Support Breakdown — price closes below S1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
This indicator is a technical analysis tool, not financial advice. No indicator guarantees profitable outcomes. Past performance does not indicate future results. Always apply proper risk management. Indicator

Signature Pivots: Conviction & DivergenceSignature Pivots: Conviction & Divergence
Every chart prints dozens of swings and most of them are noise. This
tool has one job: help you pick the pivots worth anchoring analysis
on. It finds confirmed swing highs and lows, filters out the minor
wiggles, stamps each survivor with a time signature, grades it by
volume conviction, and warns when a new extreme was made on hollow
volume. It draws and grades structure - it never tells you to buy or
sell.
How pivots are found
A swing high is a bar whose high is the highest of N bars on either
side (N is the "Pivot strength" input; swing lows mirror it). A pivot
can therefore only confirm N bars after the fact - that is detection
lag, not repainting, and once a marker prints it stays. On top of that
sits a size filter: a new pivot must be at least "Min swing size" ATRs
away from the previous kept pivot, so a daily chart shows the swings
that matter instead of every five-bar fractal. Set it to 0 if you want
them all.
The signature
This is the unusual part. Each pivot's UTC timestamp is converted,
through sidereal time at the market center you choose, into the degree
of the zodiac rising on the eastern horizon at that exact moment - the
Ascendant. That gives a number from 0 to 360 which sweeps the full
circle once every 23 hours 56 minutes. It depends only on the clock
and the location, never on price, so the same moment always maps to
the same number on every chart and timeframe. In plain terms, it tags
each pivot with where in the daily rotation cycle it formed. The old
observation being tested here is that turns tend to recur at the same
phase of that cycle.
Matching
The last 24 pivots (a setting) are kept in memory. Each new pivot's
signature is compared against stored pivots of the same kind only -
highs against earlier highs, lows against earlier lows - measured
correctly around the 360 ring, so 359 and 1 are two degrees apart, not
358. If the nearest same-kind signature sits within the match
tolerance (1 degree by default), the pivot is flagged: its label
highlights with a star, a dotted line links it back to the pivot it
repeats, and an alert fires. A match is a candidate worth studying,
not proof of anything - the defaults are deliberately strict so that a
star stays rare.
Conviction and divergence
Volume flow is measured with on-balance volume: each bar's volume
added on an up close, subtracted on a down close. A pivot's conviction
is simply whether OBV stood above or below its own moving average at
the pivot bar - was volume flow supporting the move that made the
swing, or fighting it. Divergence looks at consecutive extremes: a new
swing high above the previous one, with OBV lower than it was at the
previous high, prints a bearish divergence mark (price stretched,
volume flow did not follow); new lows mirror that for bullish
divergence.
Why these three live in one tool: they are three questions about the
same object. Did this pivot form at a recurring phase of the rotation
cycle? Did volume back the swing? Was the extreme hollow? Read
together on one label, they turn a plain zigzag into a graded list of
anchor candidates.
Reading the chart
H and L mark confirmed swing highs and lows. The caret after the
letter is conviction at that pivot (^ above the OBV average, v below).
The number is the signature in degrees. A star and highlighted color
mean a signature match, with a dotted line back to the earlier pivot
it repeats. "Div" marks print at divergent extremes. The zigzag
connects consecutive pivots so the structure stays visible. The HUD
shows the live conviction state, the last signature, the last
high-value pivot, and running pivot and match counts - event counts,
not performance figures.
Settings worth knowing
Pivot strength and Min swing size control how selective the swing
detection is. Match tolerance and Match memory control how strict a
"repeat" must be - loosening either will flag more pivots, and past a
point most of those extra stars are coincidence, which is why the
defaults are tight. The Market Center sets the geographic reference
for the signature; keep one consistent choice across your charts so
signatures stay comparable (for 24/7 crypto any consistent center
works). "Only show high-value pivots" hides everything except matches
if you want the quietest possible chart.
Using it
It runs on any timeframe, with one honest caveat: the matching layer
is most alive on intraday charts. On daily bars every pivot stamps at
the same time of day, so signatures drift about a degree per day and
repeats are naturally rare and far apart - on a daily chart this tool
is mainly a swing, conviction and divergence grader. Use it as a
filter, not a trigger: when you need a swing to anchor other work on,
prefer the starred pivots, and among those prefer the ones whose
conviction agreed with the swing and that carry no divergence warning.
Alerts are provided for a high-value pivot, bullish and bearish
divergence, and each new confirmed swing.
What is original here
Swing detection, OBV and divergence are standard public techniques.
The original work is the signature layer - the rising-degree
computation runs entirely on the chart from the timestamp, with no
external data - together with the ring-correct same-kind matching and
its pivot-to-pivot links, and the fusion of the three readings into a
single graded label. Written from scratch in Pine v6; no open-source
code was reused.
Honest notes
Pivots confirm late by construction. Some matches will always be
coincidence; the tolerance and memory settings exist to keep that in
check, and a star is an invitation to look closer, nothing more.
Different market centers give different signature numbers, so keep
yours consistent. Educational study tool; the HUD counts events, not
wins; no performance claims; not financial advice. Indicator

Top & Bottom Finder XL# Top & Bottom Finder XL
## User's Guide
---
# Overview
**Top & Bottom Finder XL** is a market exhaustion indicator.
Its purpose is **not** to predict every swing high and swing low.
Instead, it attempts to identify **high-probability exhaustion points** where price has become statistically extended and has a greater chance of reversing.
Unlike traditional pivot indicators, this indicator combines several independent filters:
* Structural pivots
* Momentum (RSI)
* Trend extension
* Volume
* Range expansion
Only when the selected filters agree does the indicator produce a **Confirmed Top** or **Confirmed Bottom**.
---
# How the Indicator Works
Every signal goes through the following process:
### Step 1 — Find a Pivot
The indicator first looks for a legitimate swing high or swing low using PulseWire's pivot algorithm.
A pivot is not confirmed until the required number of right bars has completed.
Example:
Left = 100
Right = 5
means:
* current high must be higher than the previous 100 bars
* and remain the highest point for the next 5 bars
Only then is it officially a pivot.
---
### Step 2 — Apply RSI Filter (Optional)
Purpose:
Avoid taking pivots that occur without momentum extremes.
A top requires
RSI ≥ Top Threshold
A bottom requires
RSI ≤ Bottom Threshold
Default:
Top = 65
Bottom = 35
Disabling this filter means RSI is ignored completely.
---
### Step 3 — Apply Trend Extension Filter (Optional)
Purpose:
Avoid taking pivots that are too close to the trend.
The indicator measures:
Distance from EMA
using ATR.
Formula:
Distance =
Price − EMA
divided by ATR
Example
EMA = 100
ATR = 2
Price = 110
Distance =
10 ÷ 2
= 5 ATR
If Minimum ATR Extension = 5
the signal passes.
Otherwise it is rejected.
This filter is extremely effective at removing mediocre signals.
---
### Step 4 — Confirmation Filter
This determines whether the pivot occurred with unusually strong participation.
There are four modes.
## Off
No confirmation required.
Every pivot that passes the other filters becomes confirmed.
Produces the most signals.
---
## Volume Only
The pivot bar must have
Volume >
Average Volume × Multiplier
Default
50-bar average
Multiplier = 2
---
## Range Only
The pivot candle must have
Range >
Average Range × Multiplier
This looks for unusually large candles.
---
## Volume + Range
The strictest mode.
Requires BOTH:
* high volume
* large candle
Produces the fewest signals.
Usually the highest quality.
---
# Timeframe Settings
## Calculation Timeframe
Allows calculations on another timeframe.
Example
Chart = 15 minute
Calculation = 1 hour
Signals are calculated from hourly data but displayed on the 15-minute chart.
Leave blank to use the current chart timeframe.
---
# Pivot Settings
## Pivot Bars Left
Controls how significant the pivot must be.
Small values
More signals
Less significant
Large values
Fewer signals
More important turning points
Default
100
---
## Pivot Bars Right
Controls confirmation delay.
Larger values
Later signals
Higher confidence
Smaller values
Earlier signals
More false signals
Default
5
---
# Signal Filters
## Use RSI Filter
Enable or disable RSI completely.
---
## RSI Length
Default
14
Controls how RSI is calculated.
---
## Top RSI Threshold
Minimum RSI required for tops.
Default
65
Higher values
Fewer signals
---
## Bottom RSI Threshold
Maximum RSI allowed for bottoms.
Default
35
Lower values
Fewer signals
---
## Use Trend EMA Filter
Turns EMA distance filtering on or off.
---
## Trend EMA Length
Default
200
Long-term trend reference.
---
## ATR Length
Default
14
Used to normalize volatility.
---
## Minimum ATR Extension
Default
5 ATR
Controls how far price must stretch away from the EMA.
Higher values
Only extreme exhaustion
Lower values
More frequent signals
---
## Confirmation Mode
Options:
* Off
* Volume Only
* Range Only
* Volume + Range
Determines final confirmation.
---
## Volume / Range Average Length
Default
50
Average period used for volume and range comparisons.
---
## Volume Multiplier
Default
2
Required increase above average volume.
Example
Average volume = 100,000
Multiplier = 2
Required volume
200,000
---
## Range Expansion Multiplier
Default
0.5
Required increase above average candle range.
Higher values
Require larger candles.
---
# Display Settings
## Show Trend EMA
Displays the EMA used for trend extension.
Useful for visualizing how stretched price became.
---
## Show Watch Signals
Displays every confirmed pivot before filtering.
Watch signals represent:
"Potential reversal areas."
Confirmed signals represent:
"Filtered, higher-probability reversal areas."
---
## Color Settings
Customize:
* Watch Tops
* Watch Bottoms
* Confirmed Tops
* Confirmed Bottoms
* EMA
---
# Label Controls
These options determine what information appears inside Confirmed labels.
---
## Show Price
Displays pivot price.
Example
Price
145.32
---
## Show Pivot Settings
Displays
Left / Right
Example
100 / 5
Useful when comparing settings.
---
## Show RSI
Displays RSI at the pivot.
Example
RSI
72.5
---
## Show Volume
Displays pivot volume.
Useful when Volume confirmation is enabled.
---
## Show ATR
Displays ATR at the pivot.
Important:
This is **not** the distance from the EMA.
It simply displays the market's volatility (ATR) at the time the pivot formed.
Higher ATR means a more volatile market.
Lower ATR means a quieter market.
---
## Show EMA Distance
Displays
Distance from EMA
measured in ATRs.
Example
EMA Dist
5.82 ATR
This is arguably the most useful statistic on the label because it quantifies how extended price was when the reversal occurred.
---
## Show Confirmation Type
Displays how the confirmation filter was satisfied.
Possible values:
* Volume
* Range
* Volume + Range
* None
---
# Alerts
The indicator includes four alerts:
### Confirmed Top Found
Generated when a filtered top is confirmed.
---
### Confirmed Bottom Found
Generated when a filtered bottom is confirmed.
---
### Top Watch
Generated for every structural pivot high before filtering.
---
### Bottom Watch
Generated for every structural pivot low before filtering.
---
# Understanding Signal Timing
This is important.
The indicator **does not repaint**, but it is intentionally delayed by the **Pivot Bars Right** setting.
Example:
Right Bars = 5
A top occurring today will only be confirmed after five additional bars have closed without a higher high.
This is necessary because the indicator waits for confirmation that the pivot is truly established.
---
# Suggested Starting Settings
## Swing Trading (Daily)
* Left Bars: 100
* Right Bars: 5
* RSI: On
* EMA Filter: On
* Minimum ATR Extension: 5
* Confirmation: Volume Only
---
## Position Trading (Weekly)
* Left Bars: 150–250
* Right Bars: 5–10
* ATR Extension: 6–8
* Confirmation: Volume + Range
---
## Short-Term Trading (15–60 Minute)
* Left Bars: 30–60
* Right Bars: 3–5
* ATR Extension: 3–4
* Confirmation: Volume Only
---
# Strengths
* Adapts to market volatility using ATR.
* Filters out many insignificant pivots.
* Uses multiple independent confirmation methods.
* Supports higher-timeframe calculations on lower-timeframe charts.
* Does not repaint after pivot confirmation.
* Highly configurable for different trading styles.
---
# Current Limitations
* Signals are intentionally delayed by the selected Right Bars value.
* The indicator identifies **exhaustion points**, not trend direction.
* Strong trends can continue after a confirmed top or bottom, especially during momentum-driven markets.
* Volume confirmation may be less reliable for markets where reported volume is limited or synthetic (such as many forex CFDs).
---
# Best Use Practices
The indicator performs best when used to identify **areas of elevated reversal probability**, not as a standalone buy or sell trigger. Higher-quality setups occur when a confirmed signal aligns with higher-timeframe support or resistance, trendline breaks, divergence, or other independent forms of technical confirmation. Treat confirmed tops and bottoms as locations to focus attention rather than automatic entry points.
Indicator

Pivot Support & Resistance Matrix [ChartPrime]Pivot Support & Resistance Matrix
🔶 OVERVIEW
Traders often struggle to identify which support and resistance levels are truly critical and which ones are just temporary market noise. The Pivot Support & Resistance Matrix solves this by combining automated, proximity-filtered structural lines with a real-time, volume-cleared Polyline Pivot Profile Engine .
Instead of cluttering your chart with every single minor pivot, this script utilizes an ATR-based buffer system to only track key structural levels. Furthermore, it pools all historical pivot points into a customized histogram matrix displayed right in your margin, pinpointing the absolute **Pivot Point of Control (POC)** where historical order blocks are most heavily clustered.
🔶 HOW IT WORKS
The script processes market structure through a multi-tiered calculation architecture:
Proximity-Filtered S/R Generation: The script monitors classic structural highs and lows ($Pivot\ High / Low$). To prevent messy line stacking, it implements an automated proximity filter using an NYSE:ATR \times Multiplier$ threshold. A fresh Support or Resistance line will only spawn if there isn't an active, unbroken line already sitting within that price buffer.
Dynamic Breakout Conversion & Volume Logging: Active lines automatically extend forward in time. The exact moment price closes past a level, the script transforms its state: it turns into a dashed, neutral-colored broken level, and replaces its price label with the exact transaction volume that occurred on the breakout candle (formatted cleanly as K or M).
Polyline Profile Matrix: At the right edge of your screen, the script divides the high-to-low calculation lookback window into a customized array of price bins. It then scans through all historical pivots, plotting a seamless, shaded polyline histogram based on pivot density.
Pivot Point of Control (POC): The single price bin that contains the highest concentration of historical pivot touches is highlighted across your entire chart as a solid red **Pivot POC Line**, displaying exactly how many times institutions used that precise level for market reversals.
🔶 KEY FEATURES
Smart ATR Density Filtering: Prevents redundant lines from overlapping in tightly consolidated ranges, providing clean, high-conviction key levels instead of generic lines on every candle.
Post-Breakout Volume Memory: Instead of deleting broken lines, they switch to a dashed visual state while logging the breakout volume. This tells you instantly whether a level was smashed with heavy institutional backup or weakly drifted through.
Adaptive Profile Theme Coloring: The polyline histogram dynamically matches the current market state. If more historical support pivots have been registered than resistance levels inside your lookback window, the profile automatically adopts the Support color theme, signaling a bullish structural baseline (and vice versa).
Bin Smoothing Radius Configuration: To account for minor market fluctuations, each pivot point distributes its structural weight to adjacent price bins based on a user-defined radius, creating a smooth, professional-grade market profile.
🔶 TRADING APPLICATIONS
High-Volume Breakout Validation: When an established support or resistance line is broken, check the volume tag left on the line. A break showing high volume (e.g., $4.5M$) indicates a high-probability trend continuation or verified Market Structure Shift.
Pivot POC Magnet Re-entries: The red Pivot POC line acts as a major institutional fair-value anchor. When price expands far away from it, it serves as an excellent structural target; conversely, during macro retracements, it behaves as the strongest anticipated bounce zone.
Profile Value Area Exits: Use the outer limits of the polyline histogram to judge market extensions. If price stretches completely beyond the top or bottom boundaries of the pivot profile, it indicates highly overextended conditions, alerting you to tighten stop losses or secure open profits.
🔶 SETTINGS
Pivot Left/Right Bars: Sets the lookback structural count required to verify a local swing high or swing low. Higher values isolate macro key levels, while lower values target scalping ranges.
Calculation Lookback Window: Restricts profile tracking and line management to a strict historical window (e.g., last 600 bars), preserving processing speeds and focusing your data on recent market developments.
ATR Proximity Multiplier: The minimum distance required between horizontal lines. Increase this multiplier to dramatically clean up your chart and leave only the most prominent structural boundaries.
Number of Bins & Smoothing Radius: Controls the resolution of your polyline profile. Higher bins provide finer price accuracy, while a higher smoothing radius blends adjacent bins for a cleaner visual histogram.
🔶 CONCLUSION
The Pivot Support & Resistance Matrix indicator completely modernizes standard support and resistance trading. By combining price-filtered line tracking with a structural density profile, it allows traders to clearly see where major liquidity walls stand and precisely how much volume was required to break them down. Indicator

[ A L P H A X ] RELAY - Pattern Relay EngineAlphaX RELAY — Pattern Relay Engine: Formation → Armed → Fired Lifecycle System, Pre-Breakout Detection, Completion Scoring, Volume Coil Confirmation & Real-Time Phase Intelligence
AlphaX RELAY is a professional-grade chart pattern anticipation system built around a fundamentally different concept from every other pattern indicator — including its companion AlphaX FORGE. Where FORGE detects patterns after breakout confirmation and fires entry signals on completed formations, RELAY tracks patterns throughout their entire development lifecycle , scoring their completion percentage in real time and alerting you before the breakout occurs. The RELAY framework divides every pattern's life into three sequential phases — FORMING, ARMED, and FIRED — and updates the phase designation on every bar as price evolves within the formation. When a pattern enters the ARMED zone (price approaching the neckline or boundary within ATR tolerance), RELAY alerts you to prepare. When the breakout fires, the full entry framework activates with computed entry, stop, TP1, and TP2 levels alongside a JSON alert. The result is a system that gives you advance warning of high-probability breakouts rather than reactive confirmation — designed for traders who want to be positioned before the crowd, across crypto, forex, gold, and indices on any timeframe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 The RELAY Philosophy — Anticipation Over Confirmation
Every significant chart pattern begins forming bars or hours before the breakout. A Double Top starts when the second peak forms near the first — at that moment, a skilled technical trader begins watching the neckline. A Head & Shoulders is identifiable from the moment the right shoulder begins forming — before price has reached the neckline. A Bull Flag is established from the moment the pole terminates and consolidation begins.
Most pattern indicators wait until the breakout is confirmed — at which point the pattern is already complete, the first wave of breakout traders has already entered, and the entry price is often significantly beyond the pattern boundary. RELAY inverts this model. By continuously scanning for pattern geometries as they form , scoring their completion, and communicating their phase state in real time, RELAY gives traders the ability to:
Identify patterns well before breakout — watching them develop in real time on the chart
Receive an ARMED alert when price approaches the trigger level — preparing limit orders or monitoring for the candle close
Enter on the FIRED event with a pre-planned trade, not a reactive chase
Track completion percentage continuously — knowing whether a formation is 65% complete or 95% complete changes the urgency of preparation
This anticipatory framework is the core intellectual contribution of RELAY to the AlphaX suite, and it is what distinguishes it from FORGE — two systems covering the same pattern types from opposite temporal perspectives.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 The Three-Phase Lifecycle — FORMING → ARMED → FIRED
Every pattern in RELAY exists in exactly one of three states at any moment. The phase is computed on every bar and displayed prominently on both the chart label and the dashboard.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 1 — FORMING (Purple)
The pattern geometry has been confirmed — the pivots are in the correct structural relationship and the formation is identifiable. However, price has not yet approached the neckline or boundary level closely enough to be considered imminently actionable.
What FORMING means: The pattern exists and is valid. Completion percentage is typically 60–80% in this phase. The formation box is drawn on the chart in purple. The neckline or boundary is plotted as a solid purple line. The dashboard shows the pattern name, FORMING phase, and the current completion percentage.
How to use FORMING: Plan your trade. Note the neckline level. Calculate where your entry, stop, and targets will be if the pattern fires. Set a price alert at the ARMED zone boundary so you are notified when price begins approaching the trigger level. Do not enter yet.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 2 — ARMED (Orange)
Price has approached the neckline or boundary to within the configurable ATR tolerance (default: 0.35× ATR). The pattern is in its final stage of formation before the breakout. The trigger is imminent.
What ARMED means: Price is close enough to the neckline that the next 1–5 bars will likely determine whether the pattern fires or fails. Completion percentage typically reaches 85–100% in this phase. The formation box and neckline shift to orange. The dashboard phase row turns orange. An ARMED alert fires.
How to use ARMED: This is your active preparation signal. If you are trading with limit orders, now is the time to place a limit order at the neckline level. If you prefer market orders on breakout, watch the chart closely for the closing candle confirmation. Review the confluence score — if it is at or above the minimum, the ARMED setup is worth your full attention.
ARMED alert: Separate alert conditions fire for ARMED Long and ARMED Short, allowing you to set up targeted notifications for the direction you want to trade. The ARMED alert is the pre-breakout awareness signal.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 3 — FIRED (Yellow-Green / Red)
Price has closed beyond the neckline or boundary by more than the configured break margin (default: 0.6× ATR). The pattern has completed and the entry framework activates. Completion is 100%.
What FIRED means: The breakout is confirmed by bar close. The formation box and neckline shift to the directional color — yellow-green for bull patterns, red for bear patterns. Entry, SL, TP1, and TP2 lines are drawn on the chart extending 40 bars forward. All four levels are labeled with exact prices. The TP2 label also shows the computed R:R. A FIRED alert fires with a full JSON payload.
How to use FIRED: Enter on the next bar's open at or near the entry level shown on the chart. Place the stop at the SL level. Scale out 50% (default) at TP1. Let the remainder run to TP2 or trail with a stop.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Formation Completion Scoring — The Pattern Health Metric
The completion percentage is a pattern-specific quantitative score that measures how far along the formation has progressed toward its breakout. Unlike a simple binary detection, the completion score gives you continuous awareness of pattern health.
How completion is computed:
Each pattern type starts with a base completion score that reflects the geometric confirmation of the core structure:
Double Top / Bottom base: 70% — the two-pivot structure is confirmed
Head & Shoulders / Inv H&S base: 65% — the three-pivot structure with neckline is confirmed
Triangles base: 60–75% — converging trendlines with sufficient base height
Flags / Pennants base: 62% — pole plus parallel or converging consolidation confirmed
Wedges base: 58–78% — converging wedge with correct slope relationship
Additional completion points are awarded for:
+15 points — price is on the correct side of the neckline (below the neckline for Double Tops, above for Double Bottoms)
+15–20 points — price is within the ARMED zone (within ATR tolerance of the neckline or boundary)
Maximum possible completion before breakout is 100%. FIRED state also shows 100% on the dashboard.
Minimum formation threshold: Patterns below the configured minimum completion percentage (default: 55%) are not displayed. This prevents very early, nascent patterns with insufficient structural confirmation from cluttering the chart. Raising this threshold (e.g., to 70%) shows only well-developed formations where the pattern geometry is fully confirmed and price is approaching the trigger.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📐 Pattern Detection — Five Formation Types
RELAY continuously scans for five pattern families in real time, computing their phase and completion on every bar.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Double Top / Double Bottom
Two pivot highs at approximately the same level separated by a pullback low (Double Top), or two pivot lows at approximately the same level separated by a recovery high (Double Bottom). The neckline is the intervening low (Double Top) or high (Double Bottom).
Phase transitions:
FORMING — geometry confirmed, price not yet near neckline
ARMED — price within 0.35× ATR of the neckline
FIRED — price closes below neckline by 0.6× ATR (Double Top) or above by 0.6× ATR (Double Bottom)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Head & Shoulders / Inverted H&S
Three-peak structure with a dominant central peak (head) flanked by two lower peaks (shoulders) at approximately equal heights, connected by a potentially sloped neckline through the two intervening lows. The Inverted H&S is the mirror pattern with a dominant central trough.
The neckline for H&S patterns is computed as a projected line through the two neckline pivot points, evaluated at the current bar — producing a dynamically sloped neckline that accurately reflects the true pattern boundary at any point in time.
Phase transitions follow the same ATR-based FORMING → ARMED → FIRED logic, with the ARMED zone assessed against the sloped neckline projection.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Triangles — Ascending, Descending, Symmetrical
Converging trendlines formed by a falling or flat upper trendline and a rising or flat lower trendline. The three variants are distinguished by slope:
Ascending Triangle — upper trendline near flat, lower trendline rising. Bull breakout expected
Descending Triangle — lower trendline near flat, upper trendline falling. Bear breakout expected
Symmetrical Triangle — both trendlines converging, neither flat. Can break either direction; RELAY tracks the direction of the actual breakout
The ARMED zone is computed relative to the projected upper (bull) or lower (bear) trendline at the current bar. Completion receives a bonus for larger triangle base heights (more than 2× ATR adds 15 points vs 5 points for smaller bases).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Flags and Pennants
A sharp pole move followed by a consolidation with parallel downward-sloping trendlines (Bull Flag / Pennant) or parallel upward-sloping trendlines (Bear Flag / Pennant). The pole size must be at least 2.5× ATR to qualify as a genuine pole rather than normal price movement.
The upper trendline for Bull Flags and the lower trendline for Bear Flags are the breakout boundaries. The ARMED zone is assessed against the projected trendline level at the current bar. The target is the breakout level plus the full pole distance.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Rising and Falling Wedges
Converging patterns where both trendlines slope in the same direction but the lower trendline has a more extreme slope than the upper (Rising Wedge — bearish) or the upper trendline has a more extreme slope than the lower (Falling Wedge — bullish). The slope relationship distinguishes wedges from flags (which are parallel) and triangles (where lines converge to a point rather than widening).
Completion bonus is proportional to the wedge width in ATR multiples — wider wedges with more price range between the trendlines score higher completion. The target is the high of the wedge origin (Falling Wedge) or the low (Rising Wedge) — the structural measurement move.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏅 The 10-Point Quality Scoring System
Every active pattern is scored through a 10-point confluence system. Only patterns meeting the minimum score threshold (default: 5) are displayed, and the quality-ranked selection algorithm picks the highest-scoring pattern when multiple formations are active simultaneously.
Score components:
Formation Completion (up to 2 points):
Completion at 85% or above scores 2 points. Completion above the configured minimum scores 1 point. This ensures well-developed patterns score higher than nascent formations.
HTF Bias Alignment (up to 2 points):
Bull pattern with bull HTF, or bear pattern with bear HTF, scores 2 points. When HTF is disabled, 1 neutral point is awarded. Counter-HTF patterns score 0. The HTF filter can be set as a hard block on FIRED patterns — preventing counter-HTF breakout alerts even if the pattern is technically valid.
Non-Chop Market (1 point):
Choppiness Index below the threshold. Also enforced as a hard gate — extreme chop blocks all patterns from displaying.
Pattern Phase (up to 2 points):
FIRED scores 2 points, ARMED scores 1 point, FORMING scores 0. This weighting ensures that more advanced phases naturally score higher in the quality ranking — a FIRED pattern will nearly always outscore a FORMING pattern in the selection algorithm.
Volume Coil Before Break (1 point):
Current volume is below the configured fraction of the volume moving average (default: 0.85×). A drying volume condition approaching the neckline is the classic pre-breakout behavior — the market is consolidating on declining interest before the explosive release. This layer rewards patterns where this institutional behavior is present.
R:R at Minimum (1 point):
The computed R:R between entry and TP2 meets or exceeds the minimum (default: 1.5). Ensures only patterns with adequate measured moves relative to their stop are displayed.
Pattern Size (1 point):
The pattern height or target distance meets or exceeds 1.5× ATR. Filters micro-patterns with trivial measured moves.
Selection algorithm:
When multiple patterns qualify simultaneously, RELAY uses a composite ranking that combines the confluence score, completion percentage (weighted at 0.05 per percent), and phase bonus (FIRED: +3, ARMED: +2, FORMING: +0). This ensures that a FIRED pattern with good confluence almost always outranks a FORMING pattern, while also rewarding high-completion ARMED patterns over low-completion FORMING patterns of equal confluence.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Formation Box and Neckline Visualization
Every active pattern is rendered with two core visual elements:
Formation Box:
A rectangle spanning the pattern's horizontal range (from the start bar to the current bar) and vertical range (from the neckline to the opposite extreme of the pattern — the tops for bear patterns, the bottoms for bull patterns). The box color reflects the current phase: purple for FORMING, orange for ARMED, yellow-green or red for FIRED. The fill opacity is moderate (88%) — present enough to identify the pattern zone without obscuring price action behind it.
Neckline / Boundary:
A solid line at the critical breakout level, extending 20 bars beyond the current bar. For patterns with flat necklines (Double Tops, Rectangles), this is a horizontal line. For Head & Shoulders with sloped necklines, the line reflects the slope. The neckline color matches the phase color — shifting through purple, orange, and the directional color as the phase advances.
Phase Label:
A label at the right edge of the formation showing the pattern name, current phase, and completion percentage. Positioned above price for bear patterns, below for bull patterns. The label color matches the phase.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Live Dashboard
The 13-row real-time dashboard displays the complete state of the current highest-scoring pattern.
RELAY STATE
Pattern — the name of the current pattern: Double Top, Head & Shoulders, Asc Triangle, Bull Flag, Falling Wedge, etc. Color-coded yellow-green for bull, red for bear
Phase — FORMING (purple), ARMED (orange), or FIRED (yellow-green/red). The most critical single row in the entire dashboard
Formation — the live completion percentage. Orange when below 80%, yellow-green when above 80%
Neckline — the exact price of the current neckline or boundary level in real time
LEVELS (FIRED)
Entry — the computed entry price (current bar's open at FIRED). Shows — when pattern is still FORMING or ARMED
TP1 / TP2 — both take-profit targets displayed as a price pair
Stop — the computed stop loss level
QUALITY
Confluence — the pattern's score out of 10. Yellow-green when at or above the minimum threshold
HTF · Chop — HTF bias (▲ BULL, ▼ BEAR, FLAT) and live Choppiness Index displayed on a single row. Orange CI indicates the chop gate is near or active
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Chart Visual System
Formation Box (FORMING — purple) — the developing pattern's price range from start to current bar, purple-tinted
Formation Box (ARMED — orange) — box shifts to orange when price enters the ARMED zone. This color change on the chart is itself an alert
Formation Box (FIRED — yellow-green / red) — pattern complete, box color reflects direction
Neckline Line (solid, phase color) — the critical breakout level extending 20 bars forward
Phase Label — pattern name, phase text, and completion percentage. Positioned at the right edge of the formation
Entry Line (yellow-green dashed) — FIRED phase only, with "ENTRY x.xxxx" label
SL Line (red dashed) — FIRED phase only, with "SL x.xxxx" label
TP1 Line (lime dotted) — FIRED phase only, with "TP1 x.xxxx" label
TP2 Line (bright yellow-green dashed, width 2) — FIRED phase only, with "TP2 x.xxxx · R:R x.xx" label
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📡 JSON Alert System
RELAY fires a structured JSON alert on every FIRED event, delivering complete trade parameters to webhook receivers.
FIRED JSON structure: Indicator

Bedaiwi's Smart PivotsBedaiwi's Smart Pivots is a three-level market-structure indicator that classifies price turning points as Minor, Intermediate, and Major highs and lows.
HOW IT WORKS
Minor Pivots
A Minor High is confirmed when the middle bar of a three-bar formation has a high that is strictly higher than the highs immediately before and after it.
A Minor Low is confirmed when the middle bar has a low that is strictly lower than the lows immediately before and after it.
Equal highs and equal lows are not treated as Minor pivots.
Intermediate Pivots
Intermediate pivots are derived from confirmed sequences of Minor pivots.
An Intermediate High is identified when a higher Minor High is followed by a lower Minor High.
An Intermediate Low is identified when a lower Minor Low is followed by a higher Minor Low.
Major Pivots
Major pivots apply the same hierarchical logic to confirmed Intermediate pivots.
A Major High is identified when a higher Intermediate High is followed by a lower Intermediate High.
A Major Low is identified when a lower Intermediate Low is followed by a higher Intermediate Low.
SYMBOLS AND COLORS
- Red diamond: Intermediate High
- Green diamond: Intermediate Low
- Red exclamation mark: Major High
- Green exclamation mark: Major Low
Optional Minor pivots use the same High and Low color settings.
When the replacement option is enabled, an Intermediate symbol is removed and replaced with an exclamation mark if the same point is later promoted to Major status.
HISTORICAL PLOTTING AND CONFIRMATION DELAY
Pivot identification requires subsequent price information.
A Minor pivot is confirmed only after the following bar closes. Intermediate and Major pivots require additional confirmed pivot sequences, so their confirmation occurs later.
After confirmation, the indicator places the symbol on the historical bar where the relevant high or low occurred. Therefore, a symbol displayed on an earlier bar was not necessarily available in real time on that bar.
Historical placement is used only to show the actual location of the confirmed turning point. It should not be interpreted as a signal that was known on the historical pivot bar.
SETTINGS
Users can:
- Show or hide Minor pivots
- Show or hide Intermediate pivots
- Show or hide Major pivots
- Replace an Intermediate symbol when it becomes a Major pivot
- Customize High and Low pivot colors
PRACTICAL USE
Smart Pivots can help users:
- Study market structure
- Identify significant historical swing highs and lows
- Separate short-term fluctuations from higher-level price structure
- Review possible support and resistance areas
- Add context to discretionary price-action analysis
LIMITATIONS
Smart Pivots is an analytical indicator. It does not place trading orders and does not define entries, exits, stop-loss levels, profit targets, position sizing, or expected returns.
Pivot confirmation is delayed by design because later price action is required. Results may vary between symbols, timeframes, sessions, and data feeds.
The indicator does not identify final market tops or bottoms with certainty. Historical observations do not guarantee future market behavior.
This script is provided for research and educational purposes only. It is not financial or investment advice. Indicator

NSE/BSE Key Support & Resistance | MTF Pro-3.1Advanced pivot-based Support & Resistance with multi-timeframe confluence, strength scoring, volume-confirmed breaks, and adaptive zone visuals — built specifically for Indian stock market (NSE/BSE).
Overview
Most S&R indicators draw every pivot as an equal horizontal line and extend it infinitely to the right — creating cluttered, unreadable charts. This indicator solves that by scoring every level based on how strongly price rejected it , merging overlapping levels from different timeframes into a single confluence zone, and only showing the levels that actually matter.
Built and tuned specifically for NSE and BSE stocks, indices (Nifty 50, Bank Nifty, Sensex), and F&O instruments.
Key Features
🔷 Multi-Timeframe Support (4 TFs)
Enable up to 4 independent timeframes simultaneously. Each timeframe's pivots are detected separately and tagged in the label — , , , . You choose which timeframes to activate.
🔷 Cross-TF Confluence Merge
When two different timeframes produce a pivot at nearly the same price (within ATR proximity), they automatically merge into a single stronger zone instead of drawing two overlapping boxes. The label shows both sources — — and the level receives a confluence strength bonus. These merged zones are your highest-priority trade levels.
🔷 Advanced Strength Scoring
Every level carries a live strength score (★) that accumulates over time. Each touch is scored individually based on:
Wick size relative to candle range (how strongly price rejected)
Distance of close from the level (how convincingly price pulled back)
Whether volume was above average on that candle
Whether a strong body / engulfing candle formed
A barely touching wick scores ~0.5. A high-volume hammer rejection scores ~5–6. The score drives both zone opacity and zone width — strong levels appear bold and wide, weak levels fade visually.
🔷 Volume-Based Break Filter
A level is only invalidated when price closes beyond it and volume meets a configurable threshold (default: 1× average volume). Low-volume spikes through a level are ignored as false breakouts — the zone remains valid. Break alerts include the volume ratio so you know the conviction behind the move.
🔷 Adaptive Zone Visuals
No right extension — zones terminate at the current bar (valid) or the break bar (broken). No infinite lines cluttering the right side of your chart.
Opacity scales with strength — strongest levels are most visible, weakest levels are nearly transparent.
Zone width scales with strength — high-confidence zones are wider, giving a visual sense of the price area's importance.
🔷 Clean Labels
Each label shows the full picture at a glance:
21450.00 ★6.5 ×3
Timeframe source | Price | Strength score | Touch count
Settings Guide
SettingWhat it doesPivot LengthBars each side to confirm a pivot. Higher = fewer, stronger levelsMin StrengthHide levels below this score. Raise to show only confirmed levelsATR Merge DistanceHow close two levels must be to merge into oneInvalidationClose-based (reliable) or Wick-based (faster) break detectionVolume Break FilterRequire above-average volume to confirm a breakoutMin Volume MultiplierHow many times average volume needed to confirm a breakMax Active LevelsCap total zones shown on chartStrength → Zone OpacityToggle adaptive opacity based on strength score
How to Use
Bounce trades — price enters a green (support) zone → wait for a rejection candle with volume → enter above the rejection candle high, SL below zone bottom.
Rejection trades — price enters a red (resistance) zone → wait for a bearish candle with volume → enter below candle low, SL above zone top.
Breakout trades — price closes beyond a zone with high volume (break alert fires) → wait for pullback to the broken level → trade in the direction of the break.
Highest priority setups — zones tagged or with ★ score above 5 and multiple touches. These are the levels institutional money respects.
Alerts
The indicator fires alert() calls for:
Break confirmed — includes ticker, price, and volume ratio
Retest — includes ticker, price, and touch quality score
Set alert condition to "Any alert() function call" in PulseWire's alert dialog.
Notes
Designed and tested on NSE/BSE equities and F&O stocks
Works on any timeframe from 1 minute to Weekly
All calculations are original — pivot detection, strength engine, confluence merge, and volume filter are built from scratch in Pine Script v6 Indicator
