Adaptive RSI Supertrend [MarkitTick]💡 A highly advanced, multi-dimensional momentum and volatility tracking ecosystem designed for professional market analysis. Rather than relying on traditional price-based trailing stops, this indicator projects a volatility-banded Supertrend directly onto an Adaptive Relative Strength Index (ARSI). This creates an incredibly responsive momentum oscillator that dynamically adjusts its own thresholds based on underlying market kinematics. By integrating high-order digital signal processing filters, higher timeframe confirmations, and volume-weighted validation, this tool provides a comprehensive, terminal-style perspective on market regime, momentum acceleration, and localized price extremes without succumbing to the noise typical of standard oscillators.
✨ Originality and Utility
The standard Relative Strength Index is frequently plagued by false signals, erratic whipsaws during consolidation, and a failure to contextualize momentum within broader structural trends. This script resolves these systemic inefficiencies through a deliberate and mathematically sound synthesis of disparate analytical domains. The combination of an ARSI with a localized Supertrend is not an arbitrary pairing; it solves the problem of static overbought/oversold boundaries. By mapping average true range (ATR) bands onto the RSI itself, the indicator creates dynamic, breathing support and resistance levels for momentum. Furthermore, the integration of advanced smoothing algorithms (Kalman and LLAMA) strips out high-frequency noise, ensuring that crossovers between the ARSI and the Supertrend-derived Merged Line represent statistically significant momentum shifts rather than fleeting market anomalies. This unified framework replaces the need for an overlapping array of disparate indicators, offering a singular, high-contrast dashboard for absolute market clarity.
🔬 Methodology and Concepts
The internal architecture of this tool is built upon several synchronized analytical layers, heavily optimized to protect the integrity of the underlying logic while delivering seamless visual output.
● Adaptive Momentum Core
At the heart of the script is the ARSI, which abandons traditional static lookbacks in favor of a responsive differential tracking model. It evaluates the absolute range of price action against directional movement, feeding these differences through a recursive smoothing engine. This results in an oscillator that remains highly sensitive to genuine trend initiation while heavily penalizing sideways chop.
● Digital Signal Processing (DSP) Filters
The raw momentum data is processed through user-selectable DSP algorithms to extract the true signal from market noise. The Kalman Filter dynamically estimates the true state of momentum by balancing process noise against measurement noise, adapting instantly to volatility spikes. Alternatively, the LLAMA filter applies an efficiency-ratio-driven alpha scaling model, tightening its smoothing factor during periods of low efficiency and relaxing it during strong directional bursts.
● Oscillator-Bound Supertrend
Instead of applying a Supertrend to price, the script calculates a specialized ATR based on the frame-to-frame variance of the ARSI. It then projects upper and lower deviation bands around the ARSI, maintaining a directional bias based on trailing breakouts. The resulting baseline is then averaged with the DSP-filtered signal to create the "Merged Line," serving as the ultimate zero-lag trailing threshold for momentum.
● Multi-Factor Regime Scoring
The script continuously evaluates the broader market context by scoring four distinct components: the absolute level of the ARSI, the trigonometric angle of the ARSI trajectory, the state of the oscillator Supertrend, and the relationship of price to a macroeconomic baseline moving average. These factors are normalized and aggregated into a 0-100 Regime Score, offering a unified metric of trend health.
🎨 Visual Guide
The visual presentation is engineered for high-contrast, dark-mode optimized aesthetics, providing immediate, terminal-style data processing without chart clutter.
● Chart Elements
Color-Matched Candles: Price candles are painted based on the kinetic relationship between the ARSI and its signal line. Neon Cyan indicates strong bullish momentum, Dark Teal indicates weak bullish momentum, Deep Crimson indicates strong bearish momentum, and Maroon denotes weak bearish pressure. Slate Gray represents a neutral momentum state.
Dynamic Support/Resistance Boxes: Translucent, neon-bordered zones (Cyan for Support, Crimson for Resistance) highlight localized structural extremes, providing immediate context for price breakouts.
Trade Projection Labels: When crossover signals fire, dashed projection lines emerge, extending forward to display precisely calculated Entry (Slate), Stop Loss (Crimson), and multi-tiered Take Profit (Neon Green) levels based on dynamic risk-to-reward parameters.
Chart Angle Label: A floating text label displays the exact trigonometric angle and classification of the current trend (e.g., "Strong Uptrend / 45.2°").
● Oscillator Pane Elements
Adaptive RSI Line: Plotted with a dynamic gradient that transitions from Deep Crimson (extreme weakness) to Neon Cyan (extreme strength), instantly conveying momentum depth.
Merged Signal Line: A distinct Neon Purple to Deep Pink gradient line acting as the trailing support/resistance for the ARSI.
Divergence Histogram: Translucent Cyan and Red histogram bars plot the delta between the ARSI and the Merged Line, visualizing the acceleration or deceleration of momentum crosses.
Background Shading: The oscillator pane background shifts to a deep blue/purple tone during overbought (above 80) and oversold (below 20) extremes. A striking Electric Gold background illuminates periods where momentum enters a highly compressed "Squeeze" state.
Signal Markers: Crisp "BULL" (Cyan) and "BEAR" (Red) text labels appear on the oscillator when fully validated crossovers occur.
● The Analytics Dashboard
A fixed, dark-background HUD presents granular telemetry using segmented block bars and color-coded text for rapid scannability:
ARSI Level: Percentage reading of the current momentum state.
Signal Strength: Block visualization of the DSP-filtered baseline.
Angle Momentum & Acceleration: Metrics tracking the velocity and delta-velocity of the trend trajectory.
Supertrend & Market Bias: Text readouts indicating the dominant structural direction.
HTF Trend & Volume: Validation checks displaying the alignment of higher timeframes and localized volume surges.
Volatility ATR & Last Cross: Precise numerical readouts of market expansion and the duration since the last major signal.
Regime Score: The composite 0-100 metric, color-coded from Crimson (Bear) to Neon Magenta (Transition) to Cyan (Bull).
📖 How to Use
Identify Momentum Regime: Monitor the Dashboard's Regime Score. A score above 70 combined with a Neon Cyan ARSI line indicates an environment where long positions are statistically favored.
Trade the Crossover: Wait for the ARSI to cross the Merged Line. Validated crosses will generate a distinct "BULL" or "BEAR" label. Check the Dashboard to ensure the Volume Filter and HTF Trend are aligned (marked with a green checkmark).
Navigate Squeezes: When the oscillator background turns Electric Gold, the market is experiencing a severe volatility contraction. Avoid initiating new positions during the squeeze. Wait for the background color to clear, accompanied by an Alert indicating a Squeeze Breakout, before trading the subsequent expansion.
Manage Risk via Trade Labels: Upon a valid signal, utilize the automatically projected Entry, SL, and TP lines on the main chart to structure your position sizing according to the script's ATR-derived risk mechanics.
⚙️ Inputs and Settings
ARSI & Signal Lengths: Controls the primary lookback periods for the oscillator and its baseline.
Signal Filter Type: Select between RMA, Kalman Filter, or LLAMA to dictate the specific mathematical model used for noise reduction.
Supertrend ATR Length & Factor: Adjusts the sensitivity and width of the volatility bands applied to the oscillator.
Volume Filter Multiplier: Determines the threshold required for volume validation (e.g., 1.5 requires volume to be 50% above its moving average).
HTF Timeframe: Defines the higher timeframe used for macro-trend alignment (defaults to Daily).
Squeeze Angle Threshold: The maximum absolute angle permitted to trigger a volatility contraction state.
Trade Labels (Risk:Reward): Allows fine-tuning of the Stop Loss padding and the precise ratios for TP1, TP2, and TP3 targets.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator relies on a robust foundation of applied mathematics and digital signal processing. The core methodology employs non-linear dynamic state estimation. Unlike standard moving averages that suffer from inherent group delay, the integration of algorithms akin to the Kalman filter allows the script to recursively project the next state of momentum and update that projection based on incoming price data. This minimizes lag while aggressively smoothing standard deviation anomalies.
Furthermore, the application of volatility banding (ATR) directly to an bounded oscillator (RSI) represents a shift from price-domain analysis to momentum-domain analysis. By calculating the variance of the momentum itself, the script acknowledges that momentum has its own distinct volatility profile, independent of price action. The kinematics of the trend are evaluated using trigonometric functions to derive the slope (velocity) and the rate of change of the slope (acceleration). This multidimensional approach ensures that signals are not generated merely by price crossing a threshold, but by a mathematically validated shift in the kinetic energy of the market.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Dynamic Pivot Structure [DPS]Dynamic Pivot Structure (DPS) is a price structure analysis tool that automatically detects pivot points, classifies market structure (HH, HL, LH, LL), and generates dynamic support/resistance zones with mitigation tracking.
**Mathematical Foundation:**
The indicator uses the standard pivot point detection algorithm with configurable left and right bar confirmations. A pivot high is confirmed when the high of a bar is greater than the highs of all N bars to its left and N bars to its right. Similarly for pivot lows. This provides mathematically validated local extremes rather than arbitrary level selection.
Market structure classification follows the Dow Theory framework: Higher Highs (HH) and Higher Lows (HL) define uptrends; Lower Highs (LH) and Lower Lows (LL) define downtrends. The indicator tracks consecutive pivot sequences and labels each new pivot with its structural classification.
Support and resistance zones are generated around each pivot using the Average True Range (ATR) for zone width. This creates proportional zones that automatically adjust to the instrument's volatility. The indicator tracks zone mitigation — when price penetrates a zone, it is marked as mitigated and visually faded.
**Signal Logic:**
Buy signals fire when price is near an unmitigated support zone, above the trend EMA, with RSI below 40 or bullish structure (HH/HL), and ADX confirming a trending environment. Sell signals fire near resistance with bearish conditions.
**Features:**
- Automatic pivot high/low detection with adjustable sensitivity
- Market structure classification (HH, HL, LH, LL)
- Dynamic ATR-based support and resistance zones
- Zone mitigation tracking with visual feedback
- ADX trend strength filter
- Trend EMA overlay
- Dashboard showing structure type, ADX, and proximity status
Indicator

Dynamic Support & Resistance [UAlgo]Dynamic Support & Resistance is a pivot driven structure indicator that detects recurring reaction prices and converts them into live support and resistance zones. The script does not treat every pivot as an isolated event. Instead, it groups nearby pivots into shared price areas, counts how many times the market has respected each area, and only promotes a level visually once it reaches the required minimum number of touches.
This creates a cleaner and more practical market structure map. When price reacts again near an existing zone, the level is updated rather than duplicated. As a result, the plotted areas represent repeated interaction and growing structural significance instead of a large collection of disconnected swing points.
Each active level is displayed as a channel centered on the level price. The size of that channel is based on the user selected tolerance percentage, so every level is shown as a reaction zone rather than a single exact line only. A center line and a text label are also added, which makes the structure easier to read in live chart conditions.
The script also includes a clear invalidation model. Support becomes invalid when price closes meaningfully below the zone by more than the selected break threshold. Resistance follows the opposite logic. Once invalidated, the level is removed from the active structure map, which keeps the chart focused on areas that are still relevant.
This makes the indicator useful for traders who want a simple but adaptive framework for mapping horizontal support and resistance. It works well for identifying repeated reaction zones, tracking the growth of structural importance through multiple touches, and recognizing when a level has finally lost validity.
🔹 Features
🔸 Pivot Based Structure Detection
The script starts from confirmed pivot highs and pivot lows. This means support and resistance zones are built from meaningful swing points rather than from arbitrary rolling highs and lows. As a result, the detected levels are more closely aligned with actual market turning areas.
🔸 Level Clustering Instead of Raw Pivot Plotting
A newly detected pivot is not always turned into a brand new level. The script first checks whether that pivot belongs to an existing active zone within the allowed tolerance. If it does, the existing level is updated. If it does not, a new level is created. This prevents unnecessary duplication and keeps the structure map organized.
🔸 Touch Counting and Strength Filtering
Every level tracks how many times price has reacted around it. A zone becomes visually important only after it reaches the required minimum number of touches. This helps filter out weak one time reactions and highlights price areas that have shown repeated acceptance or rejection.
🔸 Adaptive Reaction Zones
Each level is displayed as a channel rather than as a single price only. The channel width is calculated from the level price and the selected tolerance percentage. This makes the plotted area more realistic because support and resistance usually behave as zones rather than exact ticks.
🔸 Dynamic Price Recentering
When a new pivot is assigned to an existing level, the script updates the level price using an average based on the previous stored price and the new pivot. This gradually shifts the zone toward the center of actual reaction activity, which makes the level more representative over time.
🔸 Separate Support and Resistance Maps
Support and resistance are stored independently in their own arrays. This allows the script to manage bullish and bearish reaction zones separately while preserving clean logic for visualization, touch counting, invalidation, and cleanup.
🔸 Live Visual Rendering
Once a level becomes strong enough, the script draws:
a reaction channel,
a center line,
and a label showing the role and price.
This produces a chart friendly display that is easy to interpret during live trading or post analysis.
🔸 Invalidation by Closing Break
Levels are not removed by random intrabar noise alone. Instead, support is invalidated only when closing price moves below the level by more than the selected break percentage, and resistance is invalidated only when closing price moves above it by more than that threshold. This helps reduce premature removals.
🔸 Automatic Cleanup
Broken levels are removed from the active arrays after invalidation. This keeps the script efficient and prevents the internal structure store from filling with irrelevant levels.
🔸 Label Position Refresh
On the last bar, active labels are shifted slightly forward so they remain readable and do not sit directly on top of current candles. This small detail improves chart presentation significantly.
🔹 Calculations
1) Pivot Detection
float ph = ta.pivothigh(high, pivotLen, pivotLen)
float pl = ta.pivotlow(low, pivotLen, pivotLen)
int pIdx = bar_index - pivotLen
if not na(ph)
resistances.processPoint(ph, -1, pIdx)
if not na(pl)
supports.processPoint(pl, 1, pIdx)
This is the starting point of the script.
The code uses ta.pivothigh and ta.pivotlow to detect confirmed swing highs and swing lows. Because pivots are only confirmed after pivotLen bars on both sides, the actual pivot bar is not the current bar. That is why the script calculates:
pIdx = bar_index - pivotLen
This gives the real bar index where the pivot occurred.
Then the pivot is passed into the correct structure map:
pivot highs go into the resistance array,
pivot lows go into the support array.
So at this stage, the script is transforming raw swing points into candidate support or resistance events.
2) Grouping New Pivots Into Existing Levels
method processPoint(array levels, float price, int role, int idx) =>
bool found = false
for in levels
if lvl.active
float tolerance = lvl.price * zonePct
if math.abs(price - lvl.price) <= tolerance
lvl.price := (lvl.price * lvl.count + price) / (lvl.count + 1)
lvl.count += 1
lvl.updateVisuals()
found := true
break
if not found
SRLevel newLvl = SRLevel.new(price, 1, role, true, na, na, na, idx)
levels.push(newLvl)
This method decides whether a new pivot should strengthen an existing level or create a completely new one.
For every active level in the relevant array, the script calculates a tolerance band:
tolerance = lvl.price * zonePct
Then it checks whether the new pivot price is close enough to that level:
math.abs(price - lvl.price) <= tolerance
If the pivot falls inside the allowed zone, the script treats it as another touch of the same structure. It then updates the stored level price using an average weighted by the existing touch count:
lvl.price := (lvl.price * lvl.count + price) / (lvl.count + 1)
This is important. The level does not stay frozen forever. It gradually recenters as more pivots are absorbed into it. At the same time, the touch count increases, which strengthens the zone statistically.
If no active level is close enough, the script creates a fresh support or resistance level with an initial count of one.
So this method is the core clustering engine of the whole indicator.
3) Minimum Touch Logic and Zone Construction
method updateVisuals(SRLevel this) =>
if this.active and this.count >= minStrength
color c = this.role == 1 ? colSup : colRes
float tolerance = this.price * zonePct
float top = this.price + tolerance
float bot = this.price - tolerance
This is the first visual gate.
A level is drawn only if two conditions are true:
the level must still be active,
and its touch count must be greater than or equal to the minimum strength input.
That means weak single touch levels can exist internally, but they are not shown until they prove themselves.
Once the level qualifies, the script calculates the channel boundaries around the center price:
top = this.price + tolerance
bot = this.price - tolerance
So the plotted zone is always centered on the current level price and expands above and below it by the selected tolerance percentage.
This is what turns the raw pivot cluster into an actual support or resistance zone.
4) Drawing the Channel, Center Line, and Label
if na(this.bx)
this.bx := box.new(
left=this.start_idx,
top=top,
right=bar_index,
bottom=bot,
border_color=color.new(c, 0),
border_style=line.style_dotted,
bgcolor=color.new(c, 80),
extend=extend.right
)
else
this.bx.set_top(top)
this.bx.set_bottom(bot)
if na(this.ln)
this.ln := line.new(
x1=this.start_idx,
y1=this.price,
x2=bar_index,
y2=this.price,
color=c,
width=1,
extend=extend.right
)
else
this.ln.set_y1(this.price)
this.ln.set_y2(this.price)
Once a level is strong enough, the script renders its visual structure.
The box represents the full support or resistance channel from the starting pivot index to the current bar, and it is extended to the right so the zone remains visible into future bars.
The line is drawn exactly at the stored level price, which serves as the center of the zone. Because the price can shift slightly over time as new pivots are absorbed, the center line is updated dynamically as well.
So visually, each confirmed level contains:
a shaded reaction area,
a center reference line,
and an ongoing extension into the future.
This gives the user both a zone view and a central price reference at the same time.
5) Text Label Calculation
string txt = str.format("{0} - {1,number,#.##}", this.role == 1 ? "Support" : "Resistance", this.price)
if na(this.lbl)
this.lbl := label.new(
x=bar_index,
y=this.price,
text=txt,
style=label.style_label_left,
color=color.new(color.black, 100),
textcolor=colTxt,
size=size.small
)
else
this.lbl.set_xy(bar_index, this.price)
this.lbl.set_text(txt)
This snippet builds and updates the text label for each visible level.
The label text is generated from the level role and the current averaged level price. So if the level belongs to the bullish structure map, the label shows Support and the current price. If it belongs to the bearish structure map, it shows Resistance and the current price.
The label is then either created or updated at the latest bar.
This means the label always reflects the most current state of the zone instead of staying attached to an outdated price.
6) Invalidation Logic
method checkInvalidation(array levels, float currentPrice) =>
for in levels
if lvl.active
float threshold = lvl.price * breakPct
bool broken = false
if lvl.role == 1
if currentPrice < lvl.price - threshold
broken := true
else
if currentPrice > lvl.price + threshold
broken := true
if broken
lvl.active := false
lvl.updateVisuals()
This method decides when a level should stop being considered valid.
For every active level, the script calculates a break threshold based on the level price and the selected invalidation percentage:
threshold = lvl.price * breakPct
Then it applies directional logic.
For support:
price must close below the level by more than the threshold.
For resistance:
price must close above the level by more than the threshold.
This is important because it means the script does not remove zones on a tiny touch or minor overshoot. A meaningful closing break is required.
When that break happens, the level is marked inactive and its visuals are refreshed so the box, line, and label are deleted.
7) Visual Removal of Broken Levels
else if not this.active
if not na(this.bx)
this.bx.delete()
this.bx := na
if not na(this.ln)
this.ln.delete()
this.ln := na
if not na(this.lbl)
this.lbl.delete()
this.lbl := na
This is the part of updateVisuals that handles invalidated levels.
Once a level is no longer active, the script deletes all visual objects associated with it:
the channel box,
the center line,
and the text label.
This keeps the chart focused on only those support and resistance zones that are still valid. It also prevents broken levels from continuing to influence the user visually after the market has already moved through them.
8) Cleanup of Inactive Objects From Memory
method cleanup(array levels) =>
int n = levels.size()
if n > 0
for i = n - 1 to 0
SRLevel lvl = levels.get(i)
if not lvl.active
levels.remove(i)
Deleting a level visually is only one part of the process. The script also removes inactive levels from the calculation arrays.
This reverse loop is important because removing array elements while looping forward can shift indices and create logic errors. By iterating from the end toward zero, the script safely removes inactive items.
This keeps the internal storage efficient and prevents the structure engine from wasting time checking already broken zones on future bars.
9) Last Bar Label Position Update
if barstate.islast
for lvl in supports
if lvl.active and not na(lvl.lbl)
lvl.lbl.set_x(bar_index + 5)
for lvl in resistances
if lvl.active and not na(lvl.lbl)
lvl.lbl.set_x(bar_index + 5)
This small block improves readability on the chart.
On the last visible bar, the script shifts active labels slightly to the right of the current candle. That creates a cleaner presentation and reduces overlap between labels and price bars.
Although this does not change the structural logic of the indicator, it improves usability in live analysis and makes the levels easier to read at a glance.
10) Full Execution Flow
if not na(ph)
resistances.processPoint(ph, -1, pIdx)
if not na(pl)
supports.processPoint(pl, 1, pIdx)
supports.checkInvalidation(close)
resistances.checkInvalidation(close)
supports.cleanup()
resistances.cleanup()
This compact block summarizes how the script behaves on every bar.
First, it checks whether a new pivot high or pivot low has been confirmed.
Second, it sends that pivot into the correct level array.
Third, it checks whether any active support or resistance has been invalidated by the current closing price.
Finally, it removes inactive levels from memory.
So the script is constantly cycling through four steps:
detect,
cluster,
invalidate,
clean.
That is why the indicator remains dynamic. It is always updating the active structure map as the market evolves. Indicator

Session Anchored OIWAP [Arjo]The Session Anchored OIWAP (Open Interest Weighted Average Price) indicator shows you a weighted average price that uses Open Interest (OI) changes during different trading sessions . It divides the day into four clear sessions: Opening Hour , Morning Session , Mid-Day Session , and Closing Session .
For each session , it calculates a weighted average price using both market price and open interest data from futures . This line updates as the session progresses and resets when a new session starts .
You can also see optional deviation bands that you visually compare to how far the market price is moving away from the session’s weighted average. This indicator also helps you watch how Open Interest changes connect with price movements during specific market hours.
Concepts
This tool works on a few simple ideas:
Session anchoring
Each session starts fresh. The indicator resets and begins a new calculation when a new time block begins. This allows users to visually study each session independently.
Open-interest weighting
Instead of treating all price moves equally, price changes linked to higher open-interest activity have more influence on the OIWAP. This gives a weighted reflection of where the market has been trading during the session.
Averaging and smoothing
The OIWAP line blends many price data points into one smooth curve, making it easier to follow than raw price movement.
Volatility display with bands
The upper and lower bands are placed at ±0.5 standard deviation from the OIWAP line. These bands simply help you see when price stretches further away than usual from the session average.
Features
Four Independent Session Calculations: Shows separate OIWAP lines for Opening Hour (default: 09:15-10:15), Morning (10:15-11:30), Mid-Day (11:30-14:00), and Closing (14:00-15:30) sessions
Open Interest Weighting: Uses absolute OI change as the weight instead of traditional volume
Customizable Session Times: You can change the time ranges for each session to match your market or what you need
Optional Deviation Bands: You can turn ±0.5 standard deviation bands on or off around each OIWAP line
Color-Coded Sessions: Each session has its own color so you can tell them apart easily
Selective Display: You can turn individual sessions and bands on or off
Data Availability Check: Shows you a notification when Open Interest data isn't available for your symbol
Adjustable Position Timeframe: You can calculate OI changes on different timeframes (Chart, Daily, 15min, 30min, 60min, 120min)
How to use
Add this indicator to a chart of any symbol that has Open Interest data ( from futures or derivatives contracts). Once you add it, you'll see colored lines showing the OIWAP for each session you enable, along with optional deviation bands.
Adjusting Settings:
Turn individual sessions on or off using the checkboxes in the " Sessions " section
Change session colors to match your chart or what looks good to you
Turn deviation bands on or off using the " Show Bands " option in the Display settings
Change session time ranges in the " Session Times " section to match your market hours or what you want to analyze
Change the Position Timeframe if you want to see OI changes calculated on a different time period
Visual Interpretation:
Each OIWAP line shows you the OI-weighted average price for that session
The deviation bands show you how much prices spread out, weighted by OI changes
You can watch how price interacts with these levels to see where significant OI activity happened
Different sessions may show different OIWAP levels, showing you how the OI-price relationship changes throughout the trading day
Note:
This indicator needs Open Interest data to work. If OI data isn't available for your symbol, you'll see a message in the center of your chart. This indicator works only with derivatives markets like futures and options in the Indian Market where OI data is publicly available.
Conclusion
The Session Anchored OIWAP indicator is designed to support structured market observation by combining price, open interest, and session anchoring into a clear visual format. It helps users study market behavior during different parts of the day without generating trading instructions or outcomes.
Disclaimer
This indicator is for educational and visual-analysis purposes only. It does not provide trading signals , financial advice, or guaranteed outcomes . You should perform your own research and consult a licensed financial professional when needed. All trading decisions are solely the responsibility of the user.
Happy Trading
Indicator

Gridbot Ping Pong🏓 Gridbot Ping Pong is a dynamic grid bot indicator that generates buy and sell signals as price oscillates between automatically calculated support and resistance levels. The grid adapts to trending markets through adjustable tilt and anchor parameters, which control the grid slope and shift resistance respectively. Entry signals trigger when price touches grid levels, while take profit and stop signals manage position exits. Unlike traditional grid bots that require horizontal ranges, this indicator maintains its oscillation zone as price trends by tilting and shifting the grid structure to follow momentum. The grid bot approach aims to accumulate gains through frequent touches across multiple grid levels rather than seeking large directional moves. Like a ping pong ball in motion, price oscillates between grid levels — each touch generates a signal.
⚡ THEORY & CONCEPTS ⚡
Grid trading is a systematic approach that places buy and sell orders at predetermined price intervals, creating a grid of orders above and below a set price level. In ranging markets, this method capitalizes on natural price oscillations by buying at lower grid levels and selling at higher ones. Each completed round trip between levels represents a captured opportunity, and the frequency of these oscillations determines the grid's effectiveness. Traditional grid bots excel when price remains within the defined range, methodically accumulating gains as price bounces between levels.
However, traditional grid structures face significant challenges when markets begin to trend. Fixed horizontal levels that performed well during consolidation become liabilities during directional moves. An uptrend leaves buy orders unfilled while sell orders trigger prematurely, and a downtrend creates the opposite problem. Extended trends can result in accumulated positions at increasingly unfavorable prices, with no mechanism to adapt to the new market reality. The static nature of traditional grids assumes markets will return to the mean, yet sustained breakouts regularly invalidate this assumption.
Gridbot Ping Pong addresses these limitations through dynamic grid adaptation. The tilt parameter angles the grid in the direction of the prevailing trend, aligning support and resistance levels with market momentum rather than fighting against it. The anchor parameter creates buffer zones beyond the outer grid boundaries, requiring price to demonstrate conviction before triggering a grid shift. When price breaks through these buffers, the entire grid recenters to the new price level. This combination of tilting grids and controlled shifting allows the indicator to maintain grid trading mechanics while acknowledging that markets trend.
The grid adapts through a downtrend and early reversal. Entry signals (▲▼), take profit signals (△▽), and grid shifts demonstrate the ping pong sequence as price oscillates between levels.
The grid structure consists of five levels: two potential support levels below, a center base price, and two potential resistance levels above. These levels are calculated as percentage intervals from a dynamic base price, with the spacing parameter determining the distance between each level. Trend direction is derived from consecutive grid shifts, where multiple shifts in the same direction confirm momentum. The grid restricts entries to the trend direction — buy signals in uptrends, sell signals in downtrends — while counter-trend signals convert to exits when appropriate.
Full market cycle demonstrating grid adaptation through rally, reversal, decline, and recovery. Buy signals dominate during uptrends, sell signals during downtrends, with take profits at boundaries throughout. Two stop signals mark the trend reversals.
Tilt
The tilt mechanic introduces slope to the grid structure based on trend direction and momentum. When consecutive shifts occur in the same direction, the tilt increases, creating a steeper grid that tracks with the trend. As the trend progresses, support levels rise with it — buy signals trigger on pullbacks to these rising levels rather than static levels abandoned by price. Similarly, resistance levels fall during downtrends, keeping sell signals relevant to current price action. If the trend reverses and shifts occur in the opposite direction, the tilt resets and begins building in the new direction. The tilt strength parameter controls how aggressively the grid slopes, with higher values producing steeper angles. Negative tilt values invert this relationship, angling the grid against the prevailing momentum rather than with it. This counter-trend configuration positions support levels lower during uptrends and resistance levels higher during downtrends, favoring mean reversion entries that anticipate pullbacks rather than continuation.
Negative tilt applied during an uptrend. Despite the bullish price action from late November through December, the grids slope downward, positioning buy signals at deeper support levels. Take profit signals appear at resistance as price reaches the upper grid boundaries before pulling back. The counter-trend configuration captures oscillations within the rising market rather than chasing momentum.
Anchor
The anchor mechanic provides resistance to grid shifting. Buffer zones extend beyond the outer grid boundaries, requiring price to demonstrate conviction before triggering a shift. Higher anchor values create larger buffers, requiring more significant price movement. As consecutive shifts confirm a trend, the pro-trend buffer shrinks, allowing the grid to follow momentum with increasing ease. This lets the indicator commit to established trends while resisting premature shifts during consolidations. Tilt and anchor work in complementary tension: tilt rewards momentum by angling the grid, while anchor resists excessive shifting by requiring price conviction to recenter. When price breaks through these buffers, the entire grid recenters to the new price level and play continues on a fresh table.
Steady uptrend with minimal tilt. The flat grid segments demonstrate that shifting alone keeps the grid aligned with price action. Buy signals (▲) and take profit signals (▽) alternate as price bounces between levels, accumulating gains through repetition across the entire move.
Sustained uptrend from June through September. The grid follows the trend with increasing ease as consecutive shifts reduce the pro-trend buffer. The October consolidation eventually triggers a downward shift and stop signal, but the system adapts to the renewed uptrend in November with fresh entry signals.
Signal Generation
The indicator generates three signal types. Entry signals (▲▼) trigger when price reaches a grid level in the direction of the trend, initiating a new position. Take profit signals (△▽) trigger when price reaches a grid level against the trend direction while a position is held, capturing gains as the rally continues. Stop signals (⦿) trigger when a grid shift occurs while holding a position adverse to the new shift direction. The ball goes off the table.
Trend reversal from bearish to bullish. The grid follows the downtrend through November with consecutive sell signals. A stop signal (⦿) triggers at the bottom as the grid shifts adversely against the held position. The system resets and adapts to the emerging uptrend in December, generating fresh buy signals as the new direction establishes.
Trigger Options
The signal trigger determines what price data the indicator uses to detect grid touches, balancing responsiveness against confirmation.
Auto : The default setting, using wick-based detection for pro-trend signals and close-based detection for counter-trend signals. This balances responsiveness when entering with the trend against confirmation when signaling against it.
Wick Touch : Generates signals in real-time when the high or low touches a grid level, providing the fastest response to price interaction.
Wick Reverse : Requires the wick to cross through the grid level from the previous bar, confirming the touch before signaling.
SWMA : Uses a Symmetrically Weighted Moving Average as the trigger source, generating signals only when the smoothed price crosses grid levels.
Close : Uses the bar's closing price as the trigger source, providing confirmed signals after each bar completes.
Symmetrically Weighted Moving Average (SWMA) trigger during a trend reversal. The smoothed price line filters intrabar noise, generating signals only when the SWMA crosses grid levels rather than reacting to wick touches. The grid follows the downtrend through November, resets at the bottom, and adapts to the emerging uptrend in December.
Signal Safeguards
The indicator includes built-in protections to reduce overtrading and mitigate risk, keeping the ball in play longer:
Boundary Protection : New entries are blocked at the outermost grid levels where breakout risk is highest. Exits remain permitted at these boundaries.
Signal Spacing : Signals maintain one-level separation from the most recent signal, preventing clusters of entries at similar prices.
Trend Alignment : When conflicting conditions arise, signals align with the prevailing trend direction rather than fighting momentum.
Automatic Profit Taking : Counter-trend interactions convert to take profit signals when a position is held, capturing gains rather than reversing exposure.
Adverse Shift Stops : When the grid shifts against a held position, a stop signal triggers to exit before further adverse movement.
Cautious Breakout Entries : On the first shift in a new direction, entries are restricted to favorable grid levels until the trend confirms through consecutive shifts.
Shift Resistance : Counter-trend shifts always require full buffer conviction, while pro-trend shifts become easier only after the trend is confirmed.
🛠️ CONFIGURATION & SETTINGS 🛠️
Core Parameters
SPACING (%) : Sets the percentage distance between grid levels. Higher values create wider grids with more room between signals, lower values create tighter grids with more frequent signal opportunities.
TRIGGER : Selects the price source for signal detection. See Trigger Options above.
TILT : Controls the grid slope factor in the trend direction.
ANCHOR : Controls resistance to grid shifting.
Visual Settings
GRIDS : Sets the colors for support (lower) and resistance (upper) grid levels.
FILL : Sets the gradient fill colors between the price line and outer grid boundaries.
SWMA : Sets the color of the Symmetrically Weighted Moving Average line.
🏓 PLAYING GRIDBOT PING PONG 🏓
⚪The objective is not to predict where price will go, but to be present at each level when it arrives.
⚪Each touch at a boundary counts. Gains accumulate through repetition, not single swings.
⚪The rally continues until it doesn't. When the ball goes off the table, the game resets.
⚪The grid creates boundaries where price bounces back and forth. The table is set — the ball does the work.
⚪Price oscillates between defined levels. The grid is the table. Everything else is just ping pong.
Tennis is a form of ping pong. In fact, tennis is ping pong played while standing on the table. In fact, all racquet games are nothing but derivatives of ping pong. — George Carlin
⚠️ DISCLAIMER ⚠️
The Gridbot Ping Pong indicator is a visual analysis tool designed to illustrate grid trading concepts and serve as a framework for understanding grid bot mechanics. While the indicator generates entry, exit, and stop signals, no guarantee is made regarding the profitability of these signals. Like all technical indicators, the grid levels and signals generated by this tool may appear to align with favorable trading opportunities in hindsight. However, these signals are not intended as standalone recommendations for trading decisions. This indicator is intended for educational and analytical purposes, complementing other tools and methods of market analysis.
🧠 BEYOND THE CODE 🧠
Gridbot Ping Pong is part of the Grid Bot Series, building on the concepts introduced in the Grid Bot Simulator , Grid Bot Auto , and Grid Bot Parabolic indicators. While those tools established the foundation for grid-based analysis, this indicator introduces dynamic tilt and anchor mechanics that adapt to trending market conditions.
This indicator shares the same educational philosophy as the Fibonacci Time-Price Zones and the Fibonacci Geometry Series - providing frameworks for understanding market concepts through visualization and experimentation rather than black-box signals.
The Gridbot Ping Pong indicator, like other xxattaxx indicators , is designed to encourage both education and community engagement. Feedback and insights are invaluable to refining and enhancing this tool. We look forward to the creative applications, observations, and discussions this indicator inspires within the trading community. Indicator

RVol based Support & Resistance ZonesDescription:
This indicator is designed to help traders identify significant price levels based on institutional volume. It monitors two higher timeframes (defined by the user) simultaneously. When a candle on these higher timeframes exhibits unusually high volume—known as high Relative Volume (RVol)—the indicator automatically draws a "Zone of Interest" box on your current chart.
These zones are defined by:
Up candle : from candle open to low of candle
Down candle : from candle open to high of candle
Key Features:
Multi-Timeframe Monitoring: You can trade on a lower timeframe (e.g., 5-minute) while the indicator monitors the 30-minute and 1-hour charts for volume spikes.
RVol Boxes: Automatically draws boxes extending from high-volume candles.
Up Candles: Box covers Low to Open.
Down Candles: Box covers High to Open.
Live Dashboard: A neat, color-coded table displays the current Volume, Average Volume, and RVol percentage for your watched timeframes.
Real-Time vs. Confirmed: Choose whether to see boxes appear immediately as volume spikes (Live) or only after the candle has closed and confirmed the volume (Candle Close).
Settings Guide:
1. General Settings
Relative Volume Length: The number of past candles used to calculate the "Average Volume." (Default is 20).
Max Days Back to Draw: To keep your chart clean, this limits how far back in history the script looks for high-volume zones. (e.g., set to 5 to only see zones created in the last 5 days).
Draw Mode:
- Live (Real-time): Draws the box immediately if the current developing candle hits the volume threshold. (Note: The box may disappear if the volume average shifts before the candle closes).
- Candle Close: The box only appears once the candle has finished and permanently confirmed the volume spike.
2. Table Settings
Show Info Table: Toggles the dashboard on or off.
Text Size & Position: Customise where the table appears on your screen and how large the text is.
Colours: Fully customisable colours for the Table Header (Top row) and Data Rows (Bottom rows).
3. Timeframe 1 & 2 Settings
You have two identical sections to configure two different timeframes (e.g., 30m and 1H).
Timeframe: The chart interval to monitor (e.g., "30" for 30 minutes, "60" for 1 Hour, "240" for 4 Hours).
Threshold %: The "Trigger" for drawing a box based on relative candle volume in that timeframe.
Example:
100% = Candle Volume is equal to the average volume for the specified timeframe.
200% = Candle Volume is 2x the average volume for the specified timeframe.
300% = Candle Volume is 3x the average volume for the specified timeframe.
Box & Edge Colour: Distinct colours for each timeframe so you can easily tell which timeframe created the zone.
Indicator

Dynamic EMA Stack Support & ResistanceEvery trader needs reliable support and resistance — but static zones and lagging indicators won't cut it in fast-moving markets. This script combines a Fibonacci-based 5-EMA stacking system and left/right pivots that create dynamic support & resistance logic to uncover real-time structural shifts & momentum zones that actually adapt to price action. This isn’t just a mashup — it’s a complete built-from-the-ground-up support & resistance engine designed for scalpers, intraday traders, and trend followers alike.
🧠 🧠 🧠What It Does🧠 🧠 🧠
This script uses two powerful engines working in sync:
1️⃣ EMA Stack (5-EMA Framework)
Built on Fibonacci-based lengths: 5, 8, 13, 21, 34, (configurable) this stack identifies:
🔹 Bullish Stack: EMAs aligned from fastest to slowest (uptrend confirmation)
🔹 Bearish Stack: EMAs aligned inversely (downtrend confirmation)
🟡 Narrowing Zones: When EMAs compress within ATR thresholds → possible breakout or reversal zone
🎯 Labels identify key transitions like:
✅"Begin Bear Trend?"
✅"Uptrend SPRT"
✅"RES?" (resistance test)
2️⃣ Pivot-Based Projection Engine
Using classic Left/Right Bar pivot logic, the script:
📌 Detects early-stage swing highs/lows before full confirmation
📈 Projects horizontal S/R lines that adapt to market structure
🔁 Keeps lines active until a new pivot replaces them
🧩 Syncs beautifully with EMA stack for confluence zones
🎯🎯🎯Key Features for Traders🎯🎯🎯
✅ Trend Detection
→ EMA order reveals real-time bias (bullish, bearish, compression)
✅ Dynamic S/R Zones
→ Historical support/resistance levels auto-draw and extend
✅ Smart Labeling
→ “SPRT”, “RES”, and “Trend?” labels for live context + testing logic
✅ Custom Candle Coloring
→ Choose from Bar Color or Full Candle Overlay modes
✅ Scalper & Swing Compatible
→ Use fast confirmations for scalping or stack consistency for longer trends
⚙️⚙️⚙️How to Use⚙️⚙️⚙️
✅Use Top/Bottom (trend state) Line Colors to quickly read trend conditions.
✅Use Pivot-based support/resistance projections to anticipate where price might pause or reverse.
✅Watch for yellow/blue zones to prepare for volatility shifts/reversals.
✅Combine with volume or momentum indicators for added confirmation.
📐📐📐Customization Options📐📐📐
✅EMA lengths (5, 8, 13, 21, 34) — fully configurable - try 21,34,55, 89, 144 for longer term trend states
✅Left/Right bar pivot settings (default: 21/5)
✅Label size, visibility, and color themes
✅Toggle line and label visibility for clean layouts
✅“Max Bars Back” to control how deep history is scanned safely
🛠🛠🛠Built-In Safeguards🛠🛠🛠
✅ATR-based filters to stabilize compression logic
✅Guarded lookback (max_bars_back) to avoid runtime errors
✅Works on any asset, any timeframe
🏁🏁🏁Final Word🏁🏁🏁
This script is not just a visual tool, it’s a complete trend and structure framework. Whether you're looking for clean trend alignment, dynamic support/resistance, or early warning labels, this system is tuned to help you react with confidence — not hindsight.
Rembember, no single indicator should be used in isolation. For best results, combine it with price action analysis, higher-timeframe context, and complementary tools like trendlines, moving averages etc Use it as part of a well-rounded trading approach to confirm setups — not to define them alone.
💡💡💡Turn logic into clarity. Structure into trades. And uncertainty into confidence.💡💡💡 Indicator

Exponential Trend [AlgoAlpha]OVERVIEW
This script plots an adaptive exponential trend system that initiates from a dynamic anchor and accelerates based on time and direction. Unlike standard moving averages or trailing stops, the trend line here doesn't follow price directly—it expands exponentially from a pivot determined by a modified Supertrend logic. The result is a non-linear trend curve that starts at a specific price level and accelerates outward, allowing traders to visually assess trend strength, persistence, and early-stage reversal points through both base and volatility-adjusted extensions.
CONCEPTS
This indicator builds on the idea that trend-following tools often need dynamic, non-static expansion to reflect real market behavior. It uses a simplified Supertrend mechanism to define directional context and anchor levels, then applies an exponential growth function to simulate trend acceleration over time. The exponential growth is unidirectional and resets only when the direction flips, preserving trend memory. This method helps avoid whipsaws and adds time-weighted confirmation to trends. A volatility buffer—derived from ATR and modifiable by a width multiplier—adds a second layer to indicate zones of risk around the main trend path.
FEATURES
Exponential Trend Logic : Once a directional anchor is set, the base trend line accelerates using an exponential formula tied to elapsed bars, making the trend stronger the longer it persists.
Volatility-Adjusted Extension : A secondary band is plotted above or below the base trend line, widened by ATR to visualize volatility zones, act as soft stop regions or as a better entry point (Dynamic Support/Resistance).
Color-Coded Visualization : Clear green/red base and extension lines with shaded fills indicate trend direction and confidence levels.
Signal Markers & Alerts : Triangle markers indicate confirmed trend reversals. Built-in alerts notify users of bullish or bearish direction changes in real-time.
USAGE
Use this script to identify strong trends early, visually measure their momentum over time, and determine safe areas for entries or exits. Start by adjusting the *Exponential Rate* to control how quickly the trend expands—the higher the rate, the more aggressive the curve. The *Initial Distance* sets how far the anchor band is placed from price initially, helping filter out noise. Increase the *Width Multiplier* to widen the volatility zone for more conservative entries or exits. When the price crosses above or below the base line, a new trend is assumed and the exponential projection restarts from the new anchor. The base trend and its extension both shift over time, but only reset on a confirmed reversal. This makes the tool especially useful for momentum continuation setups or trailing stop logic in trending markets. Indicator

Money Flow Oscillator [BullByte]
Overview :
The Money Flow Oscillator is a versatile technical analysis tool designed to provide traders with insights into market momentum through the Money Flow Index (MFI). By integrating trend logic, dynamic support/resistance levels, multi-timeframe analysis, and additional indicators like ADX and Choppiness, this script delivers a detailed view of market conditions and signal strength—all while adhering to PulseWire’s publication guidelines.
Key Features :
Money Flow Analysis :
Uses the MFI to assess buying and selling pressure, helping traders gauge market momentum.
Trend Switch Logic :
Employs ATR-based calculations to determine trend direction. The background color adjusts dynamically to signal bullish or bearish conditions, and a prominent center line changes color to reflect the prevailing trend.
Dynamic Support/Resistance :
Calculates oscillator support and resistance over a pivot lookback period. These levels help you identify potential breakouts or reversals as the MFI moves above or below prior levels.
Signal Metrics & Classifications :
Combines MFI values with additional metrics to classify signals into categories such as “Strong Bullish,” “Bullish,” “Bearish,” or “Strong Bearish.” An accompanying note provides details on momentum entry and overall signal strength.
Multi-Timeframe Order Flow Confirmatio n:
Analyzes the MFI on a higher timeframe to confirm order flow. This extra layer of analysis helps verify the short-term signals generated on your primary chart.
Volume and ADX Integration :
Incorporates volume analysis and a manual ADX calculation to further validate signal strength and trend stability. A dashboard displays these metrics for quick reference.
Choppiness Indicator :
Includes a choppiness index to determine if the market is trending or choppy. When the market is identified as choppy, the script advises caution by adjusting the overall signal note.
Comprehensive Dashboard :
A built-in dashboard presents key metrics—including ADX, MFI, order flow, volume score, and support/resistance details—allowing you to quickly assess market conditions at a glance.
How to Use :
Trend Identification : Monitor the dynamic background and center line colors to recognize bullish or bearish market conditions.
Signal Confirmation : Use the oscillator support/resistance levels along with the signal classifications and dashboard data to make informed entry or exit decisions.
Multi-Timeframe Analysis : Validate short-term signals with the higher timeframe MFI order flow confirmation.
Risk Management : Always combine these insights with your own risk management strategy and further analysis.
Disclaimer :
This indicator is provided for educational and informational purposes only. It does not constitute financial advice. Always perform your own analysis and use proper risk management before making any trading decisions. Past performance is not indicative of future results. Indicator

Time-Weighted Price Action IndicatorThe Time-Weighted Price Action Indicator is a simple yet effective tool designed to detect consolidation zones based on time duration and highlight potential reversal points using a contrarian breakout logic. Instead of following traditional breakout strategies, this indicator aims to capitalize on false breakouts and reversal entries.
How It Works
• The indicator identifies a price range (zone) using a configurable lookback period.
• If the price remains within this range for a specified number of bars (threshold), a consolidation zone is confirmed.
• Once a breakout or breakdown from this zone occurs, the indicator triggers a reversed signal — suggesting a potential reversal instead of a trend-following entry.
• Support and resistance levels are marked visually, and BUY/SELL labels are plotted when price re-enters the zone, indicating potential exhaustion or traps.
Key Features
• ✅ Time-based consolidation detection
• ✅ Contrarian signal logic (Buy at breakdowns, Sell at breakouts)
• ✅ Dynamic zone plotting with support/resistance visualization
• ✅ Auto-reset after each breakout for fresh zone detection
• ✅ Visual labels and alerts for BUY/SELL signals
How to Use
• Ideal for range-bound markets or identifying trap zones around support/resistance.
• Use in conjunction with volume, momentum, or trend filters to refine entries.
• Can complement mean reversion strategies or be used as a signal confirmation tool.
Why This Combination?
This approach blends time-based consolidation logic with a contrarian price action perspective, offering traders a different lens to analyze markets. Instead of blindly following breakouts, it highlights areas where price rejections and false breakouts often occur — common in algorithm-driven markets.
Why It’s Worth Using
This indicator helps you stay ahead of trap zones, identify reversal spots, and understand price behavior in consolidation zones — a critical edge, especially in sideways or choppy markets. It adds context to price movement, helping traders avoid common breakout failures.
Note:
• No performance guarantees or exaggerated claims.
• No solicitation or promotional language used.
• This is a free, open-source educational tool meant to aid price action understanding. Indicator

Truly Iterative Gaussian ChannelOVERVIEW
The Truly Iterative Gaussian Channel is a robust channeling system that integrates a Gaussian smoothing kernel with a rolling standard deviation to create dynamically adaptive upper and lower boundaries around price. This indicator provides a smooth, yet responsive representation of price movements while minimizing lag and dynamically adjusting channel width to reflect real-time market volatility. Its versatility makes it effective across various timeframes and trading styles, offering significant potential for experimentation and integration into advanced trading systems.
TRADING USES
The Gaussian indicator can be used for multiple trading strategies. Trend following relies on the middle Gaussian line to gauge trend direction: prices above this line indicate bullish momentum, while prices below signal bearish momentum. The upper and lower boundaries act as dynamic support and resistance levels, offering breakout or pullback entry opportunities. Mean reversion focuses on identifying reversal setups when price approaches or breaches the outer boundaries, aiming for a return to the Gaussian centerline. Volatility filtering helps assess market conditions, with narrow channels indicating low volatility or consolidation and suggesting fewer trading opportunities or an impending breakout. Adaptive risk management uses channel width to adjust for market volatility, with wider channels signaling higher risk and tighter channels indicating lower volatility and potentially safer entry points.
THEORY
Gaussian kernel smoothing, derived from the Gaussian normal distribution, is a cornerstone of probability and statistics, valued for its ability to reduce noise while preserving critical signal features. In this indicator, it ensures price movements are smoothed with precision, minimizing distortion while maintaining responsiveness to market dynamics.
The rolling standard deviation complements this by dynamically measuring price dispersion from the mean, enabling the channel to adapt in real time to changing market conditions. This combination leverages the mathematical correctness of both tools to balance smoothness and adaptability.
An iterative framework processes data efficiently, bar by bar, without recalculating historical value to ensure reliability and preventing repainting to create a mathematically grounded channel system suitable for a wide range of market environments.
The Gaussian channel excels at filtering noise while remaining responsive to price action, providing traders with a dependable tool for identifying trends, reversals, and volatility shifts with consistency and precision.
CALIBRATION
Calibration of the Gaussian channel involves adjusting its length to modify sensitivity and adaptability based on trading style. Shorter lengths (e.g., 50-100) are ideal for intraday traders seeking quick responses to price fluctuations. Medium lengths (e.g., 150-200) cater to swing traders aiming to capture broader market trends. Longer lengths (e.g., 250-400+) are better suited for positional traders focusing on long-term price movements and stability.
MARKET USAGE
Stock, Forex, Crypto, Commodities, and Indices. Indicator

WillStop Pro [tradeviZion]WillStop Pro : A Step-by-Step Guide for Beginners to Master Trend Trading
Welcome to an in-depth guide to the WillStop Pro indicator. This article will walk you through the key features, how to use them effectively, and how this tool can help you navigate the markets confidently. WillStop Pro is based on principles established by Larry Williams, a well-known figure in trading, and aims to help you manage trades more effectively without overcomplicating things.
This guide will help you understand the basics of the WillStop Pro indicator, how to interpret its signals, and how to use it step-by-step to manage risk and identify opportunities in your trading journey. We will also cover the underlying logic and calculations for advanced users interested in more details.
What is the WillStop Pro Indicator?
The WillStop Pro indicator is a user-friendly tool that helps traders establish stop levels dynamically. It helps you figure out optimal points to enter or exit trades, while managing risk effectively during changing market conditions. The indicator tracks trending markets and sets price levels as stops for ongoing trades, making it suitable both for deciding when to enter and exit trades.
The indicator is beginner-friendly because it simplifies complex calculations and presents the results visually. This allows traders to focus more on their decision-making process instead of spending time with complex analysis.
WillStop Pro adapts to different market conditions, whether you're trading stocks, forex, commodities, or cryptocurrencies. It adjusts stop levels dynamically based on current market momentum, providing a practical way to manage both risk and reward.
Another significant benefit of WillStop Pro is that it works well with other indicators. Beginners can use it on its own or combine it with other tools like moving averages or oscillators to form a comprehensive trading strategy. Whether you are trading daily or looking at longer-term trends, WillStop Pro helps you manage your trades effectively.
Key Features of WillStop Pro
Dynamic Stop Levels : WillStop Pro calculates real-time stop levels for both long (buy) and short (sell) positions. This helps you protect your profits and reduce risk. The stop levels adjust based on the current market environment, making them more adaptable compared to fixed stop levels.
Advanced Stop Settings : There are optional settings to make the stop calculations more advanced, which take into consideration previous price movements to refine where the stops should be placed. These settings provide more precise control over your trades.
Break Signals and Alerts : The indicator provides visual signals, like arrows, to show when a stop level has been broken. This makes it easier for you to identify possible reversals and understand when the market direction is changing.
Comprehensive Table Display : A small table on the chart shows the current trend, the stop level, and whether advanced mode is active. This simple display provides an overview of the market, making decision-making easier.
Based on Larry Williams' Methodology : WillStop Pro builds upon Larry Williams' ideas, which are designed to capture major market trends while managing risk effectively. It provides a systematic way to follow these strategies without requiring deep technical analysis skills.
How Are Stop Levels Calculated? (For Advanced Users)
The WillStop Pro indicator determines stop levels by evaluating highs, lows, and closing prices over a specific lookback period. It uses this information to identify key points that justify adjusting your stop level, and there are separate approaches for both long and short positions.
Below, we explain the mathematical logic behind the stop calculations, along with some code snippets to give advanced users a clearer understanding.
For Long Stops (buy positions): The indicator looks for the highest closing price within the lookback period and continues until it finds three valid bars that meet certain criteria. Stops are adjusted to skip bars that have consecutive upward closes to ensure that the stop is placed at a level that offers solid support. Specifically, the function iterates over recent bars to determine the highest closing value, and checks for specific conditions before finalizing the stop level. Here is an excerpt of the relevant code:
getTrueLow(idx) => math.min(low , close )
findStopLevels() =>
float highestClose = close
int highestCloseIndex = 0
for i = 0 to lookback
if close > highestClose
highestClose := close
highestCloseIndex := i
// Logic to adjust based on up close skipping
int longCount = 0
int longCurrentIndex = highestCloseIndex
while longCount < 3 and longCurrentIndex < 100
if not isInsideBar(longCurrentIndex)
longCount += 1
longCurrentIndex += 1
// Determine the lowest low for the stop level
float longStopLevel = high * 2
for i = searchIndex to highestCloseIndex
longStopLevel := math.min(longStopLevel, getTrueLow(i))
// Apply offset
longStopLevel := longStopLevel - (offsetTicks * tickSize)
In this code snippet, the function findStopLevels() calculates the long stop level by first identifying the highest close within the lookback period and then finding a suitable support level while skipping certain conditions, such as inside bars or consecutive upward closes. Finally, the user-defined offset ( offsetTicks ) is applied to determine the stop level.
For Short Stops (sell positions): Similarly, the indicator finds the lowest closing price within the lookback period and then identifies three bars that fit the conditions for a short stop. It avoids using bars with consecutive down closes to help find a more robust resistance level. Here's a relevant code snippet:
getTrueHigh(idx) => math.max(high , close )
findStopLevels() =>
float lowestClose = close
int lowestCloseIndex = 0
for i = 0 to lookback
if close < lowestClose
lowestClose := close
lowestCloseIndex := i
// Logic to adjust based on down close skipping
int shortCount = 0
int shortCurrentIndex = lowestCloseIndex
while shortCount < 3 and shortCurrentIndex < 100
if not isInsideBar(shortCurrentIndex)
shortCount += 1
shortCurrentIndex += 1
// Determine the highest high for the stop level
float shortStopLevel = 0
for i = searchIndex to lowestCloseIndex
shortStopLevel := math.max(shortStopLevel, getTrueHigh(i))
// Apply offset
shortStopLevel := shortStopLevel + (offsetTicks * tickSize)
Here, findStopLevels() calculates the short stop level by finding the lowest closing price within the lookback period. It then determines the highest value that acts as a resistance level, excluding bars that do not fit certain criteria.
Volume Confirmation for Alert Accuracy : To further enhance the stop level accuracy, volume is used as a confirmation filter. The average volume (volAvg) is calculated over a 20-period moving average, and alerts are only generated if the volume exceeds a defined threshold (volMultiplier). This ensures that price movements are significant enough to consider as meaningful signals.
volAvg = ta.sma(volume, 20)
isVolumeConfirmed() =>
result = requireVolumeConfirmation ? volume > (volAvg * volMultiplier) : true
result
This additional logic ensures that stop level breaks or adjustments are not triggered during periods of low trading activity, thus enhancing the reliability of the generated signals.
These calculations are at the core of WillStop Pro's ability to determine dynamic stop levels that respond effectively to market movements, helping traders manage risk by placing stops at levels that make sense given historical price and volume data.
How to Identify Opportunities with WillStop Pro
WillStop Pro provides various signals that help you decide when to enter or exit a trade:
When a Stop Level is Broken: If a stop level (support for long positions or resistance for short positions) is broken, it may indicate a reversal. WillStop Pro visually plots arrows whenever a stop level is breached, making it easy for you to see where changes might occur. This feature helps traders identify momentum shifts quickly.
Support and Resistance Levels: The indicator plots support and resistance levels, which show key zones to watch for opportunities. These levels often act as psychological barriers in the market, where price action may either reverse or stall temporarily.
Dynamic State Management: The indicator shifts between long and short states based on price action, providing real-time feedback. This helps traders stick to their trading plan without second-guessing the market.
A major advantage of WillStop Pro is that it responds well to changing market conditions. By identifying when key support or resistance levels break, it allows you to adjust your strategies and react to new opportunities accordingly. Whether the market is trending strongly or staying within a range, WillStop Pro provides valuable information to help guide your trades.
Setting Up Alerts
Alerts are an important feature in trading, especially when you can’t be in front of your charts all the time. WillStop Pro has been enhanced to include flexible alert settings to help you stay on top of your trades without constantly monitoring the charts.
Enable Alerts: There is a master switch to enable or disable all alerts. This way, you can control whether you want to be notified of events at any time.
Alert Frequency: Choose between receiving alerts Once Per Bar or Once Per Bar Close . This helps you manage the frequency of alerts and decide if you need real-time updates or want confirmation after a bar closes.
Break Alerts: These alerts notify you when a stop level has been broken. This can help you catch potential reversals or trading opportunities as soon as they happen.
Strong Break Alerts: Alerts are available for strong breaks, which occur when the price breaks stop levels with confirmation based on additional price, volume, and momentum criteria. These alerts help identify significant shifts in the market.
Level Change Alerts: These alerts tell you whenever a new stop level is calculated, keeping you updated about changes in market dynamics. You can set a Minimum Level Change % to ensure that alerts are only triggered when the stop level changes significantly.
Require Volume Confirmation: You can opt to receive alerts only if the volume is above a certain threshold. This confirmation helps reduce false signals by ensuring that significant price changes are backed by increased trading activity.
Volume Multiplier: The volume multiplier allows you to set a minimum volume requirement that must be met for an alert to trigger. This ensures that alerts are triggered only when there is sufficient trading interest.
Here is a part of the updated alert logic that has been implemented in the indicator:
// Alert on break conditions
if alertsEnabled
if alertOnBreaks
if longStopBroken and isVolumeConfirmed()
alert(createAlertMessage("Support Break - Short Signal", useAdvancedStops), alertFreq)
if shortStopBroken and isVolumeConfirmed()
alert(createAlertMessage("Resistance Break - Long Signal", useAdvancedStops), alertFreq)
// Strong break alerts
if alertOnStrongBreaks
if longStopBroken and isStrongBreak(false)
alert(createAlertMessage("Strong Support Break - Short Signal", useAdvancedStops), alertFreq)
if shortStopBroken and isStrongBreak(true)
alert(createAlertMessage("Strong Resistance Break - Long Signal", useAdvancedStops), alertFreq)
// Level change alerts
if alertOnLevelChanges and isSignificantChange() and isVolumeConfirmed()
alert(createAlertMessage("Significant Level Change", useAdvancedStops), alertFreq)
Setting alerts allows you to react to market changes without having to watch the charts constantly. Alerts are particularly helpful if you have other responsibilities and can’t be actively monitoring your trades all day.
Understanding the Table Display
The WillStop Pro indicator provides a status table that gives an overview of the current market state. Here’s what the table shows:
Indicator Status: The table indicates whether the indicator is in a LONG or SHORT state. This helps you quickly understand the market trend.
Stop Level: The active stop level is shown, whether it is acting as support (long) or resistance (short). This is important for knowing where to set your protective stops.
Mode: The table also displays whether the advanced calculation mode is being used. This keeps you informed about how stop levels are being calculated and why they are positioned where they are.
Empowering Messages: The table also includes motivational messages that rotate periodically, such as 'Trade with Clarity, Stop with Precision' and 'Let Winners Run, Cut Losses Short.' These messages are designed to keep you focused, motivated, and disciplined during your trading journey.
The table is simple and easy to follow, helping you maintain discipline in your trading plan. By having all the essential information in one place, the table reduces the need to make quick, emotional decisions and promotes more thoughtful analysis.
Tips for Using WillStop Pro Effectively
Here are some practical ways to make the most of the WillStop Pro indicator:
Start with Default Settings: If you’re new to the indicator, start with the default settings. This will give you an idea of how stop levels are determined and how they adjust to different markets.
Experiment with Advanced Settings: Once you are comfortable, try using the advanced stop settings to see how they refine the stop levels. This can be useful in certain market conditions to improve accuracy.
Use Alerts to Stay Updated: Set up alerts for when a stop level is broken or when new levels are calculated. This helps you take action without constantly watching the chart. Swing traders may find alerts especially helpful for monitoring longer-term moves.
Monitor the Status Table: Keep an eye on the status table to understand the current market condition. Whether the indicator is in a LONG or SHORT state can help you make more informed decisions.
Focus on Risk Management: WillStop Pro is designed to help you manage risk by dynamically adjusting stop levels. Make sure you are using these levels to protect your trades, especially during strong trends or volatile periods.
Acknowledging Larry Williams' Influence
WillStop Pro is inspired by the work of Larry Williams, who described the approach as one of his best trading techniques. His method aims to ride major market trends while reducing the risk of giving back gains during corrections. WillStop Pro builds upon this approach, adding features like advanced stop settings and visual alerts that make it easier to apply in modern markets.
By using WillStop Pro, you are essentially leveraging a well-established trading strategy with additional tools that help improve its effectiveness. The indicator is designed to provide a reliable way to manage trades, stay on top of market conditions, and reduce emotional decision-making.
Conclusion: Why WillStop Pro is Great for Beginners and Advanced Users
The WillStop Pro is a powerful yet easy-to-use tool that helps traders ride trends while managing risk during market corrections. It can be used both for entering and exiting trades, and its visual features make it accessible for those who are new to trading, while the underlying logic appeals to advanced users seeking greater control and understanding.
WillStop Pro is more than just a tool for setting stops. It is a comprehensive solution for managing trades, with features like dynamic stop levels, customizable alerts, and an easy-to-understand status table. This combination of simplicity and advanced features makes it suitable for beginners as well as more experienced traders.
We hope this guide helps you get started with WillStop Pro and improves your trading confidence. Remember to start with the basics, explore the advanced features, and set alerts to stay informed without getting overwhelmed. Whether you’re just beginning or want to simplify your strategy, WillStop Pro is a valuable tool to have in your trading arsenal.
Trading can be challenging, but the right tools make it more manageable. WillStop Pro helps you keep track of market movements, identify opportunities, and manage risk effectively. Give it a try and see how it can improve your trading decisions and help you navigate the markets more efficiently.
By incorporating WillStop Pro into your strategy, you are following a systematic approach that has been refined over time. It’s designed to help you make sense of the markets, plan your trades, and manage your risks with greater clarity and confidence.
Note: Always practice proper risk management and thoroughly test the indicator to ensure it aligns with your trading strategy. Past performance is not indicative of future results.
Trade smarter with TradeVizion—unlock your trading potential today! Indicator

Options Series - Dynamic Support & Resistance
🌟 Key Features & How It Works:
⭐ Dynamic Support and Resistance Management:
The script dynamically calculates and draws support and resistance lines based on pivot highs and pivot lows. Unlike static levels that remain unchanged, these lines are updated in real-time. When a support or resistance level is breached, the corresponding line is automatically deleted, keeping the chart clean and relevant. This feature ensures that the trader is always looking at valid support and resistance levels based on the current price action.
⭐ Use of Arrays for Line Management:
The script utilizes arrays to store and manage support and resistance lines (array.new_line(0)). This is a more advanced feature of Pine Script v5, allowing for efficient handling of multiple lines on the chart. By using arrays, the script can easily track and manipulate multiple lines (adding, removing, updating), ensuring that the chart remains optimized for real-time analysis.
⭐ Customizable Inputs for Flexibility:
The script includes user inputs for the pivot length and the line width, making it adaptable to different trading styles and preferences. The pivot length determines how sensitive the indicator is to price changes, while the line width allows traders to customize the visual representation of support and resistance levels. These inputs add flexibility and make the script accessible to a broad range of traders.
⭐ Efficient Breach Detection Mechanism:
The isBreached function is a key part of the script. It checks whether the current price has breached any of the existing support or resistance levels. If a breach is detected (i.e., the price crosses below a support or above a resistance), the respective line is deleted, ensuring that only active and valid lines remain on the chart. This automatic update feature reduces the need for manual intervention, helping traders stay focused on key price levels.
⭐ Visual Clarity and Chart Cleanliness:
By deleting breached lines, the script ensures that the chart does not become cluttered with outdated or irrelevant lines. This visual clarity is crucial for traders who rely on clean, simple charts for decision-making. Removing unnecessary information helps traders make faster, more confident decisions based on the current market structure.
⭐ Scalability for Multiple Timeframes:
The use of pivot points makes the script adaptable to different timeframes, from intraday scalping to longer-term swing trading. By changing the pivot length, traders can optimize the indicator for different market environments, ensuring that it can be applied across various asset classes and timeframes.
⭐ Practical for Range-bound and Breakout Trading:
This script is particularly effective for traders who focus on range-bound markets or breakout strategies. It allows them to quickly identify areas where price is likely to reverse (support/resistance) or break out (when support/resistance is breached), providing real-time insight into market dynamics.
⭐ Simplification of Price Action Analysis:
By automating the calculation of pivots and management of support/resistance levels, the script simplifies price action analysis. Traders no longer need to manually draw or monitor these levels, which is a common task in technical analysis. This provides an edge, as it reduces the time spent on chart preparation and helps focus on executing trades.
⭐ Originality:
The script "Options Series - Pivot Based Support & Resistance" is an original approach to generating support and resistance levels using pivot points. Pivot-based techniques are popular, but the script introduces an automated dynamic way of drawing support and resistance lines, tracking breaches, and deleting lines when they are no longer valid. This aspect adds a refreshing layer of interactivity and functionality that sets it apart from basic pivot point scripts. The use of arrays to store and manage multiple support and resistance lines is also a good application of Pine Script’s newer array functionalities.
⭐ Uniqueness of the Script:
The script stands out due to its dynamic management of support and resistance lines. Unlike traditional scripts that simply plot static pivot points, this one evolves with the market by removing broken levels, ensuring only valid support and resistance lines are visible on the chart. This is particularly useful for traders who focus on clean charting. The use of arrays to store and manage the lines, alongside the efficient deletion of lines when breached, demonstrates a solid understanding of Pine Script v5's advanced features, such as array manipulation.
🚀 Conclusion:
This script stands out for its real-time adaptability, dynamic support/resistance management, and efficient use of Pine Script’s advanced features. It a powerful tool for both novice and advanced traders.
The script is an indicator designed to draw support and resistance levels based on pivot highs and lows, dynamically removing lines when they are breached. If a price crosses a support or resistance level, the respective line is deleted, ensuring the chart reflects the current state of support and resistance accurately. Indicator

CCI based support and resistance strategy
WARNING:
Commissions and slippage has not been considered! Don’t take it easy adding commissions and slippage could turns a fake-profitable strategy to a real disaster.
We consider account size as 10k and we enter 1000 for each trade.
Less than 100 trades is too small sample community and it’s not reliable, Also the performance of the past do not guarantee future performance. This result was handpicked by author and will differ by other timeframes, instruments and settings.
*PLEASE SHARE YOUR SETTINGS THAT WORK WITH THE COMMUNITY.
Introduction:
The CCI-based dynamic support and resistance is a "Bands and Channels" kind of indicator consisting an upper and lower band. This is a strategy which uses CCI-based (Made by me) indicator to execute trades.
SL and TP are calculated based on max ATR during last selected time period. You can edit strategy settings using "Ksl", "Ktp" and the other button for time period. “KSL” and “KTP” are 2.5 and 5 by default.
Bands are calculated regarding CCI previous high and low pivot. CCI length, right pivot length and left pivot length are 50.
A dynamic support and resistance has been calculated using last upper-cci minus a buffer and last lower-cci plus the buffer. The buffer is 10.
If "Trend matter?" button is on you can detect trend by color of the upper and lower line. Green is bullish and red is bearish! "Trend matter?" is on.
The "show mid?" button makes mid line visible, which is average of upper and lower lines, visible. The button is not active by default.
Reaction to the support could be a buy signal while a reaction to the resistance could interpreted as a sell signal.
How this strategy work?
Donald Lambert, a technical analyst, created the CCI, or Commodity Channel Index, which he first published in 1980. CCI is calculated regarding CCI can be used both as trend-detector or an oscillator. As an oscillator most traders believe in static predefined levels. Overbought and oversold candles which are clear in the chart could be used as sell and buy signals.
During my trading career I’ve noticed that there might be some reversal points for the CCI. I believe CCI could have to potential to reverse more from lately reversal point. Of course, just like other trading strategies we are talking about probabilities. We do not expect a win trade each time.
On price chart
Now this the question! What price should the instrument reach that CCI turns to be equal to our reversing aim for CCI? Imagine we have found last important bearish reversal of CCI in 200. Now, if we need the CCI to be 200 what price should we wait for?
How to calculate?
This is the CCI formula:
CCI = (Typical Price - SMA of TP) / (0.015 x Mean Deviation)
Where, Typical Price (TP) = (High + Low + Close)/3
For probable reversing points, high and low pivots of 50 bars have been used.
So we do have an Upper CCI and a Lower CCI. They are valid until the next pivot is available.
By relocating factors in CCI formula you can reach the “Typical Price”.
“
Typical Price = CCI (0.015 * Mean Deviation) + SMA of TP
So we could have a Support or Resistance by replacing CCI with Upper and Lower CCI.
A buy signal is valid if the trend is bullish (or “trend matter” is off) and lowest low of last 2 candles is lower than support and close is greater than both support and open.
A Sell signal is produced in opposite situation.
There are 2+1 options for trend!
Trend matter box is on by default, which means we’ll just open trades in direction of the trend. It’s available to turn it off.
Other 2 options are cross and slope. Cross calculated by comparing fast SMA and slow SMA. The slope one differentiate slow SMA to last “n” one.
Considering last day and today highest ATR as the ATR to calculating SL and TP is our unique technique.
Strategy

Indicator

Indicator

Indicator

Square Root Moving AverageAbstract
This script computes moving averages which the weighting of the recent quarter takes up about a half weight.
This script also provides their upper bands and lower bands.
You can apply moving average or band strategies with this script.
Introduction
Moving average is a popular indicator which can eliminate market noise and observe trend.
There are several moving average related strategies used by many traders.
The first one is trade when the price is far from moving average.
To measure if the price is far from moving average, traders may need a lower band and an upper band.
Bollinger bands use standard derivation and Keltner channels use average true range.
In up trend, moving average and lower band can be support.
In ranging market, lower band can be support and upper band can be resistance.
In down trend, moving average and upper band can be resistance.
An another group of moving average strategy is comparing short term moving average and long term moving average.
Moving average cross, Awesome oscillators and MACD belong to this group.
The period and weightings of moving averages are also topics.
Period, as known as length, means how many days are computed by moving averages.
Weighting means how much weight the price of a day takes up in moving averages.
For simple moving averages, the weightings of each day are equal.
For most of non-simple moving averages, the weightings of more recent days are higher than the weightings of less recent days.
Many trading courses say the concept of trading strategies is more important than the settings of moving averages.
However, we can observe some characteristics of price movement to design the weightings of moving averages and make them more meaningful.
In this research, we use the observation that when there are no significant events, when the time frame becomes 4 times, the average true range becomes about 2 times.
For example, the average true range in 4-hour chart is about 2 times of the average true range in 1-hour chart; the average true range in 1-hour chart is about 2 times of the average true range in 15-minute chart.
Therefore, the goal of design is making the weighting of the most recent quarter is close to the weighting of the rest recent three quarters.
For example, for the 24-day moving average, the weighting of the most recent 6 days is close to the weighting of the rest 18 days.
Computing the weighting
The formula of moving average is
sum ( price of day n * weighting of day n ) / sum ( weighting of day n )
Day 1 is the most recent day and day k+1 is the day before day k.
For more convenient explanation, we don't expect sum ( weighting of day n ) is equal to 1.
To make the weighting of the most recent quarter is close to the weighting of the rest recent three quarters, we have
sum ( weighting of day 4n ) = 2 * sum ( weighting of day n )
If when weighting of day 1 is 1, we have
sum ( weighting of day n ) = sqrt ( n )
weighting of day n = sqrt ( n ) - sqrt ( n-1 )
weighting of day 2 ≒ 1.414 - 1.000 = 0.414
weighting of day 3 ≒ 1.732 - 1.414 = 0.318
weighting of day 4 ≒ 2.000 - 1.732 = 0.268
If we follow this formula, the weighting of day 1 is too strong and the moving average may be not stable.
To reduce the weighting of day 1 and keep the spirit of the formula, we can add a parameter (we call it as x_1w2b).
The formula becomes
weighting of day n = sqrt ( n+x_1w2b ) - sqrt ( n-1+x_1w2b )
if x_1w2b is 0.25, then we have
weighting of day 1 = sqrt(1.25) - sqrt(0.25) ≒ 1.1 - 0.5 = 0.6
weighting of day 2 = sqrt(2.25) - sqrt(1.25) ≒ 1.5 - 1.1 = 0.4
weighting of day 3 = sqrt(3.25) - sqrt(2.25) ≒ 1.8 - 1.5 = 0.3
weighting of day 4 = sqrt(4.25) - sqrt(3.25) ≒ 2.06 - 1.8 = 0.26
weighting of day 5 = sqrt(5.25) - sqrt(4.25) ≒ 2.3 - 2.06 = 0.24
weighting of day 6 = sqrt(6.25) - sqrt(5.25) ≒ 2.5 - 2.3 = 0.2
weighting of day 7 = sqrt(7.25) - sqrt(6.25) ≒ 2.7 - 2.5 = 0.2
What you see and can adjust in this script
This script plots three moving averages described above.
The short term one is default magenta, 6 days and 1 atr.
The middle term one is default yellow, 24 days and 2 atr.
The long term one is default green, 96 days and 4 atr.
I arrange the short term 6 days to make it close to sma(5).
The other twos are arranged according to 4x length and 2x atr.
There are 9 curves plotted by this script. I made the lower bands and the upper bands less clear than moving averages so it is less possible misrecognizing lower or upper bands as moving averages.
x_src : how to compute the reference price of a day, using 1 to 4 of open, high, low and close.
len : how many days are computed by moving averages
atr : how many days are computed by average true range
multi : the distance from the moving average to the lower band and the distance from the moving average to the lower band are equal to multi * average true range.
x_1w2b : adjust this number to avoid the weighting of day 1 from being too strong.
Conclusion
There are moving averages which the weighting of the most recent quarter is close to the weighting of the rest recent three quarters.
We can apply strategies based on moving averages. Like most of indicators, oversold does not always means it is an opportunity to buy.
If the short term lower band is close to the middle term moving average or the middle term lower band is close to the long term moving average, it may be potential support value.
References
Computing FIR Filters Using Arrays
How to trade with moving averages : the eight trading signals concluded by Granville
How to trade with Bollinger bands
How to trade with double Bollinger bands Indicator
