Indicadores y estrategias
VultureThis indicator ("vulture") is the volume of a candle divided by the spread.
When higher than 2 standard deviations, it suggests demand aggressively opposing supply and vice versa.
When lower than 2 standard deviations, it suggests demand hardly being opposed by supply or vice versa.
E.g., if the vulture is very high and volume is also very high, this indicates high institutional activity (who is usually right) against the herd (who is usually wrong). If the vulture is very low and volume is very high, this suggests a mark up or mark down. If vulture is very high and volume is very low, whilst prices are climbing up to a resistance area, the low volume climb is less likely an ease of movement, and more likely to be a significant "no demand" candle, and so prices are likely on the verge of a reversal back to the downside.
Student Wyckoff RS Symbol/MarketRelative Strength Indicator STUDENT WYCKOFF RS SYMBOL/MARKET
Description
The Relative Strength (RS) Indicator compares the price performance of the current financial instrument (e.g., a stock) against another instrument (e.g., an index or another stock). It is calculated by dividing the closing price of the first instrument by the closing price of the second, then multiplying by 100. This provides a percentage ratio that shows how one instrument outperforms or underperforms another. The indicator helps traders identify strong or weak assets, spot market leaders, or evaluate an asset’s performance relative to a benchmark.
Key Features
Relative Strength Calculation: Divides the closing price of the current instrument by the closing price of the second instrument and multiplies by 100 to express the ratio as a percentage.
Simple Moving Average (SMA): Applies a customizable Simple Moving Average (default period: 14) to smooth the data and highlight trends.
Visualization: Displays the Relative Strength as a blue line, the SMA as an orange line, and colors bars (blue for rising, red for falling) to indicate changes in relative strength.
Flexibility: Allows users to select the second instrument via an input field and adjust the SMA period.
Applications
Market Comparison: Assess whether a stock is outperforming an index (e.g., S&P 500 or MOEX) to identify strong assets for investment.
Sector Analysis: Compare stocks within a sector or against a sector ETF to pinpoint leaders.
Trend Analysis: Use the rise or fall of the RS line and its SMA to gauge the strength of an asset’s trend relative to another instrument.
Trade Timing: Bar coloring helps quickly identify changes in relative strength, aiding short-term trading decisions.
Interpretation
Rising RS: Indicates the first instrument is outperforming the second (e.g., a stock growing faster than an index).
Falling RS: Suggests the first instrument is underperforming.
SMA as a Trend Filter: If the RS line is above the SMA, it may signal strengthening performance; if below, weakening performance.
Settings
Instrument 2: Ticker of the second instrument (default: QQQ).
SMA Period: Period for the Simple Moving Average (default: 14).
Notes
The indicator works on any timeframe but requires accurate ticker input for the second instrument.
Ensure data for both instruments is available on the selected timeframe for precise analysis.
Full EMAA comprehensive EMA trading indicator featuring 14 distinct exponential moving averages (EMAs) with lengths of 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 125, 150, 175, and 200 provides a detailed view of market momentum and trend structure across multiple timeframes.
This dense configuration allows traders to analyze short-term, medium-term, and long-term price behavior simultaneously, identifying potential support and resistance levels, trend direction, and dynamic bias zones .
The indicator can be used to detect crossovers between different EMAs, which may signal shifts in momentum or potential entry/exit points .
The inclusion of such a wide range of EMAs enables a granular assessment of market structure, helping to distinguish between temporary pullbacks and significant trend changes.
P/S Ratio vs Median + Bollinger Band- 📝 This indicator highlights potential buying opportunities by analyzing the Price-to-Sales (P/S) ratio in relation to Bollinger Bands and its historical median.
- 🎯 The goal is to provide a visually intuitive signal for value-oriented entries, especially when valuation compression aligns with historical context.
- 💡 Vertical green shading is applied when the P/S ratio drops below the lower Bollinger Band, which is calculated directly from the P/S ratio itself — not price. This condition often signals the ticker may be oversold.
- 🟢 Lighter green appears when the ratio is below the lower band but above the median, suggesting a possible shorter-term entry with slightly more risk.
- 🟢 Darker green appears when the ratio is both below the lower band and below the median, pointing to a potentially stronger, longer-term value entry.
- ⚠️ This logic was tested using 1 and 2-day time frames. It may not be as helpful in longer time frames, as the financial data TradingView pulls in begins in Q4 2017.
- ⚠️ Note: This script relies on financial data availability through TradingView. It may not function properly with certain tickers — especially ETFs, IPOs, or thinly tracked assets — where P/S ratio data is missing or incomplete.
- ⚠️ This indicator will not guarantee successful results. Use in conjunction with other indicators and do your due diligence.
- 🤖 This script was iteratively refined with the help of AI to ensure clean logic, minimalist design, and actionable signal clarity.
- 📢 Idea is based on the script "Historical PE ratio vs median" by @haribotagada
- 💬 Questions, feedback, or suggestions? Drop a comment — I’d love to hear how you’re using it or what you'd like to see changed.
Hammer, Engulfing & Star Candles aksh//@version=5
indicator("Hammer, Engulfing & Star Candles ", overlay=true, max_bars_back=500)
// ===== Inputs =====
showHammer = input.bool(true, "Show Hammer")
showShootingStar = input.bool(true, "Show Shooting Star")
showEngulfing = input.bool(true, "Show Bull/Bear Engulfing")
showMorningStar = input.bool(true, "Show Morning Star (3-candle)")
showEveningStar = input.bool(true, "Show Evening Star (3-candle)")
// Sensitivity / thresholds
wickToBodyMin = input.float(2.5, "Min Wick:Body (Hammer/Star)", minval=0.5, step=0.1)
maxOppWickToBody = input.float(0.7, "Max Opp Wick:Body (Hammer/Star)", minval=0.0, step=0.1)
closeInTopPct = input.float(0.35, "Hammer: close in top % of range", minval=0.0, maxval=1.0, step=0.05)
closeInBotPct = input.float(0.35, "Star: close in bottom % of range", minval=0.0, maxval=1.0, step=0.05)
minBodyFracRange = input.float(0.15, "Min body as % of range (avoid doji)", minval=0.0, maxval=1.0, step=0.01)
engulfRequireBodyPct = input.float(1.00, "Engulfing: body >= prev body x", minval=0.5, maxval=3.0, step=0.05)
engulfAllowWicks = input.bool(false, "Engulfing: allow wick engulf if bodies equal")
starMiddleBodyMaxPct = input.float(0.40, "Morning/Evening Star: middle body <= % of avg body", minval=0.05, maxval=1.0, step=0.05)
starCloseRetracePct = input.float(0.50, "Morning/Evening Star: final close retraces >= % of first body", minval=0.25, maxval=1.0, step=0.05)
// ===== Helpers =====
body(c,o) => math.abs(c - o)
upperWick(h,o,c) => h - math.max(o, c)
lowerWick(l,o,c) => math.min(o, c) - l
rng(h,l) => h - l
isBull(o,c) => c > o
isBear(o,c) => o > c
midpoint(h,l) => (h + l) * 0.5
b = body(close, open)
uw = upperWick(high, open, close)
lw = lowerWick(low, open, close)
rg = rng(high, low)
prev_o = open , prev_c = close , prev_h = high , prev_l = low
prev_b = body(prev_c, prev_o)
// avoid divide-by-zero
safe(val) => nz(val, 0.0000001)
// ===== Single-candle patterns =====
// Hammer: long lower wick, small/limited upper wick, decent body, close toward top of range
hammer = showHammer and rg > 0 and b/rg >= minBodyFracRange and
(lw / safe(b) >= wickToBodyMin) and (uw / safe(b) <= maxOppWickToBody) and
(close >= (low + (1.0 - closeInTopPct) * rg))
// Shooting Star: long upper wick, small/limited lower wick, close toward bottom
shootingStar = showShootingStar and rg > 0 and b/rg >= minBodyFracRange and
(uw / safe(b) >= wickToBodyMin) and (lw / safe(b) <= maxOppWickToBody) and
(close <= (low + closeInBotPct * rg))
// ===== Two-candle patterns: Engulfing =====
// Bullish engulfing: previous bearish, current bullish, current body engulfs previous body
bullEngulf = showEngulfing and isBear(prev_o, prev_c) and isBull(open, close) and
(open <= prev_c and close >= prev_o) and (b >= engulfRequireBodyPct * prev_b or (engulfAllowWicks and high >= prev_h and low <= prev_l))
// Bearish engulfing: previous bullish, current bearish, current body engulfs previous body
bearEngulf = showEngulfing and isBull(prev_o, prev_c) and isBear(open, close) and
(open >= prev_c and close <= prev_o) and (b >= engulfRequireBodyPct * prev_b or (engulfAllowWicks and high >= prev_h and low <= prev_l))
// ===== Three-candle patterns: Morning/Evening Star =====
// Morning Star: strong bearish candle, small middle candle (gap or small body), strong bullish close retracing into first body
o2 = open , c2 = close
b2 = body(c2, o2)
avgBody = ta.sma(body(close, open), 20)
smallMiddle = body(close , open ) <= starMiddleBodyMaxPct * nz(avgBody, prev_b)
firstBear = isBear(o2, c2)
lastBull = isBull(open, close)
retrBull = lastBull and (close >= (c2 + starCloseRetracePct * (o2 - c2)))
morningStar = showMorningStar and firstBear and smallMiddle and retrBull
// Evening Star: mirror
firstBull = isBull(o2, c2)
lastBear = isBear(open, close)
retrBear = lastBear and (close <= (c2 - starCloseRetracePct * (c2 - o2)))
eveningStar = showEveningStar and firstBull and smallMiddle and retrBear
// ===== Plotting =====
plotshape(hammer, title="Hammer", style=shape.labelup, location=location.belowbar, text="🔨 Hammer", size=size.tiny, color=color.new(color.lime, 0), textcolor=color.black)
plotshape(shootingStar, title="Shooting Star", style=shape.labeldown, location=location.abovebar, text="⭐ Star", size=size.tiny, color=color.new(color.orange, 0), textcolor=color.black)
plotshape(bullEngulf, title="Bull Engulfing", style=shape.labelup, location=location.belowbar, text="🟢 Engulf", size=size.tiny, color=color.new(color.teal, 0), textcolor=color.black)
plotshape(bearEngulf, title="Bear Engulfing", style=shape.labeldown, location=location.abovebar, text="🔴 Engulf", size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(morningStar, title="Morning Star", style=shape.labelup, location=location.belowbar, text="🌅 Morning", size=size.tiny, color=color.new(color.aqua, 0), textcolor=color.black)
plotshape(eveningStar, title="Evening Star", style=shape.labeldown, location=location.abovebar, text="🌆 Evening", size=size.tiny, color=color.new(color.purple, 0), textcolor=color.white)
// Optional: color bars when patterns occur
barcolor(hammer ? color.new(color.lime, 60) : na)
barcolor(shootingStar ? color.new(color.orange, 60) : na)
barcolor(bullEngulf ? color.new(color.teal, 70) : na)
barcolor(bearEngulf ? color.new(color.red, 70) : na)
barcolor(morningStar ? color.new(color.aqua, 70) : na)
barcolor(eveningStar ? color.new(color.purple, 70) : na)
// ===== Alerts =====
alertcondition(hammer, "Hammer", "Hammer detected")
alertcondition(shootingStar, "Shooting Star", "Shooting Star detected")
alertcondition(bullEngulf, "Bullish Engulfing","Bullish Engulfing detected")
alertcondition(bearEngulf, "Bearish Engulfing","Bearish Engulfing detected")
alertcondition(morningStar, "Morning Star", "Morning Star detected (3-candle)")
alertcondition(eveningStar, "Evening Star", "Evening Star detected (3-candle)")
// ===== Hints (toggle in the Style tab if labels feel too crowded) =====
// You can adjust thresholds to match your market/timeframe.
// Common tweaks: increase wickToBodyMin for stricter hammers/stars; increase minBodyFracRange to avoid doji;
// require stronger retrace in star patterns by raising starCloseRetracePct.
BBMA Enhanced Pro - Multi-Timeframe Band Breakout StrategyShort Title : BBMA Pro
Overview
The BBMA Enhanced Pro is a professional-grade trading indicator that builds on the Bollinger Bands Moving Average (BBMA) strategy, pioneered by Omar Ali , a Malaysian forex trader and educator. Combining Bollinger Bands with Weighted Moving Averages (WMA) , this indicator identifies high-probability breakout and reversal opportunities across multiple timeframes. With advanced features like multi-timeframe Extreme signal detection, eight professional visual themes, and a dual-mode dashboard, it’s designed for traders seeking precision in trending and consolidating markets. Optimized for dark chart backgrounds, it’s ideal for forex, stocks, and crypto trading.
History
The BBMA strategy was developed by Omar Ali (BBMA Oma Ally) in the early 2010s, gaining popularity in the forex trading community, particularly in Southeast Asia. Building on John Bollinger’s Bollinger Bands, Omar Ali integrated Weighted Moving Averages and a multi-timeframe approach to create a structured system for identifying reversals, breakouts, and extreme conditions. The BBMA Enhanced Pro refines this framework with modern features like real-time dashboards and customizable visualizations, making it accessible to both novice and experienced traders.
Key Features
Multi-Timeframe Extreme Signals : Detects Extreme signals (overbought/oversold conditions) on both current and higher timeframes simultaneously, a rare feature that enhances signal reliability through trend alignment.
Professional Visual Themes : Eight distinct themes (e.g., Neon Contrast, Fire Gradient) optimized for dark backgrounds.
Dual-Mode Dashboard : Choose between Full Professional (detailed metrics) or Simplified Trader (essential info with custom notes).
Bollinger Band Squeeze Detection : Identifies low volatility periods (narrow bands) signaling potential sideways markets or breakouts.
Confirmation Labels : Displays labels when current timeframe signals align with recent higher timeframe signals, highlighting potential consolidations or squeezes.
Timeframe Validation : Prevents selecting the same timeframe for current and higher timeframe analysis.
Customizable Visualization : Toggle signal dots, EMA 50, and confirmation labels for a clean chart experience.
How It Works
The BBMA Enhanced Pro combines Bollinger Bands (20-period SMA, ±2 standard deviations) with WMA (5 and 10 periods) to generate trade signals:
Buy Signal : WMA 5 Low crosses above the lower Bollinger Band, indicating a recovery from an oversold condition (Extreme buy).
Sell Signal : WMA 5 High crosses below the upper Bollinger Band, signaling a rejection from an overbought condition (Extreme sell).
Extreme Signals : Occur when prices or WMAs move significantly beyond the Bollinger Bands (±2σ), indicating statistically rare overextensions. These often coincide with Bollinger Band Squeezes (narrow bands, low standard deviation), signaling potential sideways markets or impending breakouts.
Multi-Timeframe Confirmation : The indicator’s unique strength is its ability to detect Extreme signals on both the current and higher timeframe (HTF) within the same chart. When the HTF generates an Extreme signal (e.g., buy), and the current timeframe follows with an identical signal, it suggests the lower timeframe is aligning with the HTF’s trend, increasing reliability. Labels appear only when this alignment occurs within a user-defined lookback period (default: 50 bars), highlighting periods of band contraction across timeframes.
Bollinger Band Squeeze : Narrow bands (low standard deviation) indicate reduced volatility, often preceding consolidation or breakouts. The indicator’s dashboard tracks band width, helping traders anticipate these phases.
Why Multi-Timeframe Extremes Matter
The BBMA Enhanced Pro’s multi-timeframe approach is rare and powerful. When the higher timeframe shows an Extreme signal followed by a similar signal on the current timeframe, it suggests the market is following the HTF’s trend or entering a consolidation phase. For example:
HTF Sideways First : If the HTF Bollinger Bands are shrinking (low volatility, low standard deviation), it signals a potential sideways market. Waiting for the current timeframe to show a similar Extreme signal confirms this consolidation, reducing the risk of false breakouts.
Risk Management : By requiring HTF confirmation, the indicator encourages traders to lower risk during uncertain periods, waiting for both timeframes to align in a low-volatility state before acting.
Usage Instructions
Select Display Mode :
Current TF Only : Shows Bollinger Bands and WMAs on the chart’s timeframe.
Higher TF Only : Displays HTF bands and WMAs.
Both Timeframes : Combines both for comprehensive analysis.
Choose Higher Timeframe : Select from 1min to 1D (e.g., 15min, 1hr). Ensure it differs from the current timeframe to avoid validation errors.
Enable Signal Dots : Visualize buy/sell Extreme signals as dots, sourced from current, HTF, or both timeframes.
Toggle Confirmation Labels : Display labels when current timeframe Extremes align with recent HTF Extremes, signaling potential squeezes or consolidations.
Customize Dashboard :
Full Professional Mode : View metrics like BB width, WMA trend, and last signal.
Simplified Trader Mode : Focus on essential info with custom trader notes.
Select Visual Theme : Choose from eight themes (e.g., Ice Crystal, Royal Purple) for optimal chart clarity.
Trading Example
Setup : 5min chart, HTF set to 1hr, signal dots and confirmation labels enabled.
Buy Scenario : On the 5min chart, WMA 5 Low crosses above the lower Bollinger Band (Extreme buy), confirmed by a recent 1hr Extreme buy signal within 50 bars. The dashboard shows narrow bands (squeeze), and a green label appears.
Action : Enter a long position, targeting the middle band, with a stop-loss below the recent low. The HTF confirmation suggests a strong trend or consolidation phase.
Sell Scenario : WMA 5 High crosses below the upper Bollinger Band on the 5min chart, confirmed by a recent 1hr Extreme sell signal. The dashboard indicates a squeeze, and a red label appears.
Action : Enter a short position, targeting the middle band, with a stop-loss above the recent high. The aligned signals suggest a potential reversal or sideways market.
Customization Options
BBMA Display Mode : Current TF Only, Higher TF Only, or Both Timeframes.
Higher Timeframe : 1min to 1D.
Visual Theme : Eight professional themes (e.g., Neon Contrast, Forest Glow).
Line Style : Smooth or Step Line for HTF plots.
Signal Dots : Enable/disable, select timeframe source (Current, Higher, or Both).
Confirmation Labels : Toggle and set lookback window (1-100 bars).
Dashboard : Enable/disable, choose mode (Full/Simplified), and set position (Top Right, Bottom Left, etc.).
Notes
Extreme Signals and Squeezes : Extreme signals often occur during Bollinger Band contraction (low standard deviation), signaling potential sideways markets or breakouts. Use HTF confirmation to filter false signals.
Risk Management : If the HTF shows a squeeze (narrow bands), wait for the current timeframe to confirm with an Extreme signal to reduce risk in choppy markets.
Limitations : Avoid trading Extremes in highly volatile markets without additional confirmation (e.g., volume, RSI).
Author Enhanced Professional Edition, inspired by Omar Ali’s BBMA strategy
Version : 6.0 Pro - Simplified
Last Updated : September 2025
License : Mozilla Public License 2.0
We’d love to hear your feedback! Share your thoughts or questions in the comments below.
Session & Swing Levels + Smart AlertsMulti-Timeframe Level Tracker with Advanced Alert System
This comprehensive indicator combines session-based trading levels with multi-timeframe swing analysis, for key level identification and alert management.
Key Features:
Session Analysis:
Asia Session (7:00 PM - 4:00 AM ET) - Tracks high/low levels during Asian market hours
London Session (3:00 AM - 11:00 AM ET) - Identifies key European session levels
Previous Day Levels - Displays prior day's high and low levels
Visual session backgrounds and customizable timezone support
Multi-Timeframe Swing Detection:
Up to 5 configurable timeframes (default: 15m, 1h, 4h, 1D, 1W)
Intelligent swing high/low identification using customizable pivot strength
Each timeframe uses distinct colors for easy identification
Advanced Alert System:
Anti-repainting protection - Alerts only trigger on confirmed bars for reliable live trading
Specific alert messages for each level type (Asia High, London Low, Previous Day levels, etc.)
Individual alert toggles for each session and timeframe
Timestamps in Eastern Time for consistency
Visual Customization:
Independent color schemes for sessions and timeframes
Configurable line styles (solid, dashed, dotted) and widths
Separate styling for active vs. mitigated levels
Optional line extension past mitigation points
📊 How It Works:
Level Creation: Automatically identifies and draws key levels at session closes
Mitigation Detection: Monitors price interaction with levels in real-time
Visual Updates: Changes line appearance when levels are crossed
Smart Alerts: Sends targeted notifications with level-specific information
20W EMA & SMA (no minute-level timeframe)You can check the 20-week EMA and SMA across various timeframes, from 1 hour to 1 week. Minute-level timeframes are not available due to data limitations.
Frank-Setup EMA, RS & RSI ✅It is a clean and simple indicator designed to identify weakness in stocks using two proven methods: RSI and Relative Strength (RS) vs. a benchmark (e.g., NIFTY).
🔹 Features
RSI Weakness Signals
Plots when RSI crosses below 50 (weakness begins).
Plots when RSI moves back above 50 (weakness ends).
Relative Strength (RS) vs Benchmark
Compares stock performance to a chosen benchmark.
Signals when RS drops below 1 (stock underperforming).
Signals when RS recovers above 1 (strength resumes).
Clear Visual Markers
Circles for RSI signals.
Triangles for RS signals.
Optional RSI labels for clarity.
Built-in Alerts
Get notified instantly when RSI or RS weakness starts or ends.
No need to constantly watch charts.
🎯 Use Case
This tool is built for traders who want to:
Spot shorting opportunities when a stock shows weakness.
Track underperformance vs. the index.
Manage risk by exiting longs when weakness appears.
RDT Buy/Sell Signals Scalp 1MExit alerts for scalps for the 1m chart.
An alert is triggered, if a 1m candle ended and a 3/8 EMA cross was created in the according direction (depending on whether Long or Short Exit alert is set).
Entry alerts basically work the same. I've never ever used them so far though, since it never made sense the way I trade.
More infos: www.reddit.com
BTC Macro Composite Global liquidity Index -OffsetThis indicator is based on the thesis that Bitcoin price movements are heavily influenced by macro liquidity trends. It calculates a weighted composite index based on the following components:
• Global Liquidity (41%): Sum of central bank balance sheets (Fed , ECB , BoJ , and PBoC ), adjusted to USD.
• Investor Risk Appetite (22%): Derived from the Copper/Gold ratio, inverse VIX (as a risk-on signal), and the spread between High Yield and Investment Grade bonds (HY vs IG OAS).
• Gold Sensitivity (15–20%): Combines the XAUUSD price with BTC/Gold ratio to reflect the historical influence of gold on Bitcoin pricing.
Each component is normalized and then offset forward by 90 days to attempt predictive alignment with Bitcoin’s price.
The goal is to identify macro inflection points with high predictive value for BTC. It is not a trading signal generator but rather a macro trend context indicator.
❗ Important: This script should be used with caution. It does not account for geopolitical shocks, regulatory events, or internal BTC market structure (e.g., miner behavior, on-chain metrics).
💡 How to use:
• Use on the 1D timeframe.
• Look for divergences between BTC price and the macro index.
• Apply in confluence with other technical or fundamental frameworks.
🔍 Originality:
While similar components exist in macro dashboards, this script combines them uniquely using time-forward offsets and custom weighting specifically tailored for BTC behavior.
VXN NY Open Prep TimeThis indicator is based on other open source scripts. It's designed for futures markets (e.g., NQ, MNQ, ES, MES) to plot a vertical line 15 minutes before the market opens at 9:30 AM Eastern Time (ET).
A vertical line is drawn at 9:15 AM ET to serve as a visual alert for traders preparing for the market open.
Enjoy this indicator? Consider a donation to support development! buymeacoffee.com
High Volume Candles - RVolInspired by Key bars from Option Stalker Pro.
This one is meant to be used on charts where the interval is >=1D.
Highlights candles where RVol is > 1.2.
Helps to not accidentally miss that a candle move happened on high volume (or that it did not happen on high volume...), like potential reversals or resistance/support breaks.
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles.
More infos: www.reddit.com
VolumeVolume with standard deviations.
Helps to identify moderately high/low volume and very high/low volume.
Low volume indicates less market participation. High volume indicates higher market participation.
It forecasts potential changes of sentiment.
MACD X Cross with PlotThe default MACD indicator with the crossover added at the top of the MACD plot pane. Arrow up for MACD crossover signal line. Arrow down for MACD crossunder signal line.
Dual Adaptive Movings### Dual Adaptive Movings
By Gurjit Singh
A dual-layer adaptive moving average system that adjusts its responsiveness dynamically using market-derived factors (CMO, RSI, Fractal Roughness, or Stochastic Acceleration). It plots:
* Primary Adaptive MA (MA): Fast, reacts to changes in volatility/momentum.
* Following Adaptive MA (FAMA): A smoother, half-alpha version for trend confirmation.
Instead of fixed smoothing, it adapts dynamically using one of four methods:
* ACMO: Adaptive CMO (momentum)
* ARSI: Adaptive RSI (relative strength)
* FRMA: Fractal Roughness (volatility + fractal dimension)
* ASTA: Adaptive Stochastic Acceleration (%K acceleration)
### ⚙️ Inputs & Options
* Source: Price input (default: close).
* Moving (Type): ACMO, ARSI, FRMA, ASTA.
* MA Length (Primary): Core adaptive window.
* Following (FAMA) Length: Optional; can match MA length.
* Use Wilder’s: Toggles Wilder vs EMA-style smoothing.
* Colors & Fill: Bullish/Bearish tones with transparency control.
### 🔑 How to Use
1. Identify Trend:
* When MA > FAMA → Bullish (fills bullish color).
* When MA < FAMA → Bearish (fills bearish color).
2. Crossovers:
* MA crosses above FAMA → Bullish signal 🐂
* MA crosses below FAMA → Bearish signal 🐻
3. Adaptive Edge:
* Select method (ACMO/ARSI/FRMA/ASTA) depending on whether you want sensitivity to momentum, strength, volatility, or acceleration.
4. Alerts:
* Built-in alerts trigger on crossovers.
### 💡 Tips
* Wilder’s smoothing is gentler than EMA, reducing whipsaws in sideways conditions.
* ACMO and ARSI are best for momentum-driven directional markets, but may false-signal in ranges.
* FRMA and ASTA excels in choppy markets where volatility clusters.
👉 In short: Dual Adaptive Movings adapts moving averages to the market’s own behavior, smoothing noise yet staying responsive. Crossovers mark possible trend shifts, while color fills highlight bias.
EMA Percentile Rank [SS]Hello!
Excited to release my EMA percentile Rank indicator!
What this indicator does
Plots an EMA and colors it by short-term trend.
When price crosses the EMA (up or down) and remains on that side for three subsequent bars, the cross is “confirmed.”
At the moment of the most recent cross, it anchors a reference price to the crossover point to ensure static price targets.
It measures the historical distance between price and the EMA over a lookback window, separately for bars above and below the EMA.
It computes percentile distances (25%, 50%, 85%, 95%, 99%) and draws target bands above/below the anchor.
Essentially what this indicator does, is it converts the raw “distance from EMA” behavior into probabilistic bands and historical hit rates you can use for targets, stop placement, or mean-reversion/continuation decisions.
Indicator Inputs
EMA length: Default is 21 but you can use any EMA you prefer.
Lookback: Default window is 500, this is length that the percentiles are calculated. You can increase or decrease it according to your preference and performance.
Show Accumulation Table: This allows you to see the table that shows the hits/price accumulation of each of the percentile ranges. UCL means upper confidence and LCL means lower confidence (so upper and lower targets).
About Percentiles
A percentile is a way of expressing the position of a value within a dataset relative to all the other values.
It tells you what percentage of the data points fall at or below that value.
For example:
The 25th percentile means 25% of the values are less than or equal to it.
The 50th percentile (also called the median) means half the values are below it and half are above.
The 99th percentile means only 1% of the values are higher.
Percentiles are useful because they turn raw measurements into context — showing how “extreme” or “typical” a value is compared to historical behavior.
In the EMA Percentile Rank indicator, this concept is applied to the distance between price and the EMA. By calculating percentile distances, the script can mark levels that have historically been reached often (low percentiles) or rarely (high percentiles), helping traders gauge whether current price action is stretched or within normal bounds.
Use Cases
The EMA Percentile Rank indicator is best suited for traders who want to quantify how far price has historically moved away from its EMA and use that context to guide decision-making.
One strong use case is target setting after trend shifts: when a confirmed crossover occurs, the percentile bands (25%, 50%, 85%, 95%, 99%) provide statistically grounded levels for scaling out profits or placing stops, based on how often price has historically reached those distances. This makes it valuable for traders who prefer data-driven risk/reward planning instead of arbitrary point targets. Another use case is identifying stretched conditions — if price rapidly tags the 95% or 99% band after a cross, that’s an unusually large move relative to history, which could signal exhaustion and prompt mean-reversion trades or protective actions.
Conversely, if the accumulation table shows price frequently resides in upper bands after bullish crosses, traders may anticipate continuation and hold positions longer . The indicator is also effective as a trend filter when combined with its EMA color-coding : only taking trades in the trend’s direction and using the bands as dynamic profit zones.
Additionally, it can support multi-timeframe confluence (if you align your chart to the timeframes of interest), where higher-timeframe trend direction aligns with lower-timeframe percentile behavior for higher-probability setups. Swing traders can use it to frame pullbacks — entering near lower percentile bands during an uptrend — while intraday traders might use it to fade extremes or ride breakouts past the median band. Because the anchor price resets only on EMA crosses, the indicator preserves a consistent reference for ongoing trades, which is especially helpful for managing swing positions through noise .
Overall, its strength lies in transforming raw EMA distance data into actionable, probability-weighted levels that adapt to the instrument’s own volatility and tendencies .
Summary
This indicator transforms a simple EMA into a distribution-aware framework: it learns how far price tends to travel relative to the EMA on either side, and turns those excursions into percentile bands and historical hit rates anchored to the most recent cross. That makes it a flexible tool for targets, stops, and regime filtering, and a transparent way to reason about “how stretched is stretched?”—with context from your chosen market and timeframe.
I hope you all enjoy!
And as always, safe trades!
P/B Ratio (Per Share) vs Median + Bollinger Band- 📝 This indicator highlights potential buying opportunities by analyzing the Price-to-Book (P/B) ratio in relation to Bollinger Bands and its historical median.
- 🎯 The goal is to provide a visually intuitive signal for value-oriented entries, especially when valuation compression aligns with historical context.
- 💡 Vertical green shading is applied when the P/B ratio drops below the lower Bollinger Band, which is calculated directly from the P/B ratio itself — not price. This condition often signals the ticker may be oversold.
- 🟢 Lighter green appears when the ratio is below the lower band but above the median, suggesting a possible shorter-term entry with slightly more risk.
- 🟢 Darker green appears when the ratio is both below the lower band and below the median, pointing to a potentially stronger, longer-term value entry.
- ⚠️ This logic was tested using 1 and 2-day time frames. It may not be as helpful in longer time frames, as the financial data TradingView pulls in begins in Q4 2017.
- ⚠️ Note: This script relies on financial data availability through TradingView. It may not function properly with certain tickers — especially ETFs, IPOs, or thinly tracked assets — where P/S ratio data is missing or incomplete.
- ⚠️ This indicator will not guarantee successful results. Use in conjunction with other indicators and do your due diligence.
- 🤖 This script was iteratively refined with the help of AI to ensure clean logic, minimalist design, and actionable signal clarity.
- 📢 Idea is based on the script "Historical PE ratio vs median" by haribotagada
- 💬 Questions, feedback, or suggestions? Drop a comment — I’d love to hear how you’re using it or what you'd like to see changed.
ATR SL/TPStop Loss Finder ATR
A Stop Loss Finder ATR indicator is a dynamic risk management tool leveraging the Average True Range (ATR) to identify and track optimal stop-loss levels based on current market volatility.
A stop hunt indicator is a technical tool designed to identify potential instances where large market participants, often referred to as "smart money," deliberately move the price to trigger a large number of stop-loss orders, creating a temporary price distortion before reversing the trend. These indicators aim to help traders detect these events to either avoid being stopped out or to enter trades in the direction of the anticipated reversal.
For example, a long wick below support with high volume may signal a bullish stop-hunt , indicating that the price has been driven down to trigger sell-stop orders before reversing upward. Conversely, a long wick above resistance with high volume may signal a bearish stop-hunt , suggesting the price was pushed up to trigger buy-stop orders before reversing downward. The presence of such wicks is often associated with candlestick patterns like hammers or shooting stars.
Unlike fixed stop-losses, this indicator adapts its distance from the current price using a customizable ATR multiplier, ensuring that stop-loss levels are neither too tight (prone to being triggered by normal market noise) nor too wide (exposing capital to excessive risk) . The core function calculates the true range—considering the current high-low range, gaps up, and gaps down—over a user-defined period (typically 14 bars), then applies a multiplier to generate a volatility-adjusted stop-loss distance . This approach allows the indicator to dynamically widen stops during high-volatility periods and tighten them during calm markets, providing a more responsive and context-aware exit strategy.
BB Expansion Oscillator (BEXO)BB Expansion Oscillator (BEXO) is a custom indicator designed to measure and visualize the expansion and contraction phases of Bollinger Bands in a normalized way.
🔹 Core Features:
Normalized BB Width: Transforms Bollinger Band Width into a 0–100 scale for easier comparison across different timeframes and assets.
Signal Line: EMA-based smoothing line to detect trend direction shifts.
Histogram: Highlights expansion vs contraction momentum.
OB/OS Zones: Detects Over-Expansion and Over-Contraction states to spot potential volatility breakouts or squeezes.
Dynamic Coloring & Ribbon: Visual cues for trend bias and crossovers.
Info Table: Displays real-time values and status (Expansion, Contraction, Over-Expansion, Over-Contraction).
Background Highlighting: Optional visual aid for trend phases.
🔹 How to Use:
When BEXO rises above the Signal Line, the market is in an Expansion phase → potential trend continuation.
When BEXO falls below the Signal Line, the market is in a Contraction phase → potential consolidation or trend weakness.
Overbought/Over-Expansion zone (above OB level): Signals high volatility; watch for possible reversal or breakout exhaustion.
Oversold/Over-Contraction zone (below OS level): Indicates a squeeze or low volatility; often precedes strong breakout moves.
🔹 Best Application:
Identify volatility cycles (squeeze & expansion).
Filter trades by volatility conditions.
Combine with price action, volume, or momentum indicators for confirmation.
⚠️ Disclaimer:
This indicator is for educational and research purposes only. It should not be considered financial advice. Always combine with proper risk management and your own trading strategy.