FX Sessions by m_cptForex Intraday Sessions Indicator, config time in UTC-4. Support 4 main sessions, smooth end-to-start candles mode, without gaps if your sessions has config like: 
1) 19:00 - 03:00
2) 02:00 - 03:00
3) 03:00 -11:00
No excluded last candles issue on all TFs. 
Working on LTF up to 1h TF since its intraday sessions indicator.
Educational
Momentum Flow Build w/ FVG v2Good day. 
The Momentum Flow Build w/ FVG v2 indicator 
shows the previous session levels of Asia and London, 
and the 5 min NY open levels (for 15 min go to 15 min chart). 
The indicator also shows the FVGs.
  
The idea is that if price reaches a key level, we then 
watch the level for whether price respects FVGs with a 
retracement and engulfing candle at the FVG, or whether 
price inverts the FVG (IFVG). 
Cool. Be encouraged. Peace
Unicorn Trade Indicator - Enhanced V1This code also contains pinescripts from iFVG (BPR) by Algorize and Visualizing displacement by tradeforopp who have kindly provided them as open source.
An ICT Unicorn is where a breaker block is traded through which incorporates a fair value gap. I decided to code this indicator as I couldn't find an existing free indicator on Trading View that performed adequately.
This indicator will highlight breaker blocks and when broken will post an Unicorn emoji and send an alert if requested. The last 3 breaker blocks are displayed, the prior boxes are labled PBB and are shown as red for bearish and green for bullish.  After the main Unicorn is posted, the code continues to mark market structure shifts.
As all trading strategies work better with confluence I have added several other features which is very useful for people who are restricted on the number of indicators that can place on a single chart.
I have added iFVG (BPR) by Algoryze and Visualizing displacement by tradeforopp which have kindly been made open source by the authors. My thanks to them for their hard work.
Unicorn alerts will only be sent when a yellow displacement candle ( from the Visualizing displacement code) is present along with the Unicorn as this is the best type of Unicorn to trade.
The number of fvg's and bpr's from the code by Algoryze can be adjusted in the settings.
Also to add confluence I have used my own code to display liquidity depth boxes made popular by toodegrees.
I hope you find this indicator useful.
30-Week SMA (Fixed)This indicator plots a true 30-week Simple Moving Average (SMA) on any chart, regardless of the selected timeframe.
It uses weekly candle data (via the request.security() function) to calculate the 30-week average and keeps it fixed — meaning the line remains accurate even when you switch to daily, 4-hour, or other timeframes.
The 30-week SMA is a cornerstone of Stan Weinstein’s Stage Analysis strategy, commonly used to identify major trend phases:
Above a rising SMA → bullish (Stage 2 uptrend)
Below a falling SMA → bearish (Stage 4 downtrend)
Use this indicator to maintain a consistent long-term trend filter on all timeframes
Aynet- True Wick Projector for Non-Standard ChartsTechnical Explanation: "Data Projection and Synchronization"
This script is, at its core, a "data projection" tool. The fundamental technical problem it solves is compensating for the information loss that occurs when using different data visualization models.
1. The Core Problem: Information Loss
Standard Charts (Time-Based): Normal candlesticks are time-based. Each candle represents a fixed time interval (like 1 hour or 1 day) and displays the complete Open, High, Low, and Close (OHLC) data for that period. The "wicks" show the volatility and the extreme price points (the High and Low).
Non-Standard Charts (Price/Momentum-Based): Charts like Kagi, Renko, or Line Break filter out time. Their only concern is price movement. While one Renko box or Kagi line is forming, 10 or more time-based candles might have formed in the background. During this "noise filtering" process, the true high and low values (the wicks) from those underlying candles are lost.
The problem is this: A trader looking at a non-standard chart cannot see how high or low the price actually went while that block or line was forming. This is a critical loss of information regarding market volatility, support/resistance levels, and price rejection.
2. The Technical Solution: A "Dual Data Stream"
This script intelligently combines two different data streams to compensate for this information loss:
Main Stream (Current Chart): The open and close data from your active Kagi, Renko, etc., chart.
Secondary Stream (Projected Data): The high and low data from the underlying standard (time-based) chart.
3. The Code's Methodical Steps
Step 1: Identifying the Data Source (syminfo...)
This step precisely identifies the source for the secondary data stream. By using syminfo.prefix + ":" + syminfo.ticker (e.g., "NASDAQ:AAPL"), it guarantees that the data is pulled from the exact correct instrument and exchange.
Step 2: Data Request & "Lookahead" Synchronization (request.security)
This is the most critical part of the operation.
request.security(...): This is the function Pine Script uses to pull data from another dataset (the secondary stream) onto the current chart.
 : This tells the function, "The only data I care about is the 'High' and 'Low' of the standard candle from that timeframe."
lookahead = barmerge.lookahead_on (The Critical Key): This command solves the "time paradox."
Normally (without this): request.security fetches data from the last completed bar. But as your Kagi bar is currently forming, the standard candle is also currently forming. This would cause the data to always be one bar behind (lag).
With lookahead_on: This permits the script to "look ahead" at the data from the currently forming, incomplete standard bar. Because of this, as your Kagi bar moves, the true wick data is updated in real-time. This achieves real-time synchronization.
Step 3: Visual Engineering (plotcandle)
After the script retrieves the data, it must "draw" it. However, it only wants to draw the wicks, not the candle bodies.
bodyTop and bodyBottom: First, it finds the top and bottom of the current Kagi bar's body (using math.max(open, close)).
Plotting the Upper Wick (Green):
It calls the plotcandle function and instructs it to draw a fake candle.
It fixes this fake candle's Open, Low, and Close (open, low, close) values to the top of the Kagi bar's body (bodyTop).
It only sets the High (high) value to the realHigh it fetched with request.security.
The result: A wick is drawn from the bodyTop level up to the realHigh level, with no visible body.
Plotting the Lower Wick (Red):
It applies the reverse logic.
It fixes the fake candle's Open, High, and Close values to the bottom of the Kagi bar's body (bodyBottom).
It only sets the Low (low) value to the realLow.
The result: A lower wick is drawn from bodyBottom down to realLow.
Invisibility (color.new(color.white, 100)):
In both plotcandle calls, the color (body color) and bordercolor are set to 100 transparency. This makes the "fake" candle bodies completely invisible, leaving only the colored wicks.
Conclusion (Technical Summary)
This script reclaims the volatility data (the wicks) that is naturally sacrificed by non-standard charts.
It achieves this with technical precision by creating a secondary data stream using request.security and synchronizing it with zero lag using the lookahead_on parameter.
Finally, it intelligently manipulates the plotcandle function (by creating invisible bodies) to project this lost data onto your Kagi/Renko chart as an "augmented reality" layer. This allows a trader to benefit from the clean, noise-filtered view of a non-standard chart without losing access to the full picture of market volatility.
Dot traderInterpret Signals: Green triangles indicate buy (e.g., if BTC holds $109k with bullish crossover); red triangles indicate sell (e.g., if it breaks $108k with bearish divergence).
Candle Colors: Green/bullish, red/bearish, orange/overbought (>70 RSI), blue/oversold (<30 RSI).
Alerts: Enable in TradingView for real-time notifications.
EMA 9 & 26 + Bollinger Bands — Auto AlertsHere’s a professional **TradingView description** you can use when publishing your new version of the indicator with alerts 👇
---
## 🟢 EMA 9 & 26 + Bollinger Bands — Auto Buy/Sell Alerts
This indicator combines **EMA crossover strategy** and **Bollinger Bands** to generate high-clarity **Buy/Sell signals** for any market (crypto, forex, stocks).
It also includes **automatic alerts** that notify you the moment a new signal appears — perfect for traders using 3-minute or 5-minute charts such as ETHUSDT, BTCUSDT, or other pairs.
---
### ⚙️ **Core Features**
* **EMA 9 & EMA 26 Crossover Logic**
  * 💚 **BUY** when EMA 9 crosses above EMA 26 → start of bullish momentum
  * ❤️ **SELL** when EMA 9 crosses below EMA 26 → start of bearish momentum
* **Bollinger Bands Overlay**
  * Visualize volatility and spot potential breakout or retracement zones
* **Real-Time Alerts**
  * Instant notification as soon as a BUY or SELL signal appears
  * Works seamlessly on any timeframe (3m / 5m / 15m / 1h / 4h / 1D)
* **Color-Coded Labels**
  * BUY = Aqua-Green (#00FFCC)
  * SELL = Pink-Red (#FF007F)
---
### 🔔 **How to Set Up Alerts**
1. Add the indicator to your chart.
2. Choose your symbol (e.g., **ETHUSDT**) and timeframe (**3 min or 5 min**).
3. Click the **Alarm Clock ⏰ → Create Alert**.
4. Under **Condition**, select this indicator → choose **BUY Signal** or **SELL Signal**.
5. Choose “Once per bar” or “Once per bar close”.
6. Enable **App**, **Email**, or **Webhook** notifications.
---
### 💡 **Best Use**
* Ideal for **scalpers** and **short-term trend traders**
* Works on any liquid asset (crypto, forex, stocks, indices)
* Combine with **RSI**, **volume**, or **support/resistance** for stronger confirmation
---
### ⚠️ **Disclaimer**
This indicator is a **technical tool**, not financial advice. Always confirm signals with your own analysis and risk management strategy.
---
Would you like me to make a **short SEO-optimized summary** (under 250 characters) for the *TradingView Public Library card* — e.g. what shows under the title when people browse indicators?
EMA 9 & 26 + Bollinger Bands — Colored Buy/Sell LabelsHere’s a **professional TradingView description** you can use when publishing or sharing your indicator 👇
---
### 🟢 **EMA 9 & 26 + Bollinger Bands — Buy/Sell Labels**
This indicator combines the **Exponential Moving Average (EMA) crossover strategy** with **Bollinger Bands** to provide clear and visually optimized **Buy/Sell signals** for trend-following traders.
---
#### 🔍 **Core Features**
* **EMA 9 & EMA 26 Crossover Logic**
  * *BUY signal*: when EMA 9 crosses **above** EMA 26 (bullish trend).
  * *SELL signal*: when EMA 9 crosses **below** EMA 26 (bearish trend).
* **Bollinger Bands Overlay**
  * Visualize volatility and identify overbought/oversold zones.
* **Color-Coded Labels**
  * 💚 **BUY** → Aqua-green label (`#00FFCC`)
  * ❤️ **SELL** → Pink-red label (`#FF007F`)
* **Alert Ready**
  * Set TradingView alerts for both crossover events directly from the chart.
---
#### ⚙️ **Customizable Inputs**
* Short EMA Length → *default: 9*
* Long EMA Length → *default: 26*
* Bollinger Band Length → *default: 20*
* Bollinger Band Multiplier → *default: 2.0*
---
#### 💡 **How to Use**
1. Add this script to your TradingView chart.
2. Choose your preferred timeframe (works well on 5m, 15m, 1H, or 4H).
3. Watch for **BUY/SELL labels** to confirm potential entry or exit points.
4. Combine with volume or RSI for stronger confluence.
---
#### ⚠️ **Notes**
* This tool is designed for educational and analytical purposes.
* Always confirm entries with additional technical or fundamental analysis.
---
Would you like me to write a **shorter version (SEO-optimized)** for the *TradingView public library page* (under 300 characters), or keep this as your full-page script description?
Zendog V3 Indicator DCAThis strategy is same as Zendog v3 but edited to be backtest compatible for SO additions through indicator
for Longs
Safety order type = External indicator 
External indicator = RSI 30/70 : Long Trigger
Safety Order Value = 1
for Shorts
Safety order type = External indicator 
External indicator = RSI 30/70 : Short Trigger
Safety Order Value = 2
First 15 Minutes From OpenHighlights the first 15 minutes after open and the tick value between high and low
Custom Drawdown LevelsInput fields for three custom percentages.
Calculation of drawdown levels from the all-time high.
Plotting horizontal lines at those levels.
Alerts v6The strategy includes:
✅ EMA-based trend direction (fast vs slow)
✅ RSI filtering for overbought/oversold control
✅ ADX confirmation for strong trend validation
✅ Pullback & BOS detection for precision entries
✅ Per-bar change logic for adaptive entry timing
✅ Session/day gating to control trading hours
✅ JSON alert integration for AI trading bots or webhooks
This script is Pine Script v6 compatible and optimized for automated alert-based trading setups such as AI trading bots, webhook systems, and VPS-linked executions.
Recommended Timeframes: 5m, 15m, 30m
Markets: XAUUSD, FX pairs, indices, and metals
Enhanced OB Retest Strategy v7.0The OB Retest Strategy is a full Order Block retest trading system that detects, plots, and trades OB zones across multiple timeframes. It uses structure breaks, retrace depth, and ATR filters to identify strong reversal or continuation setups.
⸻
⚙️ Core Features
	•	Multi-timeframe OB detection using break-of-structure (BOS) logic
	•	Automatic zone creation for bullish and bearish order blocks
	•	Smart merging of overlapping OB zones
	•	Dynamic flip-zone logic that turns invalidated OBs into new zones
	•	Wick zone detection for high-precision entries
	•	ATR-based trailing stop and optional breakeven
	•	Adjustable retrace depth, breakout %, and ATR filters
	•	Built-in performance table showing PnL, win rate, and total trades
	•	Fully backtestable with date range and commission control
⸻
🧠 Logic Summary
	1.	Detects a BOS on the higher timeframe.
	2.	Identifies the last opposing candle as the valid OB.
	3.	Validates the OB based on ATR size and breakout strength.
	4.	Waits for price to retest the zone to a set depth.
	5.	Executes trades and manages exits using trailing stop or breakeven.
	6.	Flips invalidated zones automatically.
⸻
💡 Usage Tips
	•	Best used on 1H to 4H charts for swing setups.
	•	Tune ATR and breakout thresholds for your market’s volatility.
	•	Combine with higher-timeframe bias or liquidity levels for better accuracy.
⸻
⚠️ Notes
	•	For educational and testing purposes only.
	•	Backtested results do not predict future performance.
	•	Always test before live use.
RVI Divergence Detector with Custom SMA Filter (v6)This script enhances the classic  Relative Vigor Index (RVI) by integrating  divergence detection with a user-configurable SMA filter applied directly to the RVI oscillator. The goal is to help traders identify high-probability reversal and continuation signals by combining momentum analysis with dynamic baseline filtering.
How it works:
- The RVI measures the conviction behind price moves by comparing closing vs. opening prices relative to the high-low range over a 10-period window.
- Divergences are detected when price makes a new high/low but the RVI does not:
  - Regular Bullish: Price makes a lower low, RVI makes a higher low → potential reversal up.
  - Hidden Bullish: Price makes a higher low, RVI makes a lower low → trend continuation.
  - Inverse logic applies for bearish cases.
- A customizable SMA (default: 14 periods) is plotted on the RVI line. This acts as a dynamic reference to assess whether divergences occur in strong momentum zones (far from SMA) or neutral zones (near SMA), helping filter out weaker signals.
- Users can adjust:
  - Pivot lookback range (min/max bars)
  - SMA period (1–200)
  - Visibility of bullish/bearish and hidden/regular divergences
Why this version adds value:
Unlike basic RVI scripts, this adaptation introduces a configurable trend filter (SMA) and clear visual labeling ("D" for regular, "H" for hidden) with colored lines (green/red) connecting oscillator and price pivots—making divergences instantly recognizable. The logic is optimized for both scalping (short SMA) and swing trading (longer SMA).
Credits:
Based on the original RVI divergence concept by madoqa. This is an open-source adaptation under the Mozilla Public License 2.0. No financial advice. Use at your own risk.
ICT Liquidity Sweep Asia/London 1 Trade per High & Low🧠 ICT Liquidity Sweep Asia/London — 1 Trade per High & Low
This strategy is inspired by the ICT (Inner Circle Trader) concepts of liquidity sweeps and market structure, focusing on the Asia and London sessions.
It automatically identifies liquidity grabs (sweeps) above or below key session highs/lows and enters trades with a fixed risk/reward ratio (RR).
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
⚙️ Core Logic
-Asia Session: 8:00 PM – 11:59 PM (New York time)
-London Session: 2:00 AM – 5:00 AM (New York time)
-The script marks the Asia High/Low and London High/Low ranges for each day.
-When the market sweeps above a session high → potential Short setup
-When the market sweeps below a session low → potential Long setup
-A trade is triggered when the confirmation candle closes in the opposite direction of the sweep (bearish after a high sweep, bullish after a low sweep).
-Only one trade per sweep type (1 per High, 1 per Low) is allowed per session.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
📈 Risk Management
-Configurable Risk/Reward Target (default = 2:1)
-Configurable Position Size (number of contracts)
-Each trade uses a fixed Stop Loss (beyond the wick of the sweep) and a Take Profit calculated from the RR setting.
-All trades are automatically logged in the Strategy Tester with performance metrics.
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
💡 Features
✅ Visual session highlighting (Asia = Aqua, London = Orange)
✅ Automatic liquidity line plotting (session highs/lows)
✅ Entry & exit labels (optional visual display)
✅ Customizable RR and contract size
✅ Works on any instrument (ideal for indices, futures, or forex)
✅ Compatible with all timeframes (optimized for 1M–15M)
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
⚠️ Notes
-Best used on New York time-based charts.
-Designed for educational and backtesting purposes — not financial advice.
-Use as a foundation for further optimization (e.g., SMT confirmation, FVG filter, or time-based restrictions).
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
🧩 Recommended Use
Pair this with:
-ICT’s concepts like CISD (Change in State of Delivery) and FVGs (Fair Value Gaps)
-Higher timeframe liquidity maps
-Session bias or daily narrative filters
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Author: jygirouard
Strategy Version: 1.3
Type: ICT Liquidity Sweep Automation
Timezone: America/New_York
4-Hour Range Scalping [v6.3]User Guide: 4-Hour Range Scalping Strategy 
Hello! Here is the guide for the Pine Script strategy. Please read it carefully to get the best results.
📈 This script automates the "4-Hour Range Scalping Strategy" from the video.
The main idea is that the first four hours of a major trading day (like New York) set up a "trap zone." The strategy waits for the price to break out of this zone and then fail, giving us a signal that the breakout was false and the price is likely to reverse.
Here’s the simple logic:
 
 Define the Range: It precisely calculates the highest high and lowest low during the first four hours of the selected trading session (e.g., 00:00 to 04:00 New York Time).
 Wait for a Breakout: It then monitors the 5-minute chart for a price breakout where a candle fully closes outside of this established range.
 Identify the Reversal: The trade trigger occurs when the price fails to continue its breakout and a subsequent 5-minute candle closes back inside the range. This signals a potential reversal or "failed breakout."
 Execute the Trade:
]A Short (Sell) trade is triggered after a failed breakout above the range high.
A Long (Buy) trade is triggered after a failed breakout below the range low.
 Manage the Risk: The Stop Loss is automatically placed at the peak (for shorts) or trough (for longs) of the breakout move, and the Take Profit is set to a default 2:1 Risk/Reward Ratio.
 
 How to Use the Script (Step-by-Step) ⚙️ 
Follow these instructions to get it running perfectly.
1. Set Your Chart Timeframe This is the most important step. The strategy is designed to run on a 5-minute (5m) chart. Open your TradingView chart and make sure the timeframe is set to "5m".
2. Add the Script to Your Chart Open the Pine Editor tab at the bottom of TradingView, paste the entire script, and click the "Add to chart" button.
3. Configure the Settings On your chart, find the strategy's name (e.g., "4-Hour Range Scalping  ") and click the gear icon ⚙️ to open its settings.
Trading Session: Choose the session for the range. New York is the default and the one from the video.
Risk/Reward Ratio: The default is 2.0, meaning your potential profit is twice your potential loss. You can adjust this to test other targets.
Backtesting Period: To see how the strategy performed on all historical data, go to the "Strategy Tester" panel, click its own gear icon ⚙️, and uncheck the boxes for "Start Date" and "End Date."
4. Understand the Visuals on Your Chart
Blue Background Area: This is the 4-hour calculation window. The script is identifying the day's high and low during this time. No trades will ever happen here.
Red Line (Range High): The highest price of the 4-hour window. This is the upper boundary of the "trap zone."
Green Line (Range Low): The lowest price of the 4-hour window. This is the lower boundary.
Green Triangle (▲): Shows where a Long (Buy) trade was entered.
Red Triangle (▼): Shows where a Short (Sell) trade was entered.
A Very Important Note on Timezones 🕒
This is critical for you in the Philippines (PHT).
The script is based on the New York session, which is 12 hours behind you. Your TradingView chart will still show your local time, but the script works on NY time in the background.
The New York "day" begins at 12:00 PM (Noon) your time.
The script's blue calculation window will be from 12:00 PM to 4:00 PM your local time.
The red and green range lines will appear on your chart only after 4:00 PM your time.
So, if you look at your chart in the morning or early afternoon, you will not see today's range yet. This is normal! The script is just waiting for the New York session to start.
How to Set Up Trade Alerts 🔔
You can have TradingView send you a notification whenever the script enters a trade.
Click the "Alert" button (looks like a clock) in the right-hand toolbar of TradingView.
In the "Condition" dropdown, select the name of the script (e.g., "4-Hour Range Scalping...").
You will then see two options: "Long Signal" and "Short Signal".
Select one (e.g., "Long Signal") and configure how you want to be notified (e.g., "Notify on app").
Click "Create". Repeat the process to create an alert for the other signal.
⚠️ Important Disclosure
For Educational and Research Purposes Only.
This script and all accompanying information are provided for educational and research purposes only. The strategy demonstrated is a technical concept and should not be misconstrued as financial, investment, legal, or tax advice.
Trading financial markets involves substantial risk and is not suitable for every investor. There is a possibility that you could sustain a loss of some or all of your initial investment. Therefore, you should not invest money that you cannot afford to lose.
Past performance is not indicative of future results. The backtesting results shown by this script are historical and do not guarantee future performance. Market conditions are constantly changing.
By using this script, you acknowledge that you are solely responsible for any and all trading decisions you make. You should conduct your own thorough research and, if necessary, seek advice from an independent financial advisor before making any investment decisions. The creators of this script assume no liability for any of your trading results.
Turtle soupHi all!
This indicator will show you turtle soups. The logic is that pivots detected from a higher timeframe, with the pivot lengths of left and right in the settings, will be up for 'grabs' by price that spents more than one candle above/below the pivot.
If only one candle is beyond the pivot it's a liquidity sweep or grab. Liquidity sweeps can be discovered through my script 'Market structure' (), but this script will discover turtle soup entries with false breakouts that takes liquidity.
The turtle soup can have a confirmation in the terms of a change of character (CHoCH). The turtle soup strategy usually comes with some sort of confirmation, in this case a CHoCH, but it can also be a market structure shift (MSS) or a change in state of delivery (CISD).
Turtle soups (pivots that have been 'taken') within a turtle soup will also be visible (but not have a turtle).
Alerts are available for when a turtle soup setup occurs and you can set the alert frequency of your liking (to get early signals with a script that might repaint or wait for a closed candle).
I hope that this description makes sense, tell me otherwise. Also tell me if you have any improvements or feature requests.
Best of trading luck!
The chart in the publication contains a 4 hour chart with a daily timeframe and confirmations with CHoCH.
Relative Performance Tracker [QuantAlgo]🟢 Overview 
The  Relative Performance Tracker  is a multi-asset comparison tool designed to monitor and rank up to 30 different tickers simultaneously based on their relative price performance. This indicator enables traders and investors to quickly identify market leaders and laggards across their watchlist, facilitating rotation strategies, strength-based trading decisions, and cross-asset momentum analysis.
  
 🟢 Key Features 
 1. Multi-Asset Monitoring 
 
 Track up to 30 tickers across any market (stocks, crypto, forex, commodities, indices)
  
 Individual enable/disable toggles for each ticker to customize your watchlist
  
 Universal compatibility with any TradingView symbol format (EXCHANGE:TICKER)
 
 2. Ranking Tables (Up to 3 Tables) 
  
 
 Each ticker's percentage change over your chosen lookback period, calculated as:
 (Current Price - Past Price) / Past Price × 100 
 Automatic sorting from strongest to weakest performers 
  
 Rank: Position from 1-30 (1 = strongest performer)
 Ticker: Symbol name with color-coded background (green for gains, red for losses)
 % Change: Exact percentage with color intensity matching magnitude
  For example, Rank #1 has the highest gain among all enabled tickers, Rank #30 has the lowest (or most negative) return.
 
 3. Histogram Visualization 
  
 
 Adjustable bar count: Display anywhere from 1 to 30 top-ranked tickers (user customizable)
 Bar height = magnitude of percentage change.
 Bars extend upward for gains, downward for losses. Taller bars = larger moves.
 Green bars for positive returns, red for negative returns.
 
 4. Customizable Color Schemes 
 
 Classic: Traditional green/red for intuitive interpretation
  
 Aqua: Blue/orange combination for reduced eye strain
  
 Cosmic: Vibrant aqua/purple optimized for dark mode
  
 Custom: Full personalization of positive and negative colors
  
 
 5. Built-In Ranking Alerts 
Six alert conditions detect when rankings change:
 
 Top 1 Changed: New #1 leader emerges
 Top 3/5/10/15/20 Changed: Shifts within those tiers
  
 
 🟢 Practical Applications 
 → Momentum Trading:  Focus on top-ranked assets (Rank 1-10) that show strongest relative strength for trend-following strategies
 → Market Breadth Analysis:  Monitor how many tickers are above vs. below zero on the histogram to gauge overall market health
 → Divergence Spotting:  Identify when previously leading assets lose momentum (drop out of top ranks) as potential trend reversal signals
 → Multi-Timeframe Analysis:  Use different lookback periods on different charts to align short-term and long-term relative strength
 → Customized Focus:  Adjust histogram bars to show only top 5-10 strongest movers for concentrated analysis, or expand to 20-30 for comprehensive overview
N Order EMAThe exponential moving average is one of the most fundamental tools in technical analysis, but its implementation is almost always locked to a single mathematical approach. I've always wanted to extend the EMA into an n-order filter, and after some time working through the digital signal processing mathematics, I finally managed to do it. This indicator takes the familiar EMA concept and opens it up to four different discretization methods, each representing a valid way to transform a continuous-time exponential smoother into a discrete-time recursive filter. On top of that, it includes adjustable filter order, which fundamentally changes the frequency response characteristics in ways that simply changing the period length cannot achieve.
The four discretization styles are impulse-matched, all-pole, matched z-transform, and bilinear (Tustin). The all-pole version is exactly like stacking multiple EMAs together but implemented in a single function with proper coefficient calculation. It uses a canonical form where you get one gain coefficient and the rest are zeros, with the feedback coefficients derived from the binomial expansion of the pole polynomial. The other three methods are attempts at making generalizations of the EMA in different ways. Impulse-matched creates the filter by matching the discrete-time impulse response to what the continuous EMA would produce. Matched z-transform directly maps the continuous poles to the z-domain using the exponential relationship. Bilinear uses the Tustin transformation with frequency prewarping to ensure the cutoff frequency is preserved despite the inherent warping of the mapping.
Honestly, they're all mostly the same in practice, which is exactly what you'd expect since they're all valid discretizations of the same underlying filter. The differences show up in subtle ways during volatile market conditions or in the exact phase characteristics, but for most trading applications the outputs will track each other closely. That said, the bilinear version works particularly well at low periods like 2, where other methods can sometimes produce numerical artifacts. I personally like the z-match for its clean frequency-domain properties, but the real point here is demonstrating that you can tackle the same problem from multiple mathematical angles and end up with slightly different but equally valid implementations.
The order parameter is where things get interesting. A first-order EMA is the standard single-pole recursive filter everyone knows. When you move to second-order, you're essentially cascading two filter sections, which steepens the roll-off in the frequency domain and changes how the filter responds to sudden price movements. Higher orders continue this progression. The all-pole style makes this particularly clear since it's literally stacking EMA operations, but all four discretization methods support arbitrary order. This gives you control over the aggressiveness of the smoothing that goes beyond just adjusting the period length.
On top of the core EMA calculation, I've included all the standard variants that people use for reducing lag. DEMA applies the EMA twice and combines the results to get faster response. TEMA takes it further with three applications. HEMA uses a Hull-style calculation with fractional periods, applying the EMA to the difference between a half-period EMA and a full-period EMA, then smoothing that result with the square root of the period. These are all implemented using whichever discretization method you select, so you're not mixing different mathematical approaches. Everything stays consistent within the chosen framework.
The practical upside of this indicator is flexibility for people building trading systems. If you need a moving average with specific frequency response characteristics, you can tune the order parameter instead of hunting for the right period length. If you want to test whether different discretization methods affect your strategy's performance, you can swap between them without changing any other code. For most users, the impulse-matched style at order 1 will behave almost identically to a standard EMA, which gives you a familiar baseline to work from. From there you can experiment with higher orders or different styles to see if they provide any edge in your particular market or timeframe.
What this really highlights is that even something as seemingly simple as an exponential moving average involves mathematical choices that usually stay hidden. The standard EMA formula you see in textbooks is already a discretized version of a continuous exponential decay, and there are multiple valid ways to perform that discretization. By exposing these options, this indicator lets you explore a parameter space that most traders never even know exists. Whether that exploration leads to better trading results is an empirical question that depends on your strategy and market, but at minimum it's a useful reminder that the tools we take for granted are built on arbitrary but reasonable mathematical decisions.
Directional Momentum VisualizerDescription 
This script provides a color-coded column visualization of a classic momentum oscillator that measures relative strength and weakness. Instead of a single line, it uses conditional coloring to make directional changes easier to identify at a glance.
The tool is designed for clarity and adaptability, offering both column and line displays, with optional overbought, oversold, and midpoint guides.
 How It Works 
The script evaluates the oscillator’s value relative to a midpoint and its previous reading.
Depending on whether it’s above or below the midpoint — and whether it’s rising or falling — each column changes color:
 
 Strong upward momentum (above midpoint and rising) → bright green
 Fading upward momentum (above midpoint but falling) → pale green
 Strong downward momentum (below midpoint and falling) → bright red
 Fading downward momentum (below midpoint but rising) → pale red
 Unchanged from the previous value → gray
 
This structure makes momentum shifts instantly visible without relying on line crossings or alerts.
 Key Features 
 
 Color-coded momentum columns for instant visual interpretation
 Adjustable midpoint, overbought, and oversold levels
 Optional line overlay for smoother reference
 Dynamic background highlighting in extreme zones
 Works on any symbol or timeframe
 
 Inputs Overview 
 
 Length: Controls the sensitivity of the oscillator calculation.
 Source: Selects the price source (Close, HL2, etc.).
 Midpoint Level: Defines the central reference level separating bullish and bearish momentum.
 Show Line: Toggles visibility of the traditional line overlay.
 Overbought / Oversold Levels: Define upper and lower boundaries for potential exhaustion zones.
 
 How to Use 
 
 Add the script to your chart from the Indicators tab.
 Adjust the midpoint and level settings to fit your preferred configuration.
 Observe how column colors shift to reflect strength or weakness in momentum.
 Use these transitions as visual context, not as trade signals.
 
 How it Helps 
This visual approach offers a clearer perspective on momentum dynamics by replacing the traditional single-line display with color-coded columns. The conditional coloring instantly reveals whether momentum is strengthening or weakening around a chosen midpoint, making trend shifts and fading pressure easier to interpret at a glance. It helps reduce visual noise and allows for quicker, more intuitive analysis of market behavior.
This tool is intended purely as a visual aid to help identify changing momentum conditions at a glance. It is not a buy or sell signal generator and should be used in combination with other forms of analysis and sound risk management.
⚠️  Disclaimer: 
This script is provided for educational and informational purposes only. It is not financial advice and should not be considered a recommendation to buy, sell, or hold any financial instrument. Trading involves significant risk of loss and is not suitable for every investor. Users should perform their own due diligence and consult with a licensed financial advisor before making any trading decisions. The author does not guarantee any profits or results from using this script, and assumes no liability for any losses incurred. Use this script at your own risk.






















