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 TradingView'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.
Wskaźnik

Historical IQBy:MasterTonyTA
---
**Historical IQ— Track % Bull/Bear to gauge Historical Context of moves**
This indicator measures the historical reliability of key percentage levels derived from pivot highs and pivot lows. Rather than simply drawing support and resistance zones, it scores each level based on what price actually did when it arrived there — giving you a data-driven read on whether a level is worth trading or fading. CUSTOM PICK A % MOVE TO SEE HOW PRICE AS REACTED AT THAT %
---
**HOW IT'S CALCULATED**
The indicator operates in one of two modes — Bear or Bull — never both at once, keeping the chart clean and the analysis focused.
**Bear Mode (Pivot High → -N%)**
Every confirmed pivot high is identified using a configurable left/right bar lookback. From that pivot, a horizontal band is drawn at your chosen percentage below it — for example, -10% — with an adjustable tolerance creating a band rather than a single line. Once price enters a new pivot's range the previous band is closed off and locked for historical scoring.
On the final bar, every historical band is scanned bar by bar across its entire time window. Each band falls into one of three outcomes: price reached the band and closed above it (held as support — painted gold), price reached the band and closed below it (broke through — painted red), or price never reached the band at all (untouched — painted red but excluded from scoring).
**Bull Mode (Pivot Low → +N%)**
The same logic runs in reverse. Every confirmed pivot low generates a band at your chosen percentage above it. The three outcomes become: price reached the band and stalled without closing above it (resistance held — gold), price reached the band and closed above it (broke through — painted green), or price never reached the band (untouched — excluded from scoring).
**The Scoring**
Only bands that price actually tested are included in the stats. Untouched bands are deliberately excluded because a level that was never reached tells you nothing about whether it would have held. The gold hit rate is therefore a pure measure — out of every time price came to this level, how often did it respect it?
---
**HOW TO READ THE TABLE**
The stats table sits top-right and updates on every bar. It shows:
**🟡 Gold (held/stalled)** — the number of historical bands where price tested the level and respected it. In Bear mode this means closed above; in Bull mode this means stalled without closing above.
**🔴 Broke through / 🟢 Broke through** — the number of times price tested the level and pushed straight through. These are the failures.
**Times tested** — gold plus broke. This is the denominator for all calculations. Untouched bands are not included here.
**○ Not yet reached** — shown for context only. These bands exist on the chart but have no vote in the ratio since price never arrived.
**🎯 Gold hit rate** — the headline number. This is gold divided by times tested, expressed as a percentage. A reading above 60% lights up gold. Below 60% it turns red. This is the number to watch.
**Gold : Broke ratio** — the same relationship expressed as a simplified ratio. A 3:1 ratio means for every three times the level held, it broke once.
**Reading** — a plain-language verdict based on the gold hit rate:
- 70% and above → Strong support / Strong resistance
- 50–69% → Moderate support / Moderate resistance
- 30–49% → Weak support / Weak resistance
- Below 30% → Unreliable
---
**HOW TO USE IT** FIND HISTORICAL % AND WHAT HAPPENED TO SEE THE IMPLICATIONS OF MOVES
**Dialing in your target** — start by choosing a percentage that is meaningful for the asset you are trading. Volatile assets like crypto may show more meaningful clusters around larger moves such as 15–20%. Blue chip equities or indices often show cleaner structure at 8–12%. The goal is to find the percentage where the gold hit rate is consistently above 60% across history — that tells you the market has a genuine memory of that level.
**Using the tolerance** — the band width setting controls how precise price needs to be to count as a test. A tighter tolerance like 0.2% gives you a sharper level but fewer touches. A wider tolerance like 1% captures more wicks and approaches but may dilute the quality signal. Start tight and widen only if you are seeing very few tests.
**Bear mode use case** — after a significant high has formed and the market is declining, the gold bands ahead of price show levels where the market has historically found buyers at this same percentage distance from a prior peak. A high gold hit rate at your chosen decline level is a data-backed reason to watch for a bounce or entry there rather than guessing.
**Bull mode use case** — after a significant low has formed and the market is rallying, the gold bands show levels where price has historically stalled at this percentage distance from a prior trough. A high gold hit rate is a reason to consider taking profits, tightening stops, or watching for reversal signals as price approaches.
**Pivot sensitivity** — the left and right bar inputs control how significant a pivot needs to be to qualify. Higher values require a more dominant high or low with more bars confirming on either side, producing fewer but more meaningful pivots. Lower values produce more pivots and more bands but may include minor swings that add noise.
**The live label** — the percentage shown at the current bar tells you exactly where price sits relative to the most recent pivot. When price enters a band the label turns gold as a real-time visual alert that price is at a historically significant level right now.
--- Wskaźnik

PivotLibrary222Library "PivotLibrary222"
f_determinePivotStrength(_pivotCandidateRelativeIndex, _type, _maxStrength)
Determines the strength of a pivot (low or high).
Parameters:
_pivotCandidateRelativeIndex (int) : The relative bar index of the pivot candidate.
_type (string) : "low" for a pivot low, "high" for a pivot high.
_maxStrength (int) : The maximum number of bars to check on either side for strength.
Returns: An array containing .
f_getPlotColorForStrength(_strength)
Gets a plotting color based on pivot strength.
Parameters:
_strength (int) : The calculated pivot strength.
Returns: A color for plotting.
f_updateExistingPivotLow(f_pivotLows, f_pivotLowInfoIndex, f_newStrength, f_showLabels)
Updates an existing pivot LOW's strength and its corresponding chart label.
Parameters:
f_pivotLows (array) : The array of pivotLowInfo objects.
f_pivotLowInfoIndex (int) : The index of the pivot to update in the array.
f_newStrength (int) : The new (increased) strength of the pivot.
f_showLabels (bool) : A boolean to control if labels should be updated.
f_updateExistingPivotHigh(f_pivotHighs, f_pivotHighInfoIndex, f_newStrength, f_showLabels)
Updates an existing pivot HIGH's strength and its corresponding chart label.
Parameters:
f_pivotHighs (array) : The array of pivotHighInfo objects.
f_pivotHighInfoIndex (int) : The index of the pivot to update in the array.
f_newStrength (int) : The new (increased) strength of the pivot.
f_showLabels (bool) : A boolean to control if labels should be updated.
f_findPivotLows(f_pivotLows, f_minStrength, f_maxStrength, f_showLabels)
Finds and processes pivot lows.
Parameters:
f_pivotLows (array) : The array of pivotLowInfo objects to read from and modify.
f_minStrength (int) : Minimum strength required for a new pivot to be recorded.
f_maxStrength (int) : Maximum strength to search for when determining pivot strength.
f_showLabels (bool) : A boolean to control if new labels should be created.
f_findPivotHighs(f_pivotHighs, f_minStrength, f_maxStrength, f_showLabels)
Finds and processes pivot highs.
Parameters:
f_pivotHighs (array) : The array of pivotHighInfo objects to read from and modify.
f_minStrength (int) : Minimum strength required for a new pivot to be recorded.
f_maxStrength (int) : Maximum strength to search for when determining pivot strength.
f_showLabels (bool) : A boolean to control if new labels should be created.
pivotHighInfo
Represents a detected pivot high.
Fields:
abs_index (series int)
price (series float)
strength (series int)
label_id (series label)
pivotLowInfo
Represents a detected pivot low.
Fields:
abs_index (series int)
price (series float)
strength (series int)
label_id (series label) Biblioteka

Dynamic Support and Resistance Pivot Strategy The Dynamic Support and Resistance Pivot Strategy is a flexible and adaptive tool designed to identify short-term support and resistance levels using the concept of price pivots.
### Key Elements of the Strategy
1. Pivot points as support and resistance levels
Pivots are significant turning points on the price chart, often marking local highs and lows where the price has reversed direction. A pivot high occurs when the price forms a local peak, while a pivot low occurs when the price forms a local trough. When a new pivot high is formed, it creates a resistance level. Conversely, when a new pivot low is formed, it creates a support level.
The strategy continuously updates these levels as new pivots are detected, ensuring they remain relevant to the current market conditions. By identifying these price levels, the strategy dynamically adjusts to market conditions, allowing it to adapt to both trending and ranging markets, since it has a long target and can perform reversal operations.
2. Entry Criteria
- Buy (Long): A long position is triggered when the price is near the support level and then crosses it from below to above. This suggests that the price has found support and may start moving upwards.
- Sell (Short): A short position is triggered when the price is near the resistance level and then crosses it from above to below. This indicates that the price may be reversing and moving downward.
3. Support/Resistance distance (%)
- This parameter establishes a percentage range around the identified support and resistance level. For example, if the Support Resistance Distance is 0.4% (default), the closing price must be within a range of 0.4% above support or below the resistance to be considered "close" and trigger a trade.
4. Exit criteria
- Take profit = 27 %
- Stop loss = 10 %
- Reversal if a new entry point is identified in the opposite direction
5. No Repainting
- The Dynamic Support and Resistance Pivot Strategy is not subject to repainting.
6. Position Sizing by Equity and risk management
- This strategy has a default configuration to operate with 35% of the equity. The stop loss is set to 10% from the entry price. This way, the strategy is putting at risk about 10% of 35% of equity, that is, around 3.5% of equity for each trade. The percentage of equity and stop loss can be adjusted by the user according to their risk management.
7. Backtest results
- This strategy was subjected to backtest and operations in replay mode on **1000000MOGUSDT.P**, with the inclusion of transaction fees at 0.12% and slipagge of 5 ticks, and the past results have shown consistent profitability. Past results are no guarantee of future results. The strategy's backtest results may even be due to overfitting with past data.
8. Chart Visualization
- Support and resistance levels are displayed as green (support) and red (resistance) lines.
- Pivot prices are displayed as green (pivot low) and red (pivot high) labels.
In this image above, the Support/Resistance distance (%) parameter was set to 0.8.
9. Default Configuration
Chart Timeframe: 1h
Pivot Lengh: 2
Support/Resistance distance (%): 0.4*
Stop Loss: 10 %
Take Profit: 27 %
* This parameter can alternatively be set to 0.8.
10. Alternative Configuration
Chart Timeframe: 20 min
Pivot Lengh: 4
Support/Resistance distance (%): 0.1
Stop Loss: 10 %
Take Profit: 25 %
BYBIT:1000000MOGUSDT.P
Strategia

Pivot Highs&lows: Short/Medium/Long-term + Spikeyness FilterShows Pivot Highs & Lows defined or 'Graded' on a fractal basis: Short-term, medium-term and long-term. Also applies 'Spikeyness' condition by default to filter-out weak/rounded pivots
ES1! 4hr chart (CME) shown above, with lookback = 15; clearly identifying the major highs & lows on the basis of how they are fractally 'nested' within lesser Pivots.
-- in the above chart Short term pivot highs (STH) are simply represented by green 'ʌ', and short-term pivot lows (STL) are simply represented by orange 'v'.
//Basics: (as applying to pivot highs, the following is reversed for pivot lows)
-Short term highs (STH) are simple pivot highs, albeit refined from standard with the 'spikeyness' filter.
-Medium-term highs (MTH) are defined as having a lower STH on either side of them.
-Long-term highs (LTH) are defined as having a lower MTH on either side of them.
//Purpose:
-Education: Quick and easy visualization of the strength or importance of a pivot high or low; a way of grading them based on their larger context.
-Backtesting: use in combination with other trading methods when backtesting to see the relative significance and price sensitivity of LTHs/LTLs compared to lower grade highs and lows.
//Settings:
-Choose Pivot lookback/lookforward bars: One setting, the basis from which all further pivot calculations are done.
-Toggle on/off 'Spikeyness' condition to filter-out weak/rounded/unimpressive pivot highs or lows (default is ON).
-Toggle on/off each of STH, MTH, LTH, STL, MTL, LTL; and choose label text-styles/colors/sizes independently.
-Set text Vertically, horizonally, or simply use 'ʌ' or 'v' symbols if you want to declutter your chart.
//Usage notes:
-Pivots take time to print (lookback bars must have elapsed before confirmation). Fractally nested pivots as here (i.e. a LTH), take even longer to print/confirm, so please be patient.
-Works across timeframes & Assets. Different timeframes may require slightly tweaked lookback/forward settings for optimal use; default is 15 bars.
Example usage with just symbolic labels short-term, med-term, long-term with 1x, 2x and 3x ʌ/v respectively:
Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Strategia

Strategia

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Wskaźnik

Strategia

Wskaźnik
