20 SMA based Bull/Bear sentiment indicatorThis script is only doing one thing, plots the 20 SMA and based on whether the asset's price is above or below of the SMA it changes the color of the SMA and the background's color.
Helping it to visualize whether from the 20 SMA's point of view we are in a Bull or a Bear trend.
I created this because I myself use this SMA with Bitcoin on the weekly time frame to identify the macro trend on the weekly.
IMO this is a good crypto market sentiment indicator.
ابحث في النصوص البرمجية عن "weekly"
Bitcoin Bull Runs Mid Cycle Aligned This script plots 2 lines which are the 2013 and 2016 bull run. The plots are aligned on their mid cycles to the 2021 mid cycle.
Settings:
You can move the plots on the x and y axis in the settings for the Daily, Weekly and Monthly TFs.
The plot is weird on the Monthly TF, best to use the Daily and Weekly.
If it doesn't load at first you have to zoom out fully and go back to 2013 for it to load. Then it will load.
Anti-Volume Stop LossFINALLY!
As everyone who tried to create, understand, or even find the Buff Pelz Dormeier Anti-volume stop-loss indicator knows that - it's not easy. Personally, I have partially, or perhaps completely figured out, the tips Buff had given in Investing with Volume Analysis book.
AVSL now is ready.
Please do some test and give me a feedback how it works in your trade strategy.
Anti-Volume stop loss - AVSL
from Investing with Volume Analysis book CHAPTER 20 • RISKY BUSINESS 253-256:
"It is important in any risk-management process to predetermine an objective decision point level (a stop loss) to exit, thereby protecting principal in case you are wrong. My objective sell point is determined by using a quantitative formula I refer to as Anti-Volume Stop Loss (AVSL). Having a quantitative, yet intelligent sell point eliminates the emotional struggles involved in deciding when to exit a position.
AVSL is a technical methodology that incorporates the concepts of support, volatility, and, most importantly, the inverse relationship between price and volume. The AVSL combines the concepts of the VPCI (Volume Price Confirmation Indicator) and John Bollinger’s Bollinger Bands to create a trailing stop loss.
AVSL = Lower Bollinger Band – (Price, Length, Standard Deviation)
Where:
Length = Round (3 + VPCI)
Price = Average (Lows × 1 / VPC × 1 / VPR, Length)
Standard Deviation = 2 × (VPCI × VM)
One of the most difficult decisions is determining what one’s maximum loss threshold should be. Some say 2 percent; others say 20 percent. I believe the more volatile a security, the looser the stop should be. A nonvolatile security, such as Coca-Cola, might move 7 percent a year, while a volatile security such as Google might move 7 percent in a day. If you use a 7 percent stop for Coca-Cola, it might take a year to be stopped out while the security underperforms.
However, if you use 7 percent for Google, you can be stopped out intraday, not allowing the investment an opportunity to develop. By using the lower Bollinger Band of the securities lows, the AVSL considers each individual security’s own volatility. Thus, a volatile security would be granted more room of the stocks low while a stable security would have a tighter leash (see Figure 20.7).
The next important step is employing the price-volume relationship into the calculation. Volume gauges the power behind price moves. In accounting for this, when a security is in an uptrend and has positive volume characteristics, it is given more room. However, if the security exhibits contracting volume characteristics, then the stop is tightened. In this way, if a negative news event affects an unhealthy security, the stop is tighter, thus preserving more of your profits.
However, if the negative news event affects a security whose price-volume relationship is healthy, the stop has been loosened, avoiding the temporary whipsaw of an otherwise strong position. In these ways, AVSL lets the market decide when to exit your position.
AVSL tailors each security for support, volatility, and the pricevolume relationship based on an investor’s time frame as calculated from the chart data. For example, my portfolio positions are continually re-evaluated with this AVSL methodology, which yields the possibility of raising the decision point threshold periodically based on the time frame of my investment objective. With my short-term Giddy-up portfolios, I use daily chart data and seek to raise my maximum loss stop on a daily basis.
My intermediate ETF and stock positions are calculated off of weekly data and then re-evaluated weekly. With my longer term stock portfolios, the decision point is calculated off data revised monthly. This analytical approach that uses measurable facts over emotion or gut instincts allows me to maintain my objectivity. Thus objectivity, not emotion, informs my investment decisions."
How look mine AVSL:
Price component = low × 1/VPC × 1/VPR : for VPC > 1 and VPC < -1 | low × 1 × 1/VPR : for 1 > VPC > 0 | low × -1 × 1/VPR : for 0 > VPC > -1
AVSL Price = sma((low × 1/VPC × 1/VPR) , length) / 100
length = round : for VPCI > 0 | round [ absolute ] : for VPCI < 0 | 3 : for VPCI=0
Standard Deviation = mult × VPCI × VM)
AVSL = sma(Actual low price - AWSL Price + Standard Deviation, 26)
It's hard to say is it the same as in Buff Pelz Dormeier book, but I encourage you to modify the script for better results.
Moving Average Over Timea simple moving average and an exponential moving average that change periods along with temporality: WEEKLY: MA48, EMA24; DAILY: MA21, EMA11; H4: MA30, EMA15; H1: MA120, EMA30.
Trend AnalyzerA simple script that plots difference between 2 moving averages and depicts convergance/divergance in color coded format.
Anything <= 0 is red and shows a bearish trend whereas > 0 is green and shows bullish trend.
Adjust the input parameters as following for your preferred time frame :
4-Hr: Exponential, 15, 30
Daily: Exponential, 10, 20
Weekly: Exponential, 5, 10
stoch pop and RSI2 strategyI have combined stochsatic POP and RSI2 strategy.
Go Long on stochstaic > 80 and RSI2 pulled back to 30 (note when you are entering Long, check that stochsatic is still above 80 )
Close Long when stochastic crossing down 55
I have back tested this on SPY weekly. It has less trades but high profitable with very less draw down.
Other time frames you have more signals but , not great winning rate.
Since this is weekly setup, good for investing ... long waiting to close , patience required :-)
Bitcoin Risk Long Term indicatorOBJECTIVE:
The purpose of this indicator is to synthesize via an average several indicators from a wide choice with in order to simplify the reading of the bitcoin price and that on a long term vision.
Useful for those who want to see things simply, typically to make a smart DCA based on risk.
I originally used this script as a sandbox to understand and test the usefulness of several indicators, and to develop my PineScript skills, but finally the Risk Indicator output seems relevant so I decided to share it.
USAGE:
The selected indicators are the ones that I think give the best market bottoms, but the idea here is that anyone can try and use any set of indicators based on those preferences (post in comments if you find a relevant config)
Most of the indicator inputs are configurable. And some are not taken into account in the calculation of the Risk indicator because I consider them not relevant, this script is also a test more than a final version.
NOTES :
If you have any idea of adding an indicator, modification, criticism, bug found: share them, it is appreciated!
In the future I will create another more versatile Risk indicator that will not be focused on bitcoin in weekly. (this indicator is still usable on other assets and timeframe)
THANKS:
to Benjamin Cowen for inspiring me with his Bitcoin Risk metric
to Lazybear for his Wavetrend Indicator and all the scripts he shares
to Mabonyi for his Bitcoin Logarithmic Growth Curves & Zones script
to VuManChu for his VMC Cypher B Divergence
to the Trading view team for developing TV and PineScript
And to all the community for all the published codes that allowed me to progress and create this script
---- FR ----
OBJECTIF :
L'objectif de cet indicateur est de synthétiser via une moyenne plusieurs indicateurs parmi un large choix avec afin de simplifier la lecture du cours de bitcoin et cela sur une vision longue terme.
Utile pour ceux qui veulent voir les choses simplement, typiquement faire un DCA intelligent en fonction du risque.
À la base j'ai utilisé ce script comme un bac à sable pour comprendre puis tester l'utilité de plusieurs indicateurs, et développer mes compétences PineScript, mais finalement l'output Risk Indicateur me semble pertinent donc autant le partager.
UTILISATION :
Les indicateurs sélectionnés sont ceux qui permettent selon moi d'avoir les meilleurs point bas de marché, mais l'idée ici est que chacun puisse essayer et utiliser n'importe quel ensemble d'indicateur en fonction de ces préférences (poster en commentaire si vous trouvez une configuration pertinente)
La plupart des inputs indicateurs sont paramétrables. Et certains ne sont pas pris en compte dans le calcul du Risk indicateur car je les estime non pertinent, ce script est aussi un essai plus qu'une version finale.
NOTES :
Si vous avez la moindre idée d'ajout d'indicateur, modification, critique, bug trouvé : partagez-les, c'est apprécié !
à l'avenir je créerais un autre Risk indicator plus polyvalent qui ne sera pas focalisé sur bitcoin en weekly. (cet indicateur est tout de même utilisable sur d'autre actif et timeframe)
REMERCIEMENT :
à Benjamin Cowen pour m'avoir inspiré avec son Bitcoin Risk metric
à Lazybear pour son Wavetrend Indicator et globalement tout les scripts qu'il partage
à Mabonyi pour son script Bitcoin Logarithmic Growth Curves & Zones
à VuManChu pour son VMC Cypher B Divergence
à l'équipe Trading view pour avoir développé TV et PineScript
Et à toute la communauté pour tous les codes publiés qui m'ont permis de progresser et de créer ce script
[MF] Auto Fibonacci LevelsDescription:
Automatically draw Fibonacci Pivot levels based on the previous (day's, week's or month's)
Range ( High-Low ). The HLC3 is used as the default Pivot level.
Unlike the "Auto Fibonacci Levels", this variation does not update
Levels on current day even if the price goes past the R3/S3 levels.
Timeframes: 1D, 1W, 1M
Range = (High - Low) - From previous Day, Week or month.
FIB LEVELS:
- Yellow = Pivot and Pivot Zone (HLC3 by default)
- red = R1,S1 Levels 0.236 * Range
- Green = R2,S2 Levels 0.368 * Range
- Lime = R3,S3 Levels 0.618 * Range
- Blue = R4,S4 Levels 0.786 * Range
- Gray = R5,S5 Levels 1.000 * Range
- Lime = R6,S6 Levels 1.236 * Range
- Red = R7,S7 Levels 1.382 * Range
- Blue = R8,S8 Levels 1.618 * Range
- Green = R9,S9 Levels 2.000 * Range
CLASSIC LEVELS:
- Yellow = Pivot and Pivot Zone (HLC3)
- Green = R1,S1 Levels (Pivot*2 - Low), (Pivot*2 - High)
- Lime = R2,S2 Levels ( Pivot + Range), ( Pivot - Range)
- Lime = R3,S3 Levels (High + 2*( Pivot - Low)), (Low - 2*(High - Pivot ))
- Blue = R4,S4 Levels (High + 3*( Pivot - Low)), (Low - 3*(High - Pivot ))
Refrences:
- Auto Daily Fib Levels R3.0 by JustUncleL
- Auto Fib by TheYangGuizi
- Monthly Dynamic Range Levels (Fibonaci) V0 by RicardoSantos
Modifications:
- Added next FIB Levels. (changes during the current cycle)
- Added FIB 0.236 Levels
- Added Option to change the colors of the Fib Levels
- Changed Default colors to the colors of Tradingview
- Upgraded to Version4 Pinescript
Simple Trader - LevelsThis indicator plots the below levels in the chart.
Note: This is not a buy/sell recommendation. Reach Simple Trader to understand how to trade these levels.
Current day open,
Prev. day close,
Prev. day high,
Prev. day low.
Prev. week high,
Prev. week low,
Prev. month high,
Prev. month low.
Multi Range VWAP PivotsMulti Range VWAP Pivots turned out to be one of my most accurate pivot indicators to date!
Multi Range VWAP Pivots works by recognizing the high and low of the timeframe selected (D, W, M, 6M, and 12M) and plotting range high to VWAP averages and range low to VWAP averages.
After further examination of each completed range, I came to the conclusion that due to the nature of averages, high and low respectively would need to be completed within the current range, for the averages to actually display pivots correctly. This means that if all averages appear to be "pivoting" correctly after or during a break lower of higher, then we can only assume the most recent break higher or lower could be exhaustion and price will be reverted to the mean (VWAP). OR, this could be the most accurate hindsight indicator on the planet.
*DISCLAIMER*: This indicator repaints. DO NOT backtest or set alerts with this indicator.
Privious Day and Week ValuesThis indicator is designed for price action. It divides the price range in to four zones based on last week values. Besides, it shows yesterday highest and lowest values. The price usually shows reactions to the drawn horizontal lines!
Momentum Regime and Confluence EngineThe Momentum Regime and Confluence Engine is a momentum-based indicator designed to help traders understand trend context, alignment, and timing—without relying on price prediction or repainting logic.
Instead of telling you what to buy or sell, this tool answers three critical questions:
Which timeframe is in control?
Is short-term momentum aligned or counter-trend?
When is momentum likely to change?
🔹 Core Concept (Simple Explanation)
Markets move in cycles of momentum.
This indicator visualizes those cycles across Weekly and Daily timeframes and places them into a single, easy-to-read view.
Weekly momentum defines the broader market regime
Daily momentum shows shorter-term pressure inside that regime
Projection provides an early visual guide for potential momentum shifts
🟢🔴 Momentum Lines (%K / %D)
The indicator uses two smooth momentum lines:
Green line → rising momentum pressure
Red line → declining momentum pressure
These lines move between 0 and 100:
Near 0 → downside momentum is exhausted
Near 100 → upside momentum is exhausted
When green is above red, momentum is improving.
When red is above green, momentum is weakening.
🟥🟩 Weekly Context Background (Primary Trend)
The background color represents the Weekly momentum regime:
Green → Weekly bullish context
Red → Weekly bearish context
Gray → Neutral / transitional phase
Weekly context changes slowly by design and uses hysteresis logic, meaning it will not flip back and forth near a crossover. Momentum must prove itself before the regime changes.
This helps reduce false signals and whipsaws.
🟢🔴 Daily Context Overlay (Timing Layer)
A lighter background overlay shows Daily momentum context:
Reacts faster than the weekly layer
Can temporarily move against the weekly trend
Highlights pullbacks, relief rallies, and short-term shifts
Examples:
Weekly red + Daily green → short-term bounce in a downtrend
Weekly green + Daily red → pullback in an uptrend
📈 Projection & “Projected Cross”
The indicator includes an optional momentum projection:
It analyzes a historical momentum pattern
Maps that behavior forward in time
Displays a projected path for the momentum lines
A “Projected Cross” label marks where a momentum crossover is likely to occur if similar conditions repeat.
Projections are scenarios, not guarantees.
They are intended as early awareness, not signals.
🏷 Weekly Context Tag
A small on-screen tag displays the current Weekly regime:
W Context: Bull
W Context: Bear
W Context: Neutral
This provides quick confirmation without needing to interpret colors alone.
🧭 How to Use This Indicator
Start with the Weekly background
Identify the dominant market regime.
Check the Daily overlay
Look for alignment or counter-trend behavior.
Watch for projected momentum shifts
Prepare for volatility or transition.
Use price for confirmation
Momentum often shifts before price reacts.
✅ Best Use Cases
Identifying trend regime and momentum bias
Avoiding trades against higher-timeframe pressure
Timing pullbacks and momentum reversals
Staying objective during market noise
⚠️ Important Notes
This indicator does not predict price
It does not generate buy/sell signals
It is a context and timing tool, not a standalone strategy
Final Thought
The Momentum Regime and Confluence Engine is designed to help traders see who is in control, who is pushing back, and when momentum is likely to change—before price makes it obvious.
Swing High Low Liquidity Pools with Purge CriteriaThis Pine Script indicator plots dynamic liquidity pool levels from swing highs/lows using two configurable sensitivities (short-term and longer-term), extends lines until breached by a percentage threshold, and displays horizontal All-Time High (ATH) and All-Time Low (ATL) lines. User can choose to hide liquidity pool levels that are no longer active.
Recommended for higher time frames like daily and weekly.
CME Gap Tracker [captainua]CME Gap Tracker - Advanced Gap Detection & Tracking System
Overview
This indicator provides comprehensive gap detection and tracking capabilities for both consecutive bar gaps and weekly CME trading session gaps. It automatically detects gaps, tracks their fill progress in real-time, provides detailed statistics, and includes backtesting features to validate gap trading strategies. The script is optimized for CME futures trading but works with any instrument, automatically handling ticker conversion between CME futures and spot markets.
Gap Detection Types
Consecutive Bar Gaps:
Detects gaps between any two consecutive bars on the current timeframe. Two detection modes are available:
- High/Low Mode: Detects gaps when current bar's low > previous bar's high (gap up) or current bar's high < previous bar's low (gap down). This is more sensitive and detects more gaps.
- Close/Open Mode: Detects gaps when current bar's open > previous bar's close (gap up) or current bar's open < previous bar's close (gap down). This is more conservative.
Weekly CME Gaps:
Detects gaps between weekly trading sessions, specifically designed for CME futures markets. The script automatically detects the first bar of each new week and compares the current week's open with the previous week's close/high/low. This is particularly useful for tracking weekend gaps in CME futures markets where price can gap significantly between Friday close and Monday open.
Smart Ticker Detection
The script automatically converts between CME futures tickers (e.g., BTC1!, ETH1!) and spot tickers (e.g., BTCUSDT, ETHUSDT). When viewing a CME futures chart, it can automatically detect and use the corresponding spot ticker for gap analysis, and vice versa. This allows traders to:
- View CME futures but track spot market gaps
- View spot markets but track CME futures gaps
- Manually override with custom ticker specification
The ticker validation system uses caching to prevent race conditions during initial script load, ensuring reliable ticker resolution.
Gap Filtering & Tolerance
Static Tolerance:
Set minimum and maximum gap sizes as percentages (default: show only gaps > 0.333% and < 100%). This filters out noise and focuses on significant gaps.
Dynamic Tolerance:
When enabled, tolerance is calculated dynamically based on ATR (Average True Range). The formula: Dynamic Tolerance = (ATR × ATR Multiplier / Close Price) × 100%. This adapts to market volatility - in volatile markets, only larger gaps are shown; in calm markets, smaller gaps are displayed. This is particularly useful for instruments with varying volatility.
Absolute Size Filtering:
In addition to percentage filtering, gaps can be filtered by absolute price size (e.g., show only gaps > $100). This is useful for instruments where percentage alone doesn't capture significance (e.g., high-priced stocks).
Fill Confirmation System
To reduce false gap closure signals, the script requires multiple consecutive bars to confirm gap closure. The default is 2 bars, but can be adjusted from 1-10 bars. Lower values (1) confirm faster but may produce false signals from temporary wicks. Higher values (3-5) reduce false fill signals but delay confirmation. This prevents temporary price spikes from triggering false gap closure alerts.
Gap Fill Tracking
The script tracks gap fill progress in real-time:
- Fill Percentage: How much of the gap has been filled (0-100%)
- Fill Speed: Whether fill is accelerating, decelerating, or constant
- Time to Fill: For closed gaps, how many bars it took to fill
- Fill Status: Unfilled, partially filled, or fully filled
Visual Features
Heatmap Colors:
Gap colors can be adjusted based on gap size, with larger gaps appearing more intense and smaller gaps more faded.
Adaptive Line Width:
Line thickness automatically adjusts based on gap size, making larger gaps more prominent.
Age-Based Coloring:
Gaps can be color-coded by age, with newer gaps appearing brighter and older gaps more faded.
Confluence Zones:
Areas where multiple gaps overlap are highlighted with enhanced visuals, indicating stronger support/resistance zones.
Gap Statistics
A comprehensive statistics table provides:
- Total gaps created, open, and closed
- Fill rates by direction (up vs down) and size category (small, medium, large)
- Average fill time, fastest fill, slowest fill
- Oldest gap and oldest unfilled gap
- Backtesting results: success rate, reversal rate, average move after fill
- CME gap expiration statistics: Gaps expired unfilled (for Weekly CME gaps only)
Statistics can be filtered by period (All Time, Last 100/500/1000/5000 bars) and can be reset via toggle button.
Backtesting
When enabled, the script tracks price movement after gap fills:
- Price after fill: Captures price when gap closes
- Move after fill: Percentage price movement after closure
- Success/Reversal tracking: Determines if price continued in fill direction or reversed
- Success rate: Percentage of gaps where price continued in fill direction
This data helps validate gap trading strategies and understand gap fill behavior.
Gap Re-opening Detection
When enabled, the script detects when a previously filled gap reopens (price gaps back through the filled gap zone). This is useful for identifying when support/resistance levels break and can signal trend reversals.
CME-Specific Features
Monday Opening Volume Analysis:
For Weekly CME gaps detected on Monday openings, the script tracks Monday opening volume relative to average volume. Higher Monday volume ratios indicate stronger gap significance. This ratio is integrated into gap strength calculations and can be displayed in gap labels. Gaps with Monday volume > 1.5x average receive priority score boosts.
CME Gap Expiration Tracking:
Weekly CME gaps that remain unfilled beyond a configurable threshold (default 1000 bars) are automatically marked as "expired" and tracked separately in statistics. This helps identify gaps that act as strong support/resistance levels and never fill. Expired gaps are displayed with special labeling and counted in the "Gaps Expired (CME)" statistic.
CME Gap Priority Scoring Enhancement:
The priority scoring system includes special boosts for CME gaps:
- Monday gaps: +10 points (gaps detected on Monday openings)
- High Monday volume gaps: +15 points (Monday volume ratio > 1.5x average)
- Gaps at key weekly levels: +10 points (gaps aligning with previous week's high, low, or close within 0.5% tolerance)
These enhancements help prioritize the most significant CME gaps for trading decisions.
Custom Gap Zones
Traders can manually mark custom gap zones by specifying top and bottom levels. These zones are tracked like automatically detected gaps, allowing traders to:
- Mark historical gaps that weren't detected
- Create support/resistance zones based on other analysis
- Track specific price levels of interest
Multi-Timeframe Support
The script can detect gaps on higher timeframes simultaneously. For example, when viewing a 1-hour chart, it can also detect and display gaps from the weekly timeframe. This provides multi-timeframe context for gap analysis.
Alert System
Comprehensive alert system with multiple trigger types:
- Gap Creation: Alert when new gaps are detected
- Gap Closure: Alert when gaps are fully filled
- Partial Fill: Alert when gaps reach specific fill percentages (e.g., 25%, 50%, 75%, 90%)
- Approaching Closure: Alert when gaps reach high fill levels (e.g., 90%, 95%) before closing
- Gap Re-opening: Alert when previously filled gaps reopen
Alerts can be filtered to trigger only on Mondays (useful for CME weekly gaps) or any day.
Filtering Options
Gaps can be filtered by:
- Fill Status: Show all, unfilled only, partially filled only, or fully filled only
- Fill Percentage Range: Show gaps within specific fill percentage ranges
- Gap Age: Show only gaps within specific age ranges (bars)
- Gap Expiration: Automatically remove gaps older than specified number of bars (for Weekly CME gaps, uses separate CME expiration threshold)
Performance & Safety
The script includes several safety features:
- Safe array operations to prevent index out-of-bounds errors
- Memory leak prevention through proper visual object cleanup
- Ticker validation caching to prevent race conditions
- Week boundary detection for accurate CME gap identification
- Fill confirmation system to reduce false signals
- Monday opening volume analysis for CME gap strength assessment
- CME gap expiration tracking with configurable thresholds
- Priority scoring enhancement for Monday gaps, high Monday volume, and key weekly levels
Usage Recommendations
For CME Weekly Gaps:
1. Set "Gap Detection Type" to "Weekly CME"
2. View a CME futures chart (e.g., BTC1!) or enable auto-detect spot ticker
3. Set tolerance to filter gap size (default 0.333%)
4. Enable statistics to track fill rates
5. Configure alerts for gap creation/closure
For Consecutive Bar Gaps:
1. Set "Gap Detection Type" to "Consecutive Bars"
2. Choose "High/Low" for more gaps or "Close/Open" for fewer gaps
3. Adjust tolerance based on instrument volatility
4. Enable fill confirmation (2-3 bars) for more reliable signals
5. Use filtering to focus on specific gap types
For Gap Trading Strategies:
1. Enable backtesting to validate strategy performance
2. Review statistics to understand gap fill patterns
3. Use confluence zones to identify strong support/resistance
4. Configure alerts for gap events matching your strategy
5. Use custom zones to mark important levels
Technical Details:
• Pine Script v6 | Overlay indicator
• Safe array operations with index validation
• Memory leak prevention through proper object cleanup
• Ticker validation caching for reliable ticker resolution
• Works on all timeframes and instruments
• Comprehensive edge case handling
• Week boundary detection using ta.change(weekofyear)
• Fill confirmation system with configurable bars
For detailed documentation and usage instructions, see the script comments.
Macros+AMD [NW]Macros + AMD - Daily & Weekly Time-Based Analysis
Multi-timeframe AMD (Accumulation, Manipulation, Distribution) visualization with ICT Macro timing windows for time-based market analysis.
Overview
This indicator visualizes the AMD (Accumulation, Manipulation, Distribution) framework on both daily and weekly timeframes, combined with ICT Macro timing windows. It is designed as an educational tool to help traders study time-based market structure and algorithmic price delivery concepts.
The AMD model is based on the idea that markets move through distinct phases within each trading period:
Accumulation (A) - Initial range formation, liquidity building
Manipulation (M) - False moves to trap traders, liquidity sweeps
Distribution (D) - True directional move, price delivery to targets
What This Indicator Displays
Daily AMD Phases
Displays the intraday AMD cycle based on New York trading hours:
A Phase (Blue): 4:00 AM - 8:35 AM EST — Morning accumulation, Asian/London overlap
M Phase (Red): 8:35 AM - 11:25 AM EST — NY session manipulation, news events
D Phase (Green): 11:25 AM - 4:00 PM EST — Afternoon distribution and price delivery
Weekly AMD Phases
Displays the weekly AMD cycle from Monday to Monday:
A Phase: Monday 00:00 - Tuesday 21:56 EST — Weekly high/low formation begins
M Phase: Tuesday 21:56 - Thursday 02:04 EST — Mid-week reversal zone
D Phase: Thursday 02:04 - Monday 00:00 EST — Weekly price delivery
Inner M Phase Fibs
When enabled, subdivides the M (Manipulation) phase using Fibonacci levels:
0.382 level — Inner accumulation ends
0.500 level — Mid-point of manipulation
0.618 level — Inner distribution begins
This helps identify potential reversal points within the manipulation phase.
ICT Macro Windows
Horizontal lines marking the XX:42 to XX:15 macro periods (33-minute windows):
2:42 - 3:15 AM
3:42 - 4:15 AM (London)
7:42 - 8:15 AM
8:42 - 9:15 AM
9:42 - 10:15 AM (Prime AM session)
10:42 - 11:15 AM
11:42 - 12:15 PM
12:42 - 1:15 PM
1:42 - 2:15 PM
2:42 - 3:15 PM
These windows represent times when algorithmic price delivery is more likely to occur.
How To Use
Understanding the AMD Framework
During the A Phase:
Observe range formation and initial liquidity pools
Note the high and low established during this phase
Wait for manipulation before committing to direction
During the M Phase:
Watch for false breakouts and stop hunts
Look for reversal patterns after liquidity sweeps
The inner fibs (0.382, 0.5, 0.618) can help time entries within this phase
Mid-week (Wednesday) often sees key reversals on weekly AMD
During the D Phase:
This is typically when the true move occurs
Price tends to deliver toward draw on liquidity targets
The direction is often opposite to the manipulation move
Using the Macro Windows
The XX:42 to XX:15 windows are times to pay attention to price action:
These 33-minute periods often see increased algorithmic activity
Look for displacement, fair value gaps, or order blocks forming
The 9:42-10:15 AM window is considered particularly significant for NY session
Weekly Day Labels
Monday/Tuesday: "H/L of Week" — Watch for weekly high or low formation
Wednesday: "Reversal Day" — Mid-week reversal probability increases
Thursday/Friday: "Reversal Day" — Continuation or secondary reversal
Settings Guide
Main Settings
Timezone: Set to your broker's timezone or preferred timezone
Macros On Top: Toggle macro lines above or below AMD boxes
Show All Text Labels: Master toggle for all text (turn off for clean charts on HTF)
Daily/Weekly AMD
Show: Enable/disable the AMD visualization
Opacity: Adjust transparency of the phase boxes (higher = more transparent)
AMD Colors
Customize colors for each phase (A, M, D)
Default: Blue (A), Red (M), Green (D)
Inner M Style
Customize the inner M phase fib lines and text colors
Default: Black lines for clean visibility
Macro Settings
Adjust macro line color and thickness
Toggle individual macro windows on/off
Important Notes
This indicator is for educational purposes and time-based analysis
It does not provide buy/sell signals
Always use in conjunction with proper price action analysis
Past price behavior during these time windows does not guarantee future results
The AMD framework is one lens for viewing market structure — use it as part of a complete methodology
Credits
This indicator is based on concepts taught by ICT (Inner Circle Trader) and the broader Smart Money Concepts community. The AMD framework, macro timing windows, and weekly profile concepts are derived from this educational methodology.
Timeframe Recommendations
Best viewed on 1-minute to 15-minute charts
Text labels automatically hide on 9-minute and higher timeframes for cleaner visualization
Indicator hides completely on 1-hour and higher timeframes
Changelog
v1.0 - Initial release
Daily AMD phases (4am-4pm EST)
Weekly AMD phases (Monday-Monday)
Inner M phase Fibonacci subdivisions
10 ICT Macro timing windows
Full customization options
Automatic 9-day cleanup
PivotBoss VWAP Bands (Auto TF) - FixedWhat this indicator shows (high level)
The indicator plots a VWAP line and three bands above (R1, R2, R3) and three bands below (S1, S2, S3).
Band spacing is computed from STD(abs(VWAP − price), N) and multiplied by 1, 2 and 3 to form R1–R3 / S1–S3. The script is timeframe-aware: on 30m/1H charts it uses Weekly VWAP and weekly bands; on Daily charts it uses Monthly VWAP and monthly bands; otherwise it uses the session/chart VWAP.
VWAP = the market’s volume-weighted average price (a measure of fair value). Bands = volatility-scaled zones around that fair value.
Trading idea — concept summary
VWAP = fair value. Price above VWAP implies bullish bias; below VWAP implies bearish bias.
Bands = graded overbought/oversold zones. R1/S1 are near-term limits, R2/S2 are stronger, R3/S3 are extreme.
Use trend alignment + price action + volume to choose higher-probability trades. VWAP bands give location and magnitude; confirmations reduce false signals.
Entry rules (multiple strategies with examples)
A. Momentum breakout (trend-following) — preferred on trending markets
Setup: Price consolidates near or below R1 and then closes above R1 with above-average volume. Chart: 30m/1H (Weekly VWAP) or Daily (Monthly VWAP) depending on your timeframe.
Entry: Enter long at the close of the breakout bar that closes above R1.
Stop-loss: Place initial stop below the higher of (VWAP or recent swing low). Example: if price broke R1 at ₹1,200 and VWAP = ₹1,150, set stop at ₹1,145 (5 rupee buffer below VWAP) or below the last swing low if that is wider.
Target: Partial target at R2, full target at R3. Trail stop to VWAP or to R1 after price reaches R2.
Example numeric: Weekly VWAP = ₹1,150, R1 = ₹1,200, R2 = ₹1,260. Buy at ₹1,205 (close above R1), stop ₹1,145, target1 ₹1,260 (R2), target2 ₹1,320 (R3).
B. Mean-reversion fade near bands — for range-bound markets
Setup: Market is not trending (VWAP flatish). Price rallies up to R2 or R3 and shows rejection (pin bar, bearish engulfing) on increasing or neutral volume.
Entry: Enter short after a confirmed rejection candle that fails to sustain above R2 or R3 (prefer confirmation: close back below R1 or below the rejection candle low).
Stop-loss: Just above the recent high (e.g., 1–2 ATR or a fixed buffer above R2/R3).
Target: First target VWAP, second target S1. Reduce size if taking R3 fade as it’s an extreme.
Example numeric: VWAP = ₹950, R2 = ₹1,020. Price spikes to ₹1,025 and forms a bearish engulfing candle. Enter short at ₹1,015 after the next close below ₹1,020. Stop at ₹1,035, target VWAP ₹950.
C. Pullback entries in trending markets — higher probability
Setup: Price is above VWAP and trending higher (higher highs and higher lows). Price pulls back toward VWAP or S1 with decreasing downside volume and a reversal candle forms.
Entry: Long when price forms a bullish reversal (hammer/inside-bar) with a close back above the pullback candle.
Stop-loss: Below the pullback low (or below S2 if a larger stop is justified).
Target: VWAP then R1; if momentum resumes, trail toward R2/R3.
Example numeric: Price trending above Weekly VWAP at ₹1,400; pullback to S1 at ₹1,360. Enter long at ₹1,370 when a bullish candle closes; stop at ₹1,350; first target VWAP ₹1,400, second target R1 ₹1,450.
Exit rules and money management
Basic exit hierarchy
Hard stop exit — when price hits initial stop-loss. Always use.
Target exit — take partial profits at R1/R2 (for longs) or S1/S2 (for shorts). Use trailing stops for the remainder.
VWAP invalidation — if you entered long above VWAP and price returns and closes significantly below VWAP, consider exiting (condition depends on timeframe and trade size).
Price action exit — reversal patterns (strong opposite candle, bearish/bullish engulfing) near targets or beyond signals to exit.
Trailing rules
After price reaches R2, move stop to breakeven + a small buffer or to VWAP.
After price reaches R3, trail by 1 ATR or lock a defined profit percentage.
Position sizing & risk
Risk per trade: commonly 0.5–2% of account equity.
Determine position size by RiskAmount ÷ (EntryPrice − StopPrice).
If the stop distance is large (e.g., trading R3 fades), reduce position size.
Filters & confirmation (to reduce false signals)
Volume filter: For breakouts, require volume above short-term average (e.g., >20-period average). Breakouts on low volume are suspect.
Trend filter: Only take breakouts in the direction of the higher-timeframe trend (for example, use Daily/Weekly trend when trading 30m/1H).
Candle confirmation: Prefer entries on close of the confirming candle (not intrabar noise).
Multiple confirmations: When R1 break happens but RSI/plotted momentum indicator does not confirm, treat signal as lower probability.
Special considerations for timeframe-aware logic
On 30m/1H the script uses Weekly VWAP/bands. That means band levels change only on weekly candles — they are strong, structural levels. Treat R1/R2/R3 as significant and expect fewer, stronger signals.
On Daily, the script uses Monthly VWAP/bands. These are wider; trades should allow larger stops and smaller position sizes (or be used for swing trades).
On other intraday charts you get session VWAP (useful for intraday scalps).
Example: If you trade 1H and the Weekly R1 is at ₹2,400 while session VWAP is ₹2,350, a close above Weekly R1 represents a weekly-level breakout — prefer that for swing entries rather than scalps.
Example trade walkthrough (step-by-step)
Context: 1H chart, auto-mapped → Weekly VWAP used.
Weekly VWAP = ₹3,000; R1 = ₹3,080; R2 = ₹3,150.
Price consolidates below R1. A large bullish candle closes at ₹3,085 with volume 40% above the 20-bar average.
Entry: Buy at close ₹3,085.
Stop: Place stop at ₹2,995 (just under Weekly VWAP). Risk = ₹90.
Position size: If risking ₹900 per trade → size = 900 ÷ 90 = 10 units.
Targets: Partial take-profit at R2 = ₹3,150; rest trailed with stop moved to breakeven after R2 is hit.
If price reverses and closes below VWAP within two bars, exit immediately to limit drawdown.
When to avoid trading these signals
High-impact news (earnings, macro announcements) that can gap through bands unpredictably.
Thin markets with low volume — VWAP loses significance when volumes are extremely low.
When weekly/monthly bands are flat but intraday price is volatile without clear structure — prefer session VWAP on smaller timeframes.
Alerts & automation suggestions
Alert on close above R1 / below S1 (use the built-in alertcondition the script adds). For higher-confidence alerts, require volume filter in the alert condition.
Automated order rules (if you automate): use limit entry at breakout close plus a small slippage buffer, immediate stop order, and OCO for TP and SL.
Systemic Net Liquidity (Macro Fuel for Crypto & Stocks)This indicator tracks Systemic Net Liquidity, the single most important macro factor for determining the long-term trend of risk assets like Bitcoin (BTC) and major indices (S&P 500). It measures the amount of actual cash available in the financial system to chase speculative assets, distinguishing between money that is circulating and money that is locked up at the Federal Reserve.
Mechanism (What It Measures)
The script uses direct data from the FRED (Federal Reserve Economic Data) to calculate the true state of market funding:
\text{Net Liquidity} = \text{Fed Assets (WALCL)} - \text{Treasury General Account (TGA)} - \text{Reverse Repo (RRP)}
1. Fed Assets (WALCL): The total balance sheet of the Fed (The overall supply of money).
2. Treasury General Account (TGA): Funds the US Treasury collects via bond issuance. When the TGA rises, liquidity is actively drained from the banking system (A major bearish pressure).
3. Overnight Reverse Repo (RRP): Cash parked by banks and money market funds at the Fed, effectively frozen and not contributing to market activity.
How to Interpret Signals
Treat the Net Liquidity line as the market's "Fuel Gauge":
📈 BULLISH SIGNAL (Liquidity Injection): When the Net Liquidity line is rising, money is flowing back into the system, signalling a tailwind for risk assets.
📉 BEARISH SIGNAL (Liquidity Drain): When the line is falling (often due to high TGA balances), cash is being removed. This signals major friction and pressure on price action.
⚠️ DIVERGENCE WARNING: A strong signal is generated when Price (e.g., BTC) rises, but Net Liquidity falls. This macro divergence strongly suggests a major trend reversal or correction is imminent.
Important Notes
Data Source: Data is directly sourced from FRED and updates daily/weekly. This tool is best used for macro analysis and identifying high-level cycles, not short-term scalping.
Disclaimer: Use this indicator as a confirmation tool within your broader strategy. It is not a standalone trading signal.
Systemic Net Liquidity (Macro Fuel for Crypto & Stocks)This indicator tracks Systemic Net Liquidity, the single most important macro factor for determining the long-term trend of risk assets like Bitcoin (BTC) and major indices (S&P 500). It measures the amount of actual cash available in the financial system to chase speculative assets, distinguishing between money that is circulating and money that is locked up at the Federal Reserve.
Mechanism (What It Measures)
The script uses direct data from the FRED (Federal Reserve Economic Data) to calculate the true state of market funding:
\text{Net Liquidity} = \text{Fed Assets (WALCL)} - \text{Treasury General Account (TGA)} - \text{Reverse Repo (RRP)}
1. Fed Assets (WALCL): The total balance sheet of the Fed (The overall supply of money).
2. Treasury General Account (TGA): Funds the US Treasury collects via bond issuance. When the TGA rises, liquidity is actively drained from the banking system (A major bearish pressure).
3. Overnight Reverse Repo (RRP): Cash parked by banks and money market funds at the Fed, effectively frozen and not contributing to market activity.
How to Interpret Signals
Treat the Net Liquidity line as the market's "Fuel Gauge":
📈 BULLISH SIGNAL (Liquidity Injection): When the Net Liquidity line is rising, money is flowing back into the system, signalling a tailwind for risk assets.
📉 BEARISH SIGNAL (Liquidity Drain): When the line is falling (often due to high TGA balances), cash is being removed. This signals major friction and pressure on price action.
⚠️ DIVERGENCE WARNING: A strong signal is generated when Price (e.g., BTC) rises, but Net Liquidity falls. This macro divergence strongly suggests a major trend reversal or correction is imminent.
Important Notes
Data Source: Data is directly sourced from FRED and updates daily/weekly. This tool is best used for macro analysis and identifying high-level cycles, not short-term scalping.
Disclaimer: Use this indicator as a confirmation tool within your broader strategy. It is not a standalone trading signal.
Smart RSI Money Flow - Core Bands V1.01SMART RSI – Money Flow Bands (Technical Overview)
1. Background: RSI and Its Behavior on Lower Timeframes
The Relative Strength Index (RSI) originally is a momentum oscillator calculated from average gains and losses over a selected period. In its standard form, RSI is derived solely from price changes; it does not incorporate volume data or order-flow information in its formula.
Because RSI is price-based, its interpretation depends strongly on the timeframe:
• On higher timeframes, each bar aggregates more trading activity, and RSI tends to behave more smoothly.
• On lower timeframes (1-hour down to intraday scalping intervals), price fluctuations are quicker, and RSI becomes more sensitive to short-term noise.
This does not imply that RSI becomes invalid, but that its signals on fast charts can be more reactive and may benefit from additional context such as volume behavior or structural information.
2. Purpose of This Indicator
This indicator extends the classical RSI by adding information that RSI does not include:
• Mapping RSI values into price-based bands instead of the 0–100 oscillator space.
• Retrieving lower timeframe volume data and separating it into buy and sell components.
• Comparing the slope (angle) of price movement with the slope of buy and sell volume.
The goal is to provide a structural interpretation of where price sits relative to RSI conditions and how volume is behaving on a lower timeframe.
3. Technical Differences Compared to Classical RSI
A) Classical RSI
• Input: price only (usually close).
• Output: normalized oscillator between 0 and 100.
• Does not incorporate intra-bar volume distribution.
• Does not separate buy/sell volume.
B) SMART RSI – Money Flow Bands
1) RSI-to-Price Mapping
Converts RSI values into upper/lower price bands using recent price extremes.
2) Lower Timeframe Volume Decomposition
Retrieves LTF data and splits each bar’s volume into buy (close>open) and sell (close
CMC Macro Regime PanelOverview (what it is):
A macro‑regime gate built entirely from TradingView-native symbols (CRYPTOCAP, FRED, DXY/VIX, HYG/LQD). It aggregates central‑bank liquidity (Fed balance sheet − RRP − Treasury General Account), USD strength, credit conditions, stablecoin flows/dominance, tech beta and BTC–NDX co‑move into one normalized score (CLRC). The panel outputs Risk‑ON/OFF regimes, an Early 3/5 pre‑signal, and an automatic BTC vs ETH vs ALTs preference. It is intentionally scoped to Daily & Weekly reads (no intraday timing). Publish with a clean chart and a clear description as per TradingView rules.
TradingView
Why we also use other TradingView screens (and why that is compliant)
This script pulls data via request.security() from official TV symbols only; users often want to open the raw series on separate charts to sanity‑check:
CRYPTOCAP indices: TOTAL, TOTAL2, TOTAL3 (market cap aggregates) and dominance tickers like BTC.D, USDT.D. Helpful for regime & rotation (ALTs vs BTC). TradingView provides definitions for crypto market cap and dominance symbols.
TradingView
+3
TradingView
+3
TradingView
+3
FRED releases: WALCL (Fed assets, weekly), RRPONTSYD (ON RRP, daily), WTREGEN (TGA, weekly), M2SL (M2, monthly). These are the official macro sources exposed on TV.
FRED
+3
FRED
+3
FRED
+3
Risk proxies: TVC:DXY (USD index), TVC:VIX (implied vol), AMEX:HYG/AMEX:LQD (credit), NASDAQ:NDX (tech beta), BINANCE:ETHBTC. VIX/NDX relationship is well-documented; VIX measures 30‑day expected S&P500 vol.
TradingView
+2
TradingView
+2
Compliance note: Using multiple screens is optional for users, but it explains/justifies how components work together (a requirement for public scripts). Keep publication chart clean; use extra screens only to illustrate in the description.
TradingView
How it works (high level)
Liquidity block (Weekly/Monthly)
Net Liquidity = WALCL − RRPONTSYD − WTREGEN (YoY z‑score). WALCL is weekly (as of Wednesday) via H.4.1; RRP is daily; TGA is a Fed liability series. M2 YoY is monthly.
FRED
+3
FRED
+3
FRED
+3
Risk conditions (Daily)
DXY 3‑month momentum (inverted), VIX level (inverted), Credit (HYG/LQD ratio or HY OAS). VIX is a 30‑day constant‑maturity implied vol index per Cboe methodology.
Cboe
+1
Crypto‑internal (Daily)
Stablecoins (USDT+USDC+DAI 30‑day log change), USDT dominance (20‑day, inverted), TOTAL3 (63‑day momentum). Dominance symbols on TV follow a documented formula.
TradingView
Beta & co‑move (Daily)
NDX 63‑day momentum, BTC↔NDX 90‑day correlation.
All components become z‑scores (optionally clipped), weighted, missing inputs drop and weights renormalize. We never use lookahead; we confirm on bar close to avoid repainting per Pine docs (barstate.isconfirmed, multi‑TF).
TradingView
+2
TradingView
+2
What you see on the chart
White line (CLRC) = macro regime score.
Background: Green = Risk‑ON, Red = Risk‑OFF, Teal = Early 3/5 (pre‑signal).
Table: shows each component’s z‑score and the Preference: BTC / ETH / ALTs / Mixed.
Signals & interpretation
Designed for Daily (1D) and Weekly (1W) only.
Regime gates (default Fast preset):
Enter ON: CLRC ≥ +0.8; Hold ON while ≥ +0.5.
Enter OFF: CLRC ≤ −1.0; Hold OFF while ≤ −0.5.
0 / ±1 reading: CLRC is a standardized composite.
~0 = neutral baseline (no macro edge).
≥ +1 = strong macro tailwind (≈ +1σ).
≤ −1 = strong headwind (≈ −1σ).
Early 3/5 (teal): a fast pre‑signal when at least 3 of 5 daily checks align: USDT.D↓, DXY↓, VIX↓, HYG/LQD↑, ETHBTC↑ or TOTAL3↑. It often precedes a full ON flip—use for pre‑positioning rather than full sizing.
BTC/ETH/ALTs selector (only when ON):
ALTs when BTC.D↓ and (ETHBTC↑ or TOTAL3↑) ⇒ rotate down the risk curve.
BTC when BTC.D↑ and ETHBTC↓ ⇒ keep it concentrated.
ETH when ETHBTC↑ while BTC.D flat/up ⇒ add ETH beta.
(Dominance mechanics are documented by TV.)
TradingView
Dissonance (incompatibility) rules — when to stand down
Use these overrides to avoid false comfort:
CLRC > +1 but USDT.D↑ and/or VIX spikes day‑over‑day → downgrade to Neutral; wait for USDT.D to stabilize and VIX to cool (VIX is a fear gauge of 30‑day expectation).
Cboe Global Markets
CLRC > +1 but DXY↑ sharply (USD squeeze) → size below normal; require DXY momentum to roll over.
CLRC < −1 but Early 3/5 = true two days in a row → start reducing underweights; look for ON flip within a few bars.
NetLiq improving (W) but credit (HYG/LQD) deteriorating (D) → treat as mixed regime; prefer BTC over ALTs.
How to use (step‑by‑step)
A. Read on Daily (1D) — main regime
Open CRYPTOCAP:TOTAL3, 1D (panel applied).
Wait for bar close (use alerts on confirmed bar). Pine docs recommend barstate.isconfirmed to avoid repainting on realtime bars.
TradingView
If ON, check Preference (BTC / ETH / ALTs).
Then drop to 4H on your trading pair for micro entries (this indicator itself is not for intraday timing).
B. Confirm weekly macro (1W) — once per week)
Review WALCL/RRP/TGA after the H.4.1 release on Thursdays ~4:30 pm ET. WALCL is “Weekly, as of Wednesday”; M2 is Monthly—so do not expect daily responsiveness from these.
Federal Reserve
+2
FRED
+2
Recommended check times (practical schedule)
Daily regime read: right after your chart’s daily close (confirmed bar). For consistent timing across crypto, many users set chart timezone to UTC and read ~00:05 UTC; you can change chart timezone in TV’s settings.
TradingView
In‑day monitoring: optional spot checks 16:00 & 20:00 UTC (DXY/VIX move during US hours), but act only after the daily bar confirms.
Weekly macro pass: Thu 21:30–22:30 UTC (after H.4.1 4:30 pm ET) or Fri after daily close, to let weekly FRED series propagate.
Federal Reserve
Limitations & data latency (be explicit)
Higher‑TF data & confirmation: FRED weekly/monthly series will not reflect intraday risk in crypto; we aggregate them for regime, not for entry timing.
Repainting 101: Realtime bars move until close. This script does not use lookahead and follows Pine guidance on multi‑TF series; still, always act on confirmed bars.
TradingView
+1
Public‑library compliance: Title EN‑only; description starts in EN; clean chart; justify component mash‑up; no lookahead; no unrealistic claims.
TradingView
Alerts you can use
“Macro Risk‑ON (entry)” — fires on ON flip (confirmed bar).
“Macro Risk‑OFF (entry)” — fires on OFF flip.
“Early 3/5” — fires when the teal pre‑signal appears (not a regime flip).
“Preference change” — BTC/ETH/ALTs toggles while ON.
Publish note: Alerts are fine; just avoid implying guaranteed accuracy/performance.
TradingView
Background research (why these inputs matter)
Liquidity → Crypto: Fed H.4.1 timing and series definitions (WALCL, RRP, TGA) formalize the “net liquidity” concept used here.
FRED
+3
Federal Reserve
+3
FRED
+3
Stablecoins ↔ Non‑stable crypto: empirical work shows bi‑directional causality between stablecoin market cap and non‑stable crypto cap; stablecoin growth co‑moves with broader crypto activity.
Global liquidity link: world liquidity positively relates to total crypto market cap; lagged effects are observed at monthly horizons.
VIX/Uncertainty effect: fear shocks impair BTC’s “safe haven” behavior; VIX is a meaningful risk‑off read.
Entry Signals (Long/Short)The indicator visualizes precise entry signals for long and short setups directly on the price chart. Long is marked with a green triangle-up, short with a red triangle-down. To contextualize trend structure, the Fast EMA (5) is plotted in black and the Slow EMA (20) in blue (line width 1). Signals print only at bar close for reproducible execution. Applicable across all timeframes—ideal for top-down analysis from the 195-minute chart through daily to weekly.
Uptrick: Universal Z-Score ValuationOverview
The Uptrick: Universal Z-Score Valuation is a tool designed to help traders spot when the market might be overreacting—whether that’s on the upside or the downside. It does this by combining the Z-scores of multiple key indicators into a single average, letting you see how far the current market conditions have stretched away from “normal.” This average is shown as a smooth line, supported by color-coded visuals, signal markers, optional background highlights, and a live breakdown table that shows the contribution of each indicator in real time. The focus here is on spotting potential reversals, not following trends. The indicator works well across all timeframes and asset classes, from fast intraday charts like the 1-minute and 5-minute, to higher timeframes such as the 4-hour, daily, or even weekly. Its universal design makes it suitable for any market — whether you're trading crypto, stocks, forex, or commodities.
Introduction
To understand what this indicator does, let’s start with the idea of a Z-score. In simple terms, a Z-score tells you how far a number is from the average of its recent history, measured in standard deviations. If the price of an asset is two standard deviations above its mean, that means it’s statistically “rare” or extended. That doesn’t guarantee a reversal—but it suggests the move is unusual enough to pay attention.
This concept isn’t new, but what this indicator does differently is apply the Z-score to a wide set of market signals—not just price. It looks at momentum, volatility, volume, risk-adjusted performance, and even institutional price baselines. Each of those indicators is normalized using Z-scores, and then they’re combined into one average. This gives you a single, easy-to-read line that summarizes whether the entire market is behaving abnormally. Instead of reacting to one indicator, you’re reacting to a statistically balanced blend.
Purpose
The goal of this script is to catch turning points—places where the market may be topping out or bottoming after becoming overstretched. It’s built for traders who want to fade sharp moves rather than follow trends. Think of moments when price explodes upward and starts pulling away from every moving average, volume spikes, volatility rises, and RSI shoots up. This tool is meant to spot those situations—not just when price is stretched, but when multiple different indicators agree that something is overdone.
Originality and Uniqueness
Most indicators that use Z-scores only apply them to one thing—price, RSI, or maybe Bollinger Bands. This one is different because it treats each indicator as a contributor to the full picture. You decide which ones to include, and the script averages them out. This makes the tool flexible but also deeply informative.
It doesn’t rely on complex or hidden math. It uses basic Z-score formulas, applies them to well-known indicators, and shows you the result. What makes it unique is the way it brings those signals together—statistically, visually, and interactively—so you can see what’s happening in the moment with full transparency. It’s not trying to be flashy or predictive. It’s just showing you when things have gone too far, too fast.
Inputs and Parameters
This indicator includes a wide range of configurable inputs, allowing users to customize which components are included in the Z-score average, how each indicator is calculated, and how results are displayed visually. Below is a detailed explanation of each input:
General Settings
Z-Score Lookback (default: 100): Number of bars used to calculate the mean and standard deviation for Z-score normalization. Larger values smooth the Z-scores; smaller values make them more reactive.
Bar Color Mode (default: None): Determines how bars are visually colored. Options include: None: No candle coloring applied. - Heat: Smooth gradient based on the Z-score value. - Latest Signal: Applies a solid color based on the most recent buy or sell signal
Boolean - General
Plot Universal Valuation Line (default: true): If enabled, plots the average Z-score (zAvg) line in the separate pane.
Show Signals (default: true): Displays labels ("𝓤𝓹" for buy, "𝓓𝓸𝔀𝓷" for sell) when zAvg crosses above or below user-defined thresholds.
Show Z-Score Table (default: true): Displays a live table listing each enabled indicator's Z-score and the current average.
Select Indicators
These toggles enable or disable each indicator from contributing to the Z-score average:
Use VWAP Z-Score (default: true)
Use Sortino Z-Score (default: true)
Use ROC Z-Score (default: true)
Use Price Z-Score (default: true)
Use MACD Histogram Z-Score (default: false)
Use Bollinger %B Z-Score (default: false)
Use Stochastic K Z-Score (default: false)
Use Volume Z-Score (default: false)
Use ATR Z-Score (default: false)
Use RSI Z-Score (default: false)
Use Omega Z-Score (default: true)
Use Sharpe Z-Score (default: true)
Only enabled indicators are included in the average. This modular design allows traders to tailor the signal mix to their preferences.
Indicator Lengths
These inputs control how each individual indicator is calculated:
MACD Fast Length (default: 12)
MACD Slow Length (default: 26)
MACD Signal Length (default: 9)
Bollinger Basis Length (default: 20): Used to compute the Bollinger %B.
Bollinger Deviation Multiplier (default: 2.0): Standard deviation multiplier for the Bollinger Band calculation.
Stochastic Length (default: 14)
ATR Length (default: 14)
RSI Length (default: 14)
ROC Length (default: 10)
Zones
These thresholds define key signal levels for the Z-score average:
Neutral Line Level (default: 0): Baseline for the average Z-score.
Bullish Zone Level (default: -1): Optional intermediate zone suggesting early bullish conditions.
Bearish Zone Level (default: 1): Optional intermediate zone suggesting early bearish conditions.
Z = +2 Line Level (default: 2): Primary threshold for bearish signals.
Z = +3 Line Level (default: 3): Extreme bearish warning level.
Z = -2 Line Level (default: -2): Primary threshold for bullish signals.
Z = -3 Line Level (default: -3): Extreme bullish warning level.
These zone levels are used to generate signals, fill background shading, and draw horizontal lines for visual reference.
Why These Indicators Were Merged
Each indicator in this script was chosen for a specific reason. They all measure something different but complementary.
The VWAP Z-score helps you see when price has moved far from the volume-weighted average, often used by institutions.
Sortino Ratio Z-score focuses only on downside risk, which is often more relevant to traders than overall volatility.
ROC Z-score shows how fast price is changing—strong momentum may burn out quickly.
Price Z-score is the raw measure of how far current price has moved from its mean.
RSI Z-score shows whether momentum itself is stretched.
MACD Histogram Z-score captures shifts in trend strength and acceleration.
%B (Bollinger) Z-score indicates how close price is to the upper or lower volatility envelope.
Stochastic K Z-score gives a sense of how high or low price is relative to its recent range.
Volume Z-score shows when trading activity is unusually high or low.
ATR Z-score gives a read on volatility, showing if price movement is expanding or contracting.
Sharpe Z-score measures reward-to-risk performance, useful for evaluating trend quality.
Omega Z-score looks at the ratio of good returns to bad ones, offering a more nuanced view of efficiency.
By normalizing each of these using Z-scores and averaging only the ones you turn on, the script creates a flexible, balanced view of the market’s statistical stretch.
Calculations
The core formula is the standard Z-score:
Z = (current value - average) / standard deviation
Every indicator uses this formula after it’s calculated using your chosen settings. For example, RSI is first calculated as usual, then its Z-score is calculated over your selected lookback period. The script does this for every indicator you enable. Then it averages those Z-scores together to create a single value: zAvg. That value is plotted and used to generate visual cues, signals, table values, background color changes, and candle coloring.
Sequence
Each selected indicator is calculated using your custom input lengths.
The Z-score of each indicator is computed using the shared lookback period.
All active Z-scores are added up and averaged.
The resulting zAvg value is plotted as a line.
Signal conditions check if zAvg crosses user-defined thresholds (default: ±2).
If enabled, the script plots buy/sell signal labels at those crossover points.
The candle color is updated using your selected mode (heatmap or signal-based).
If extreme Z-scores are reached, background highlighting is applied.
A live table updates with each individual Z-score so you know what’s driving the signal.
Features
This script isn’t just about stats—it’s about making them usable in real time. Every feature has a clear reason to exist, and they’re all there to give you a better read on market conditions.
1. Universal Z-Score Line
This is your primary reference. It reflects the average Z-score across all selected indicators. The line updates live and is color-coded to show how far it is from neutral. The further it gets from 0, the brighter the color becomes—cyan for deeply oversold conditions, magenta for overbought. This gives you instant feedback on how statistically “hot” or “cold” the market is, without needing to read any numbers.
2. Signal Labels (“𝓤𝓹” and “𝓓𝓸𝔀𝓷”)
When the average Z-score drops below your lower bound, you’ll see a "𝓤𝓹" label below the bar, suggesting potential bullish reversal conditions. When it rises above the upper bound, a "𝓓𝓸𝔀𝓷" label is shown above the bar—indicating possible bearish exhaustion. These labels are visually clear and minimal so they don’t clutter your chart. They're based on clear crossover logic and do not repaint.
3. Real-Time Z-Score Table
The table shows each indicator's individual Z-score and the final average. It updates every bar, giving you a transparent breakdown of what’s happening under the hood. If the market is showing an extreme average score, this table helps you pinpoint which indicators are contributing the most—so you’re not just guessing where the pressure is coming from.
4. Bar Coloring Modes
You can choose from three modes:
None: Keeps your candles clean and untouched.
Heat: Applies a smooth gradient color based on Z-score intensity. As conditions become more extreme, candle color transitions from neutral to either cyan (bullish pressure) or magenta (bearish pressure).
Latest Signal: Applies hard coloring based on the most recent signal—greenish for a buy, purple for a sell. This mode is great for tracking market state at a glance without relying on a gradient.
Every part of the candle is colored—body, wick, and border—for full visibility.
5. Background Highlighting
When zAvg enters an extreme zone (typically above +2 or below -2), the background shifts color to reflect the market’s intensity. These changes aren’t overwhelming—they’re light fills that act as ambient warnings, helping you stay aware of when price might be reaching a tipping point.
6. Customizable Zone Lines and Fills
You can define what counts as neutral, overbought, and oversold using manual inputs. Horizontal lines show your thresholds, and shaded regions highlight the most extreme zones (+2 to +3 and -2 to -3). These lines give you visual structure to understand where price currently stands in relation to your personal reversal model.
7. Modular Indicator Control
You don’t have to use all the indicators. You can enable or disable any of the 12 with a simple checkbox. This means you can build your own “blend” of market context—maybe you only care about RSI, price, and volume. Or maybe you want everything on. The script adapts accordingly, only averaging what you select.
8. Fully Customizable Sensitivity and Lengths
You can adjust the Z-score lookback length globally (default 100), and tweak individual indicator lengths separately. This lets you tune the indicator’s responsiveness to suit your trading style—slower for longer swings, faster for scalping.
9. Clean Integration with Any Chart Layout
All visual elements are designed to be informative without taking over your chart. The coloring is soft but clear, the labels are readable without being huge, and you can turn off any feature you don’t need. The indicator can work as a full dashboard or as a simple line with a couple of alerts—it’s up to you.
10. Precise, Real-Time Signal Logic
The crossover logic for signals is exact and only fires when the Z-score moves across your defined boundary. No estimation, no delay. Everything is calculated based on current and previous bar data, and nothing repaints or back-adjusts.
Conclusion
The Universal Z-Score Valuation indicator is a tool for traders who want a clear, unbiased way to detect overextension. Instead of relying on a single signal, you get a composite of several market perspectives—momentum, volatility, volume, and more—all standardized into a single view. The script gives you the freedom to control the logic, the visuals, and the components. Whether you use it as a confirmation tool or a primary signal source, it’s designed to give you clarity when markets become chaotic.
Disclaimer
This indicator is for research and educational use only. It does not constitute financial advice or guarantees of performance. All trading involves risk, and users should test any strategy thoroughly before applying it to live markets. Use this tool at your own discretion.
Multi-Timeframe 20 EMA Horizontal LinesOverview
This Multi-Timeframe 20 EMA indicator provides intelligent trend analysis by displaying your current timeframe EMA alongside relevant higher timeframe EMA levels as horizontal support/resistance lines. On lower timeframes, you see all higher EMA levels for comprehensive multi-timeframe confluence, while on higher timeframes, it filters out lower timeframe noise to maintain focus on macro trends. This allows traders to align short-term entries with long-term market structure, identifying high-probability setups where multiple timeframe EMAs converge while using the current timeframe EMA for precise timing.
Feature
Multi-Timeframe Horizontal EMA Lines
The indicator fetches and displays 20 EMAs from five higher timeframes:
Daily (D): Daily 20 EMA
Weekly (W): Weekly 20 EMA
Monthly (M): Monthly 20 EMA
Quarterly (Q): 3-Month 20 EMA
Half-Yearly (HY): 6-Month 20 EMA
Intelligent Timeframe Filtering
Smart Display Logic: Only shows EMAs from timeframes higher than your current chart timeframe
Prevents Redundancy: Automatically filters out lower timeframe EMAs to avoid clutter
Example: On a 4-hour chart, you'll see Daily, Weekly, Monthly, Quarterly, and Half-Yearly EMAs, but on a Weekly chart, you'll only see Weekly and higher timeframes
Half-Yearly (HY): 6-Month 20 EMA
Shows only current timeframe EMA with half-yearly horizontal line, filtering out all lower timeframes.
Quarterly (Q): 3-Month 20 EMA
Displays current timeframe EMA with quarterly and higher horizontal lines, hiding monthly, weekly, and daily EMAs.
Monthly (M): Monthly 20 EMA
Shows current timeframe EMA with monthly and higher horizontal EMAs, excluding weekly and daily timeframes.
Weekly (W): Weekly 20 EMA
Displays current timeframe EMA with weekly and higher horizontal EMA lines, filtering out daily timeframe.
Daily (D):
Shows current timeframe EMA with all higher timeframe horizontal EMAs (daily, weekly, monthly, quarterly, half-yearly).
Note: Make sure to enable Price-Line in Style Settings after Importing Script.






















