Order-Flow Market StructureOrder-Flow Market Structure by The_Forex_Steward 
 A precision tool for visualizing internal shifts, swing structure, BOS events, Fibonacci levels, and multi-timeframe alerts. 
 What It Does 
The Order-Flow Market Structure indicator intelligently tracks and visualizes price structure using higher timeframe candles. It automatically detects:
• Internal bullish and bearish structure shifts
• Swing highs and lows (HH, HL, LH, LL)
• Break of Structure (BoS) confirmations
• Fibonacci retracement levels from recent swing moves
• Real-time alerts across LTF, MTF, and HTF modes
It’s a complete tool for traders who follow Smart Money Concepts, ICT, or institutional price action strategies.
 How It Works 
• You select a Higher Timeframe (HTF) to set the structural context
• Internal shifts are identified using HTF candle closes
• The indicator scans for swing highs/lows after each internal shift
• Breaks of previous swing points confirm BoS and plot horizontal lines
• Zigzag lines visually connect structural points (swings and BoS)
• Fibonacci levels are drawn between the latest swings
• Alerts can be configured for structure shifts, BoS events, and fib level breaks
 How to Use It 
Set your preferred HTF (e.g., 1H while trading on 5-minute)
Enable Fibonacci levels to visualize retracement zones
Watch for:
• Bullish internal shifts → HL to HH
• Bearish internal shifts → LH to LL
• BOS → Breakout confirmation
Enable alerts to catch structural events in real-time
Adjust the "Safe History Offset" if working with long lookbacks or volatile assets
 Who It's For 
• Traders using Smart Money, ICT, or market structure-based systems
• Scalpers, day traders, and swing traders
• Anyone needing precise structural insight across multiple timeframes
 Features 
• BoS detection with custom line styles and width
• HH, HL, LH, LL label plotting
• Optional Fibonacci retracement zones
• Custom alerts for swing shifts and fib level breaks
• LTF, MTF, and HTF alert modes
 Stay aligned with structure, trade with precision, and get alerted to key shifts in real time.
"order" için komut dosyalarını ara
Turk Pivot Candle Order BlocksOrder Blocks based on pivot reversal candle
When a pivot High or Pivot Low is found and confirmed, a box will be plotted on the open and close values of that pivot candle
You also have the ability to change the amount of candles the box stretches over as well as the colors of the bullish and bearish boxes
How To Use:-
Pivot points often provide Support and Resistance points on their own,
one way of marking up order blocks is by taking the pivot candle and marking that up as a resistance area where you could be looking for price to reverse
Order Block + FVG Detector- chakrashows OBs with entry and exits and volumes. It also shows the volumes in each Order block 
Order Block Finder (5-min Demand Zones)This highlights potential bullish order blocks on a 5-min chart when:
Candle is bullish
Small body (suggesting accumulation or absorption)
Lowest low in last X bars
Customizable Order Flow DashboardOrder Flow Dashboard – Indicator Summary
This TradingView indicator displays a real-time dashboard showing the candle direction (Bullish, Bearish) and countdown timers for three user-selected timeframes. It helps traders quickly assess multi-timeframe alignment during live sessions.
Features:
Custom Timeframes – Select any 3 timeframes (e.g. 1m, 5m, 1H)
Candle Trend Detection – Bullish (green), Bearish (red), or Neutral (gray)
Countdown Timer – Displays time remaining until the current candle closes in MM:SS format
Clean Labels – Automatically formats timeframes like “60” into “1H”
Table Display – Dashboard appears in the top-right corner of the chart
How to Use:
Add the script to your chart.
Open settings and select your preferred timeframes.
Monitor the table to view candle direction and time remaining for each selected timeframe.
Use Case:
Ideal for traders who want fast visual confirmation of trend direction across multiple timeframes to support entry and exit decisions.
Order Block plusIndicator Description: “Order Block Plus”
This indicator is designed for traders who aim to identify the strength and position of supply and demand zones on the chart and receive key signals for entry or exit. Below is a detailed explanation of its functionality:
Features and Applications:
 1. Identifying Supply and Demand Zones:
 • Supply (Resistance) and Demand (Support) zones are visually displayed on the chart.
 • Each zone is marked with a specific color (Yellow for supply, Blue for demand) for easy identification.
 2. Breakout and Reversal Signals:
 • The indicator detects Breakout and Reversal patterns and highlights them with alerts.
 • Example: Detecting price breaking above or below key levels.
 3. Candlestick Pattern Support:
 • Identifies powerful patterns such as Bullish Engulf, Bearish Engulf, Three White Soldiers, and Three Black Crows.
 4. Displaying Zone Strength:
 • The indicator shows the strength of supply and demand zones using text displayed inside each zone.
 5. Alerts:
 • Provides alerts for zone breakouts, breakdowns, and new zone formations.
 • Example: Alerts for breaking a demand or supply zone.
How to Use:
 1. Adding to the Chart:
 • The indicator can be applied to any time frame and is suitable for Forex, stocks, or cryptocurrency charts.
 2. Identifying Trading Opportunities:
 • Demand zones indicate strong support levels where prices are likely to rise.
 • Supply zones indicate resistance levels where prices are likely to fall.
 3. Examining Zone Strength:
 • The strength of each zone is displayed with text inside the zone.
Indicator Settings:
 • Zone Colors:
 • The default colors for supply and demand zones are yellow and blue, but they can be customized.
 • Alerts:
 • Configurable alerts for breakouts or reversals.
Advantages:
 • Automatic detection of key price levels.
 • Accurate and timely alerts for trades.
 • Customizable for professional traders.
Note: This indicator is designed for technical analysis and should be used alongside a suitable trading strategy.
STD/C-Filtered, N-Order Power-of-Cosine FIR Filter [Loxx]STD/C-Filtered, N-Order Power-of-Cosine FIR Filter   is a Discrete-Time, FIR Digital Filter that uses Power-of-Cosine Family of FIR filters. This is an N-order algorithm that turns the following indicator from a static max 16 orders to a N orders, but limited to 50 in code. You can change the top end value if you with to higher orders than 50, but the signal is likely too noisy at that level. This indicator also includes a clutter and standard deviation filter.
See the static order version of this indicator here: 
 STD/C-Filtered, Power-of-Cosine FIR Filter  
  
Amplitudes for STD/C-Filtered, N-Order Power-of-Cosine FIR Filter:
  
 What are FIR Filters? 
In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.
 What is Power-of-Sine Digital FIR Filter? 
Also called Cos^alpha Window Family. In this family of windows, changing the value of the parameter alpha generates different windows.
f(n) = math.cos(alpha) * (math.pi * n / N) , 0 ≤ |n| ≤ N/2
where alpha takes on integer values and N is a even number
General expanded form:
alpha0 - alpha1 * math.cos(2 * math.pi * n / N)
+ alpha2 * math.cos(4 * math.pi * n / N)
- alpha3 * math.cos(4 * math.pi * n / N)
+ alpha4 * math.cos(6 * math.pi * n / N)
- ...
Special Cases for alpha:
alpha = 0: Rectangular window, this is also just the SMA (not included here)
alpha = 1: MLT sine window (not included here)
alpha = 2: Hann window (raised cosine = cos^2)
alpha = 4: Alternative Blackman (maximized roll-off rate)
This indicator contains a binomial expansion algorithm to handle N orders of a cosine power series. You can read about how this is done here:  The Binomial Theorem 
 What is Pascal's Triangle and how was it used here? 
In mathematics, Pascal's triangle is a triangular array of the binomial coefficients that arises in probability theory, combinatorics, and algebra. In much of the Western world, it is named after the French mathematician Blaise Pascal, although other mathematicians studied it centuries before him in India, Persia, China, Germany, and Italy.
The rows of Pascal's triangle are conventionally enumerated starting with row n = 0 at the top (the 0th row). The entries in each row are numbered from the left beginning with k=0 and are usually staggered relative to the numbers in the adjacent rows. The triangle may be constructed in the following manner: In row 0 (the topmost row), there is a unique nonzero entry 1. Each entry of each subsequent row is constructed by adding the number above and to the left with the number above and to the right, treating blank entries as 0. For example, the initial number in the first (or any other) row is 1 (the sum of 0 and 1), whereas the numbers 1 and 3 in the third row are added to produce the number 4 in the fourth row.
Rows of  Pascal's Triangle
0 Order: 1
1 Order: 1 1
2 Order: 1 2 1
3 Order: 1 3 3 1
4 Order: 1 4 6 4 1
5 Order:  1 5 10 10 5 1
6 Order: 1 6 15 20 15 6 1
7 Order: 1 7 21 35 35 21 7 1
8 Order: 1 8 28 56 70 56 28 8 1
9 Order: 1 9 36 34 84 126 126 84 36 9 1
10 Order: 1 10 45 120 210 252 210 120 45 10 1
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
12 Order: 1 12 66 220 495 792 924 792 495 220 66 12 1
13 Order: 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
For a 12th order Power-of-Cosine FIR Filter
1. We take the coefficients from the Left side of the 12th row
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
2. We slice those in half to 
1 13 78 286 715 1287 1716 
3. We reverse the array
1716 1287 715 286 78 13 1
This is our array of alphas: alpha1, alpha2, ... alphaN
4. We then pull alpha one from the previous order, order 11, the middle value
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
The middle value is 462, this value becomes our alpha0 in the calculation
5. We apply these alphas to the cosine calculations 
example: + alpha4 * math.cos(6 * math.pi * n / N)
6. We then  divide by the sum of the alphas to derive our final coefficient weighting kernel 
**This is only useful for orders that are EVEN, if you use odd ordering, the following are the coefficient outputs  and these aren't useful since they cancel each other out and result in a value of zero. See below for an odd numbered oder and compare with the amplitude of the graphic posted above of the even order amplitude: 
  
 What is a Standard Deviation Filter? 
If price or output or both don't move more than the (standard deviation) * multiplier then the trend stays the previous bar trend. This will appear on the chart as "stepping" of the moving average line. This works similar to Super Trend or Parabolic SAR but is a more naive technique of filtering.
 What is a Clutter Filter? 
For our purposes here, this is a filter that compares the slope of the trading filter output to a threshold to determine whether to shift trends. If the slope is up but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. If the slope is down but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. Alternatively if either up or down slope exceeds the threshold then the trend turns green for up and red for down. Fro demonstration purposes, an EMA is used as the moving average. This acts to reduce the noise in the signal.
 Included 
 
 Bar coloring
 Loxx's Expanded Source Types
 Signals
 Alerts
Realtime FootprintThe purpose of this script is to gain a better understanding of the order flow by the footprint. To that end, i have added unusual features in addition to the standard features.
I use "Real Time 5D Profile by LucF" main engine to create basic footprint(profile type) and added some popular features and my favorites.
This script can only be used in realtime, because tradingview doesn't provide historical Bid/Ask date.
Bid/Ask date used this script are up/down ticks.
This script can only be used by time based chart (1m, 5m , 60m and daily etc)
This script use many labels and these are limited max 500, so you can't display many bars. 
If you want to display foot print bars longer, turn off the unused sub-display function.
Default setting is footprint is 25 labels, IB count is 1, COT high and Ratio high is 1, COT low and Ratio low is 1 and Delta Box Ratio Volume is 1 , total 29.
plus UA , IB stripes , ladder fading mark use several labels.
///////// General Setting ///////////
Resets on Volume / Range bar
: If you want to use simple time based Resets on, please set Total Volume is 0.
   Your timeframe is always the first condition. So if you set Total Volume is 1000, both conditions(Volume >= 1000 and your timeframe start next bar) must be met. (that is, new footprint bar doesn't start at when total volume = exactly 1000).
Ticks per row and Maximum row of Bar
: 1 is minimum size(tick). "Maximum row of Bar" decide the number of rows used in one footprint. 1 row is created from 1 label, so you need to reduce this number to display many footprints (Max label is 500).
Volume Filter and  For Calculation and Display
: "Volume Filter" decide minimum size of using volume for this script. 
   "For Calculation and Display"  is used to convert volume to an integer.
   This script only use integer to make profile look better (I contained Bid number and Ask number in one row( one label) to saving labels. This require to make no difference in width by the number of digits and this script corresponds integers from 0 to 3 digits).
   ex) Symbol average volume size is from 0.0001 to 0.001. You decide only use Volume >= 0.0005 by "Volume Filter". 
        Next, you convert volume to integer, by setting "For Calculation and Display" is 1000 (0.0005 * 1000 = 5). 
        If 0.00052 → 5.2 → 5, 0.00058 → 5.8 → 6 (Decimal numbers are rounded off)
   This integer is used to all calculation in this script.
   
//////// Main Display ///////
Footprint, Total, Row Delta, Diagonal Delta and Profile
: "Footprint" display Ask and Bid per row. "Total" display Ask + Bid per row.
   "Row Delta" display Ask - Bid per row. "Diagonal Delta" display Ask(row N) - Bid(row N -1) per row.
   Profile display Total Volume(Ask + Bid) per row by using Block. Profile Block coloring are decided by Row Delta value(default: positive Row Delta (Ask > Bid) is greenish colors and negative Row Delta (Ask < Bid) is reddish colors.)
Volume per Profile Block, Row Imbalance Ratio and Delta Bull/Bear/Neutral Colors
: "Volume per Profile Block" decide one block contain how many total volume.
   ex) When you set 20, Total volume 70 display 3 block.
   The maximum number of blocks that can be used per low is 20. 
   So if you set 20, Total volume 400 is 20 blocks. total volume 800 is 20 blocks too. 
   "Row Imbalance Ratio" decide block coloring. The row imbalance is that the difference between Ask and Bid (row delta) is large.
    default is x3, x2 and x1. The larger the difference, the brighter the color.
    ex) Ask 30 Bid 10 is light green. Ask 20 Bid 10 is green. Ask 11 Bid 10 is dark green.
        Ask 0 Bid 1 is light red. Ask 1 Bid 2 is red. ask 30 Bid 59 is dark green.
        Ask 10 Bid 10 is neutral color(gray)
   profile coloring is reflected  same row's other elements(Ask, Bid, Total and Delta) too.
   It's because one label can only use one text color.
  
/////// Sub Display /////// 
Delta, total and Commitment of Traders
: "Delta" is total Ask - total Bid in one footprint bar. Total is total Ask + total Bid in one footprint bar.
  "Commitment of traders" is variation of "Delta". COT High is reset to 0 when current highest is touched. COT Low is opposite.
  Basic concept of Delta is to compare price with Delta. Ordinary, when price move up, delta is positive. Price move down is negative delta.
  This is because market orders move price and market orders are counted by Delta (although this description is not exactly correct).
  But, sometimes prices do not move even though many market orders are putting pressure on price , or conversely, price move strongly without many market orders.
  This is key point. Big player absorb market orders by iceberg order(Subdivide large orders and pretend to be small limit orders. 
  Small limit orders look weak in the order book, but they are added each time you fill, so they are more powerful than they look.), so price don't move. 
  On the other hand, when the price is moving easily, smart players may be aiming to attract and counterattack to a better price for them.
  It's more of a sport than science, and there's always no right response. Pay attention to the relationship between price, volume and delta.
  ex) If COT Low is large negative value, it means many sell market orders is coming, but iceberg order is absorbing their attack at limit order.
  you should not do buy entry, only this clue. but this is one of the hints.
  "Delta, Box Ratio and Total texts is contained same label and its color are "Delta" coloring. Positive Delta is Delta Bull color(green),Negative Delta is Delta Bear Color
  and Delta = 0 is Neutral Color(gray). When Delta direction and price direction are opposite is Delta Divergence Color(yellow).
  I didn't add the cumulative volume delta because I prefer to display the CVD line on the price chart rather than the number.
Box Ratio , Box Ratio Divisor and Heavy Box Ratio Ratio
: This is not ordinary footprint features, but I like this concept so I added.
  Box Ratio by Richard W. Arms is simple but useful tool. calculation is "total volume (one bar) divided by Bar range (highest - lowest)."
  When Bull and bear are fighting fiercely this number become large, and then important price move happen.  
  I made average BR from something like 5 SMA and if current BR exceeds average BR x (Heavy Box Ratio Ratio), BR box mark will be filled. 
  Box Ratio Divisor is used to good looking display(BR multiplied by Box Ratio Divisor is rounded off and displayed as an integer)
  
Diagonal Imbalance Count , D IB Mark and D IB Stripes
: Diagonal Imbalance is defined by "Diagonal Imbalance Ratio".
  ex) You set 2. When Ask(row N) 30 Bid(row N -1)10, it's  30 > 10*2, so positive Diagonal Imbalance.
      When Ask(row N) 4 Bid(row N -1)9, it's  4*2 < 9, so negative Diagonal Imbalance.
      This calculation does not use equals to avoid Ask(row N) 0 Bid(row N -1)0 became Diagonal Imbalance.
       Ask(row N) 0 Bid(row N -1)0, it's  0 = 0*2, not Diagonal Imbalance. Ask(row N) 10 Bid(row N -1)5, it's  10 = 5*2, not Diagonal Imbalance.
  "D IB Mark" emphasize Ask or Bid number which is dominant side(Winner of Diagonal Imbalance calculation), by under line. 
  "Diagonal Imbalance Count" compare Ask side D IB Mark to Bid side D IB Mark in one footprint.
   Coloring depend on which is more aggressive side (it has many IB Mark) and When Aggressive direction and price direction are opposite is Delta Divergence Color(yellow).
  "D IB Stripes" is a function that further emphasizes with an arrow Mark, when a DIB mark is added on the same side for three consecutive row. Three consecutive arrow is added at third row.
Unfinished Auction, Ratio Bounds and Ladder fading Mark
: "Unfinished Auction" emphasize highest or lowest row which has both Ask and Bid, by Delta Divergence Color(yellow) XXXXXX mark.
  Unfinished Auction sometimes has magnet effect, price may touch and breakout at UA side in the future. 
  This concept is famous as profit taking target than entry decision.
  But, I'm interested in the case that Big player make fake breakout at UA side and trapped retail traders, and then do reversal with retail traders stop-loss hunt. 
  Anyway, it's not stand alone signal.
  "Ratio Bounds" gauge decrease of pressure at extreme price. Ratio Bounds High is number which second highest ask is divided by highest ask. 
  Ratio Bounds Low is number which second lowest bid is divided by lowest bid. The larger the number, the less momentum the price has.
  ex)first footprint bar has Ratio Bounds Low 2, second footprint bar has RBL 4, third footprint bar has RBL 20. 
  This indicates that the bear's power is gradually diminishing.
  "Ladder fading mark" emphasizes the decrease of the value in 3 consecutive row at extreme price. I added two type Marks.
  Ask/Bid type(triangle Mark) is Ask/Bid values are decreasing of three consecutive row at extreme price. 
  Row Imbalance type(Diamond Mark) are row Imbalance values are decreasing of three consecutive row at extreme price. 
  ex)Third lowest Bid 40, second lowest Bid 10 and lowest Bid 5 have triangle up Mark. That is bear's power is gradually diminishing.
     (This Mark only check Bid value at lowest price and Ask value at highest price).
     Third highest row delta + 60, second highest row delta + 5, highest delta - 20 have diamond Mark. That is Bull's power is gradually diminishing.
  Sub display use Delta colors at bottom of Sub display section.
////// Candle & POC /////////
candle and POC
: Ordinary, "POC" Point of Control is row of largest total volume, but this script'POC is volume weighted average.
  This is because the regular POC was visually displayed by the profile ,and I was influenced LucF's ideas.
  POC coloring is decided in relation to the previous POC. When current POC is higher than previous POC, color is UP Bar Color(green).
  In the opposite case, Down Bar color is used.
  POC Divergence Color is used when Current POC is up but current bar close is lower than open (Down price Bar),or in the opposite case. 
  POC coloring has option also highlight background by Delta Divergence Color(yellow). but bg color is displayed at your time frame current price bar not current footprint bar.
  
The basic explanation is over.
I add some image to promote understanding basic ideas.
  
  
  
   
ICT Concepts [LuxAlgo]The ICT Concepts indicator regroups core concepts highlighted by trader and educator "The Inner Circle Trader" (ICT) into an all-in-one toolkit. Features include Market Structure (MSS & BOS), Order Blocks, Imbalances, Buyside/Sellside Liquidity, Displacements, ICT Killzones, and New Week/Day Opening Gaps.
 🔶 SETTINGS 
 🔹 Mode 
 
 When  Present  is selected, only data of the latest 500 bars are used/visualized, except for  NWOG/NDOG 
 
 🔹 Market Structure 
 
 Enable/disable Market Structure.
 Length: will set the lookback period/sensitivity.
 In Present Mode only the latest Market Structure trend will be shown, while in Historical Mode, previous trends will be shown as well:
  
 You can toggle MSS/BOS separately and change the colors:
  
 
 🔹 Displacement  
 
 Enable/disable Displacement.
 
 🔹 Volume Imbalance  
 
 Enable/disable Volume Imbalance.
 # Visible VI's: sets the amount of visible Volume Imbalances (max 100), color setting is placed at the side.
 
 🔹 Order Blocks 
 
 Enable/disable Order Blocks.
 Swing Lookback: Lookback period used for the detection of the swing points used to create order blocks.
 Show Last Bullish OB: Number of the most recent bullish order/breaker blocks to display on the chart.
 Show Last Bearish OB: Number of the most recent bearish order/breaker blocks to display on the chart.
 Color settings.
 Show Historical Polarity Changes: Allows users to see labels indicating where a swing high/low previously occurred within a breaker block.
 Use Candle Body: Allows users to use candle bodies as order block areas instead of the full candle range.
 Change in Order Blocks style:
  
 
 🔹 Liquidity  
 
 Enable/disable Liquidity.
 Margin: sets the sensitivity, 2 points are fairly equal when:
       'point 1' < 'point 2' + (10 bar Average True Range / (10 / margin)) and 
       'point 1' > 'point 2' -   (10 bar Average True Range / (10 / margin))
  
 # Visible Liq. boxes: sets the amount of visible Liquidity boxes (max 50), this amount is for Sellside and Buyside boxes separately.
 Colour settings.
 Change in Liquidity style:
  
 
 🔹 Fair Value Gaps 
 
 Enable/disable FVG's.
 Balance Price Range: this is the overlap of latest bullish and bearish Fair Value Gaps.
     By disabling  Balance Price Range  only FVGs will be shown. 
  
 Options: Choose whether you wish to see FVG or Implied Fair Value Gaps (this will impact  Balance Price Range  as well)
 # Visible FVG's: sets the amount of visible FVG's (max 20, in the same direction).
 Color settings.
 Change in FVG style:
  
 
 🔹 NWOG/NDOG 
 
 Enable/disable NWOG; color settings; amount of NWOG shown (max 50).
 Enable/disable NDOG    ; color settings; amount of NDOG     shown (max 50).
 
 🔹 Fibonacci 
This tool connects the 2 most recent bullish/bearish (if applicable) features of your choice, provided they are enabled.
 
 3 examples (FVG, BPR, OB):
  
 Extend lines -> Enabled (example OB):
  
 
 🔹 Killzones 
 
 Enable/disable all or the ones you need.
 Time settings are coded in the corresponding time zones.
  
 
 🔶 USAGE 
By default, the indicator displays each feature relevant to the most recent price variations in order to avoid clutter on the chart & to provide a very similar experience to how a user would contruct ICT Concepts by hand. 
Users can use the historical mode in the settings to see historical market structure/imbalances. The ICT Concepts indicator has various use cases, below we outline many examples of how a trader could find usage of the features together.
  
In the above image we can see price took out Sellside liquidity, filled two bearish FVGs, a market structure shift, which then led to a clean retest of a bullish FVG as a clean setup to target the order block above.
  
Price then fills the OB which creates a breaker level as seen in yellow.
  
Broken OBs can be useful for a trader using the ICT Concepts indicator as it marks a level where orders have now been filled, indicating a solidified level that has proved itself as an area of liquidity. In the image above we can see a trade setup using a broken bearish OB as a potential entry level.
  
We can see the New Week Opening Gap (NWOG) above was an optimal level to target considering price may tend to fill / react off of these levels according to ICT.
  
In the next image above, we have another example of various use cases where the ICT Concepts indicator hypothetically allow traders to find key levels & find optimal entry points using market structure.
  
In the image above we can see a bearish Market Structure Shift (MSS) is confirmed, indicating a potential trade setup for targeting the Balanced Price Range imbalance (BPR) below with a stop loss above the buyside liquidity.
  
Although what we are demonstrating here is a hindsight example, it shows the potential usage this toolkit gives you for creating trading plans based on ICT Concepts.
  
Same chart but playing out the history further we can see directly after price came down to the Sellside liquidity & swept below it...
  
Then by enabling IFVGs in the settings, we can see the IFVG retests alongside the Sellside & Buyside liquidity acting in confluence.
  
Which allows us to see a great bullish structure in the market with various key levels for potential entries.
  
Here we can see a potential bullish setup as price has taken out a previous Sellside liquidity zone and is now retesting a NWOG + Volume Imbalance.
  
Users also have the option to display Fibonacci retracements based on market structure, order blocks, and imbalance areas, which can help place limit/stop orders more effectively as well as finding optimal points of interest beyond what the primary ICT Concepts features can generate for a trader.
In the above image we can see the Fibonacci extension was selected to be based on the NWOG giving us some upside levels above the buyside liquidity.
 🔶 DETAILS 
Each feature within the ICT Concepts indicator is described in the sub sections below.
 🔹 Market Structure 
Market structure labels are constructed from price breaking a prior swing point. This allows a user to determine the current market trend based on the price action.
There are two types of Market Structure labels included:
 
 Market Structure Shift (MSS)
 Break Of Structure (BOS)
 
A MSS occurs when price breaks a swing low in an uptrend or a swing high in a downtrend, highlighting a potential reversal. This is often labeled as "CHoCH", but ICT specifies it as MSS.
On the other hand, BOS labels occur when price breaks a swing high in an uptrend or a swing low in a downtrend. The occurrence of these particular swing points is caused by retracements (inducements) that highlights liquidity hunting in lower timeframes.
 🔹 Order Blocks 
More significant market participants (institutions) with the ability of placing large orders in the market will generally place a sequence of individual trades spread out in time. This is referred as executing what is called a "meta-order".
Order blocks highlight the area where potential meta-orders are executed. Bullish order blocks are located near local bottoms in an uptrend while bearish order blocks are located near local tops in a downtrend.
When price mitigates (breaks out) an order block, a breaker block is confirmed. We can eventually expect price to trade back to this breaker block offering a new trade opportunity.
 🔹 Buyside & Sellside Liquidity 
Buyside / Sellside liquidity levels highlight price levels where market participants might place limit/stop orders. 
Buyside liquidity levels will regroup the stoploss orders of short traders as well as limit orders of long traders, while Sellside liquidity levels will regroup the stoploss orders of long traders as well as limit orders of short traders.
These levels can play different roles. More informed market participants might view these levels as source of liquidity, and once liquidity over a specific level is reduced it will be found in another area.
 🔹 Imbalances 
Imbalances highlight disparities between the bid/ask, these can also be defined as inefficiencies, which would suggest that not all available information is reflected by the price and would as such provide potential trading opportunities.
It is common for price to "rebalance" and seek to come back to a previous imbalance area.
ICT highlights multiple imbalance formations:
 
 Fair Value Gaps: A three candle formation where the candle shadows adjacent to the central candle do not overlap, this highlights a gap area.
 Implied Fair Value Gaps: Unlike the fair value gap the implied fair value gap has candle shadows adjacent to the central candle overlapping. The gap area is constructed from the average between the respective shadow and the nearest extremity of their candle body. 
 Balanced Price Range: Balanced price ranges occur when a fair value gap overlaps a previous fair value gap, with the overlapping area resulting in the imbalance area.
 Volume Imbalance: Volume imbalances highlight gaps between the opening price and closing price with existing trading activity (the low/high overlap the previous high/low).
 Opening Gap: Unlike volume imbalances opening gaps highlight areas with no trading activity. The low/high does not reach previous high/low, highlighting a "void" area.
 
 🔹 Displacement 
Displacements are scenarios where price forms successive candles of the same sentiment (bullish/bearish) with large bodies and short shadows. 
These can more technically be identified by positive auto correlation (a close to open change is more likely to be followed by a change of the same sign) as well as volatility clustering (large changes are followed by large changes).
Displacements can be the cause for the formation of imbalances as well as market structure, these can be caused by the full execution of a meta order.
 🔹 Kill Zones 
Killzones represent different time intervals that aims at offering optimal trade entries. Killzones include:
- New York Killzone (7:9 ET)
- London Open Killzone (2:5 ET)
- London Close Killzone (10:12 ET)
- Asian Killzone (20:00 ET)
 🔶 Conclusion & Supplementary Material 
This script aims to emulate how a trader would draw each of the covered features on their chart in the most precise representation to how it's actually taught by ICT directly. 
There are many parallels between ICT Concepts and Smart Money Concepts that we released in 2022 which has a more general & simpler usage:   
ICT Concepts, however, is more specifically aligned toward the community's interpretation of how to analyze price 'based on ICT', rather than displaying features to have a more classic interpretation for a technical analyst.
MTF OB Supply Demand ZonesHello everyone,
This exceptional indicator provides you with visual representations of bullish and bearish order blocks or supply and demand zones across multiple timeframes. In simple terms, bullish order blocks are represented by a small red candle followed by a large red candle, while bearish order blocks are depicted as a small green candle followed by a large red candle. Supply and demand zones are drawn by using order blocks.
 Features: 
 
 Display order blocks from up to three different timeframes.
 Customize the maximum number of boxes shown and the colors of the zones.
 Choose from three different modes: OB (Order Block), Extended OB, and Supply/Demand.
 
 Mode Descriptions: 
OB: Includes the body of the candle.
Extended OB: Encompasses the body and wick of the candle.
Supply/Demand: Covers the body, wick, and half the body of the large candle.
 Usage:  
Ensure that charts 2 and 3 are set to a higher timeframe. For modes 2 and 3, it’s recommended to reduce the maximum number of boxes shown. The zones or boxes are transparent, allowing for overlap. This feature aids in identifying reversal zones or confirmed zones. The more intense the color, the stronger the confirmation. If a green zone overlaps a red zone (or vice versa), it signifies a reversal zone.
 Thank you for checking out this indicator! 
---
 Additional Information: 
Order blocks refer to specific price areas where large market participants, such as institutional traders, have previously placed significant buy or sell orders. These clusters of orders can impact price movement, liquidity, and market sentiment.
Order blocks are a strategic approach to identifying key levels of support and resistance based on the behavior of institutional traders. These key levels are then utilized as entry or exit points for trades.
An order block is an area where there has been a large concentration of limit orders awaiting execution. These blocks are identified on a chart by observing previous price action and pinpointing areas where the price experienced significant movement or abrupt changes in direction.
Order blocks are used in the following popular trading philosophies:
 
 Smart Money Concepts (SMC)
 Inner Circle Trading (ICT)
 Price Action
 
---
Credits to: @AGFXTRADING
Price Action Smart Money Concepts [BigBeluga]THE SMART MONEY CONCEPTS  Toolkit
 The Smart Money Concepts   [ BigBeluga ] is a comprehensive toolkit built around the principles of "smart money" behavior, which refers to the actions and strategies of institutional investors.
The Smart Money Concepts Toolkit brings together a suite of advanced indicators that are all interconnected and built around a unified concept: understanding and trading like institutional investors, or "smart money." These indicators are not just randomly chosen tools; they are features of a single overarching framework, which is why having them all in one place creates such a powerful system. 
This all-in-one toolkit provides the user with a unique experience by automating most of the basic and advanced concepts on the chart, saving them time and improving their trading ideas.
 
  Real-time market structure analysis simplifies complex trends by pinpointing key support, resistance, and breakout levels.
  Advanced order block analysis leverages detailed volume data to pinpoint high-demand zones, revealing internal market sentiment and predicting potential reversals. This analysis utilizes bid/ask zones to provide supply/demand insights, empowering informed trading decisions.
  Imbalance Concepts (FVG and Breakers) allows traders to identify potential market weaknesses and areas where price might be attracted to fill the gap, creating opportunities for entry and exit.
  Swing failure patterns help traders identify potential entry points and rejection zones based on price swings.
  Liquidity Concepts, our advanced liquidity algorithm, pinpoints high-impact events, allowing you to predict market shifts, strong price reactions, and potential stop-loss hunting zones. This gives traders an edge to make informed trading decisions based on liquidity dynamics.
 
🔵  FEATURES 
The indicator has quite a lot of features that are provided below:
 
  Swing market structure
  Internal market structure
  Mapping structure
  Adjustable market structure
  Strong/Weak H&L
  Sweep
  Volumetric Order block / Breakers
  Fair Value Gaps / Breakers (multi-timeframe)
  Swing Failure Patterns (multi-timeframe)
  Deviation area
  Equal H&L
  Liquidity Prints
  Buyside & Sellside
  Sweep Area
  Highs and Lows (multi-timeframe)
 
🔵  BASIC DEMONSTRATION OF ALL FEATURES 
1. MARKET STRUCTURE
  
The preceding image illustrates the market structure functionality within the Smart Money Concepts indicator.
➤ Solid lines: These represent the core indicator's internal structure, forming the foundation for most other components. They visually depict the overall market direction and identify major reversal points marked by significant price movements (denoted as 'x').
➤ Internal Structure: These represent an alternative internal structure with the potential to drive more rapid market shifts. This is particularly relevant when a significant gap exists in the established swing structure, specifically between the Break of Structure (BOS) and the most recent Change of High/Low (CHoCH). Identifying these formations can offer opportunities for quicker entries and potential short-term reversals.
  
➤ Sweeps (x): These signify potential turning points in the market where liquidity is removed from the structure. This suggests a possible trend reversal and presents crucial entry opportunities. Sweeps are identified within both swing and internal structures, providing valuable insights for informed trading decisions.
  
➤ Mapping structure: A tool that automatically identifies and connects significant price highs and lows, creating a zig-zag pattern. It visualizes market structure, highlights trends, support/resistance levels, and potential breakouts. Helps traders quickly grasp price action patterns and make informed decisions.
  
➤ Color-coded candles based on market structure: These colors visually represent the underlying market structure, making it easier for traders to quickly identify trends. 
  
➤ Extreme H&L: It visualizes market structure with extreme high and lows, which gives perspective for macro Market Structure.
  
2. VOLUMETRIC ORDER BLOCKS
Order blocks are specific areas on a financial chart where significant buying or selling activity has occurred. These are not just simple zones; they contain valuable information about market dynamics. Within each of these order blocks, volume bars represent the actual buying and selling activity that took place. These volume bars offer deeper insights into the strength of the order block by showing how much buying or selling power is concentrated in that specific zone.
Additionally, these order blocks can be transformed into Breaker Blocks. When an order block fails—meaning the price breaks through this zone without reversing—it becomes a breaker block. Breaker blocks are particularly useful for trading breakouts, as they signal that the market has shifted beyond a previously established zone, offering opportunities for traders to enter in the direction of the breakout. 
Here's a breakdown:
➤ Bear Order Blocks (Red): These are zones where a lot of selling happened. Traders see these areas as places where sellers were strong, pushing the price down. When the price returns to these zones, it might face resistance and drop again.
➤ Bull Order Blocks (Green): These are zones where a lot of buying happened. Traders see these areas as places where buyers were strong, pushing the price up. When the price returns to these zones, it might find support and rise again.
  
These Order Blocks help traders identify potential areas for entering or exiting trades based on past market activity. The volume bars inside blocks show the amount of trading activity that occurred in these blocks, giving an idea of the strength of buying or selling pressure.
➤ Breaker Block: When an order block fails, meaning the price breaks through this zone without reversing, it becomes a breaker block. This indicates a significant shift in market liquidity and structure.
  
➤ A bearish breaker block occurs after a bullish order block fails. This typically happens when there's an upward trend, and a certain level that was expected to support the market's rise instead gives way, leading to a sharp decline. This decline indicates that sellers have overcome the buyers, absorbing liquidity and shifting the sentiment from bullish to bearish. 
  
Conversely, a bullish breaker block is formed from the failure of a bearish order block. In a downtrend, when a level that was expected to act as resistance is breached, and the price shoots up, it signifies that buyers have taken control, overpowering the sellers. 
3. FAIR VALUE GAPS:
A fair value gap (FVG), also referred to as an imbalance, is an essential concept in Smart Money trading. It highlights the supply and demand dynamics. This gap arises when there's a notable difference between the volume of buy and sell orders. FVGs can be found across various asset classes, including forex, commodities, stocks, and cryptocurrencies. 
  
FVGs in this toolkit have the ability to detect raids of FVG which helps to identify potential price reversals. 
  
Mitigation option helps to change from what source FVGs will be identified: Close, Wicks or AVG.
4. SWING FAILURE PATTERN (SFP): 
The Swing Failure Pattern is a liquidity engineering pattern, generally used to fill large orders. This means, the SFP generally occurs when larger players push the price into liquidity pockets with the sole objective of filling their own positions. 
SFP is a technical analysis tool designed to identify potential market reversals. It works by detecting instances where the price briefly breaks a previous high or low but fails to maintain that breakout, quickly reversing direction.
How it works:
 
  Pattern Detection: The indicator scans for price movements that breach recent highs or lows.
  Reversal Confirmation: If the price quickly reverses after breaching these levels, it's identified as an SFP.
 
➤ SFP Display: 
  Bullish SFP: Marked with a green symbol when price drops below a recent low before reversing upwards.
  Bearish SFP: Marked with a red symbol when price rises above a recent high before reversing downwards.
  
➤ Deviation Levels: After detecting an SFP, the indicator projects white lines showing potential price deviation:
  For bullish SFPs, the deviation line appears above the current price.
  For bearish SFPs, the deviation line appears below the current price.
 
  
These deviation levels can serve as a potential trading opportunity or areas where the reversal might lose momentum.
With Volume Threshold and Filtering of SFP traders can adjust their trading style:
 
  Volume Threshold: This setting allows traders to filter SFPs based on the volume of the reversal candle. By setting a higher volume threshold, traders can focus on potentially more significant reversals that are backed by higher trading activity. 
  SFP Filtering: This feature enables traders to filter SFP detection. It includes parameters such as:
 
  
5. LIQUIDITY CONCEPTS:
➤ Equal Lows (EQL) and Equal Highs (EQH) are important concepts in liquidity-based trading.
 
  EQL: A series of two or more swing lows that occur at approximately the same price level. 
  EQH: A series of two or more swing highs that occur at approximately the same price level. 
 
  
EQLs and EQHs are seen as potential liquidity pools where a large number of stop loss orders or limit orders may be clustered. They can be used as potential reverse points for trades. 
  
This multi-period feature allows traders to select less and more significant EQL and EQH:
➤ Liquidity wicks: 
Liquidity wicks are a minor representation of a stop-loss hunt during the retracement of a pivot point:
  
➤ Buy and Sell side liquidity:
 
  The buy side liquidity represents a concentration of potential buy orders below the current price level. When price moves into this area, it can lead to increased buying pressure due to the execution of these orders. 
  The sell side liquidity indicates a pool of potential sell orders below the current price level. Price movement into this area can result in increased selling pressure as these orders are executed. 
 
  
➤ Sweep Liquidation Zones:
Sweep Liquidation Zones are crucial for understanding market structure and potential future price movements. They provide insights into areas where significant market participants have been forced out of their positions, potentially setting up new trading opportunities. 
  
🔵  USAGE & EXAMPLES 
The core principle behind the success of this toolkit lies in identifying "confluence." This refers to the convergence of multiple trading indicators all signaling the same information at a specific point or area. By seeking such alignment, traders can significantly enhance the likelihood of successful trades.
 MS + OBs 
  
The chart illustrates a highly bullish setup where the price is rejecting from a bullish order block (POC), while simultaneously forming a bullish Swing Failure Pattern (SFP). This occurs after an internal structure change, marked by a bullish Change of Character (CHoCH). The price broke through a bearish order block, transforming it into a breaker block, further confirming the bullish momentum.
The combination of these elements—bullish order blocks, SFP, and CHoCH—creates a powerful bullish signal, reinforcing the potential for upward movement in the market.
 SFP + Bear OB 
  
This chart above displays a bearish setup with a high probability of a price move lower. The price is currently rejecting from a bear order block, which represents a key resistance area where significant selling pressure has previously occurred. A Swing Failure Pattern (SFP) has also formed near this bear order block, indicating that the price briefly attempted to break above a recent high but failed to sustain that upward movement. This failure suggests that buyers are losing momentum, and the market could be preparing for a move to the downside. 
Additionally, we can toggle on the Deviation Area in the SFP section to highlight potential levels where price deviation might occur. These deviation areas represent zones where the price is likely to react after the Swing Failure Pattern:
  
 BUY – SELL sides + EQL 
  
The chart showcases a bullish setup with a high probability of price breaking out of the current sell-side resistance level. The market structure indicates a formation of Equal Lows (EQL), which often suggests a build-up of liquidity that could drive the price higher.
The presence of strong buy-side pressure (69%), indicated by the green zone at the bottom, reinforces this bullish outlook. This area represents a key support zone where buyers are outpacing sellers, providing the foundation for a potential upward breakout.
 EQL + Bull ChoCh 
  
This chart illustrates a potential bullish setup, driven by the formation of Equal Lows (EQL) followed by a bullish Change of Character (CHoCH). The presence of Equal Lows often signals a liquidity build-up, which can lead to a reversal when combined with additional bullish signals. 
 Liquidity grab + Bull ChoCh + FVGs 
  
This chart demonstrates a strong bullish scenario, where several important market dynamics are at play. The price begins its upward momentum from Liquidity grab following a bullish Change of Character (CHoCH), signaling the transition from a bearish phase to a bullish one.
As the price progresses, it performs liquidity grabs, which serve to gather the necessary fuel for further movement. These liquidity grabs often occur before significant price surges, as large market participants exploit these areas to accumulate positions before pushing the price higher.
The chart also highlights a market imbalance area, showing strong momentum as the price moves swiftly through this zone.
In this examples, we see how the combination of multiple “smart money” tools helps identify a potential trade opportunities. This is just one of the many scenarios that traders can spot using this toolkit. Other combinations—such as order blocks, liquidity grabs, fair value gaps, and Swing Failure Patterns (SFPs)—can also be layered on top of these concepts to further refine your trading strategy. 
🔵  SETTINGS 
 
  Window: limit calculation period
  Swing: limit drawing function
  Mapping structure: show structural points
  Algorithmic Logic: (Extreme-Adjusted) Use max high/low or pivot point calculation
  Algorithmic loopback: pivot point look back
  Show Last: Amount of Order block to display
  Hide Overlap: hide overlapping order blocks
  Construction: Size of the order blocks
  Fair value gaps: Choose between normal FVG or Breaker FVG
  Mitigation: (close - wick - avg) point to mitigate the order block/imbalance
  SFP lookback: find a higher / lower point to improve accuracy
  Threshold: remove less relevant SFP
  Equal H&L: (short-mid-long term) display longer term
  Liquidity Prints: Shows wicks of candles where liquidity was grabbed
  Sweep Area: Identify Sweep Liquidation areas
 
By combining these indicators in one toolkit, traders are equipped with a comprehensive suite of tools that address every angle of the Smart Money Concept. Instead of relying on disparate tools spread across various platforms, having them integrated into a single, cohesive system allows traders to easily see confluence and make more informed trading decisions. 
Depth of Market (DOM) [LuxAlgo]The  Depth Of Market (DOM)  tool allows traders to look under the hood of any market, taking price and volume analysis to the next level. The following features are included: DOM, Time & Sales, Volume Profile, Depth of Market, Imbalances, Buying Pressure, and up to 24 key intraday levels (it really packs a punch).
  
As a disclaimer, this tool does not use tick data, it is a DOM reconstruction from the provided real-time time series data (price and volume). So the volume you see is from filled orders only, this tool does not show unfilled limit orders.
Traders can enable or disable any of the features at will to avoid being overwhelmed with too much information and to make the tool perform faster.
The features that have the biggest impact on performance are Historical Data Collection, Key Levels (POC & VWAP), Time & Sales, Profile, and Imbalances. Disable these features to improve the indicator computational performance.
🔶  DOM 
  
This is the simplest form of the tool, a simple DOM or ladder that displays the following columns:
 
 PRICE:  Price level 
 BID:  Total number of market sell orders filled or limit buy orders filled.
 SELL:  Sell market orders
 BUY:  Buy market orders
 ASK:  Total number of market buy orders filled or limit sell orders filled.
 
The DOM only collects historical data from the last 24 hours and real-time data.
Traders can select a reset period for the DOM with two options:
 
 DAILY:   Resets at the beginning of each trading day
 SESSIONS:   Resets twice, as DAILY and 15.5 hours later, to coincide with the start of the RTH session for US tickers.
 
The DOM has two main modes, it can display price levels as ticks or points. The default is automatic based on the current daily volatility, but traders can manually force one mode or the other if they wish.
For convenience, traders have the option to set the number of lines (price levels), and the size of the text and to display only real-time data.
By default, the top price is set to 0 so that the DOM automatically adjusts the price levels to be displayed, but traders can set the top price manually so that the tool displays only the desired price levels in a fixed manner.
🔹  Volume Profile 
  
As additional features to the basic DOM, traders have access to the volume profile histogram and the total volume per price level.
This helps traders identify at a glance key price areas where volume is accumulating (high volume nodes) or areas where volume is lacking (low volume nodes) - these areas are important to some traders who base their decision-making process on them.
🔹  Imbalances 
  
Other added features are imbalances and buying pressure:
 
 Interlevel Imbalance:  volume delta between two different price levels
 Intralevel Imbalance:  delta between buy and sell volume at the same price level
 Buying Pressure Percent:  percentage of buy volume compared to total volume
 
Imbalances can help traders identify areas of interest in the price for possible support or resistance.
🔹  Depth 
  
Depth allows traders to see at a glance how much supply is above the current price level or how much demand is below the current price level.
Above the current price level shows the cumulative ask volume (filled sell limit orders) and below the current price level shows the cumulative bid volume (filled buy limit orders).
🔶  KEY LEVELS 
  
The tool includes up to 24 different key intraday levels of particular relevance:
 Previous Week Levels 
 
 PWH:  Previous week high
 PWL:  Previous week low
 PWM:  Previous week middle
 PWS:  Previous week settlement (close)
 
 Previous Day Levels 
 
 PDH:  Previous day high
 PDL:  Previous day low
 PDM:  Previous day middle
 PDS:  Previous day settlement (close)
 
 Current Day Levels 
 
 OPEN:  Open of day (or session)
 HOD:  High of day (or session)
 LOD:  Low of day (or session)
 MOD:  Middle of day (or session)
 
 Opening Range 
 
 ORH:  Open range high
 ORL:  Open range low
 
 Initial Balance 
 
 IBH:  Initial balance high
 IBL:  Initial balance low
 
 VWAP 
 
 +3SD:  Volume weighted average price plus 3 standard deviations
 +2SD:  Volume weighted average price plus 2 standard deviations
 +1SD:  Volume weighted average price plus 1 standard deviation
 VWAP:  Volume weighted average price
 -1SD:  Volume weighted average price minus 1 standard deviation
 -2SD:  Volume weighted average price minus 2 standard deviations
 -3SD:  Volume weighted average price minus 3 standard deviations
 
 
 POC:  Point of control
 
Different traders look at different levels, the key levels shown here are objective and specific areas of interest that traders can act on, providing us with potential areas of support or resistance in the price.
🔶  TIME & SALES 
  
The tool also features a full-time and sales panel with time, price, and size columns, a size filter, and the ability to set the timezone to display time in the trader's local time.
The information shown here is what feeds the DOM and it can be useful in several ways, for example in detecting absorption. If a large number of orders are coming into the market but the price is barely moving, this indicates that there is enough liquidity at these levels to absorb all these orders, so if these orders stop coming into the market, the price may turn around.
🔶  SETTINGS 
 
 Period:  Select the anchoring period to start data collection, DAILY will anchor at the start of the trading day, and SESSIONS will start as DAILY and 15.5 hours later (RTH for US tickers).
 Mode:  Select between AUTO and MANUAL modes for displaying TICKS or POINTS, in AUTO mode the tool will automatically select TICKS for tickers with a daily average volatility below 5000 ticks and POINTS for the rest of the tickers.
 Rows:  Select the number of price levels to display
 Text Size:  Select the text size
 
🔹  DOM 
 
 DOM:  Enable/Disable DOM display
 Realtime only:  Enable/Disable real-time data only, historical data will be collected if disabled
 Top Price:  Specify the price to be displayed on the top row, set to 0 to enable dynamic DOM
 Max updates:  Specify how many times the values on the SELL and BUY columns are accumulated until reset.
 Profile/Depth size:  Maximum size of the histograms on the PROFILE and DEPTH columns.
 Profile:  Enable/Disable Profile column. High impact on performance.
 Volume:  Enable/Disable Volume column. Total volume traded at price level.
 Interlevel Imbalance:  Enable/Disable Interlevel Imbalance column. Total volume delta between the current price level and the price level above. High impact on performance.
 Depth:  Enable/Disable Depth, showing the cumulative supply above the current price and the cumulative demand below. Impact on performance.
 Intralevel Imbalance:  Enable/Disable Intralevel Imbalance column. Delta between total buy volume and total sell volume. High impact on performance.
 Buying Pressure Percent:  Enable/Disable Buy Percent column. Percentage of total buy volume compared to total volume.
 Imbalance Threshold %:  Threshold for highlighting imbalances. Set to 90 to highlight the top 10% of interlevel imbalances and the top and bottom 10% of intra-level imbalances.
 Crypto volume precision:  Specify the number of decimals to display on the volume of crypto assets
 
🔹  Key Levels 
 
 Key Levels:  Enable/Disable KEY column. Very high performance impact.
 Previous Week:  Enable/Disable High, Low, Middle, and Close of the previous trading week.
 Previous Day:  Enable/Disable High, Low, Middle, and Settlement of the previous trading day.
 Current Day/Session:  Enable/Disable Open, High, Low and Middle of the current period.
 Open Range:  Enable/Disable High and Low of the first candle of the period.
 Initial Balance:  Enable/Disable High and Low of the first hour of the period.
 VWAP:  Enable/Disable Volume-weighted average price of the period with 1, 2, and 3 standard deviations.
 POC:  Enable/Disable Point of Control (price level with the highest volume traded) of the period.
 
🔹  Time & Sales 
 
 Time & Sales:  Enable/Disable time and sales panel.
 Timezone offset (hours):  Enter your time zone\'s offset (+ or −), including a decimal fraction if needed.
 Order Size:  Set order size filter. Orders smaller than the value are not displayed.
 
🔶  THANKS 
Hi, I'm  makit0  coder of this tool and proud member of the  LuxAlgo  Opensource team, it's an honor to be part of the  LuxAlgo  family doing something I love as it's writing opensource code and sharing it with the world. I'd like to thank all of you who use, comment on, and vote for all of our open-source tools, and all of you who give us your support.
And of course thanks to the  PineCoders  family for all the work in front of and behind the scenes that makes the PineScript community what it is, simply the best.
 Peace, Love & PineScript!
MA OrderlinessMA Orderliness  measures how well a series of simple moving averages (SMAs) are stacked in the expected order for a trending market and turns that measurement into a normalized oscillator. You choose how many MAs to include and the shortest and longest lengths. The script generates a family of evenly spaced SMAs between those lengths, then compares each pair: shorter MAs should lie above longer ones in an uptrend and below in a downtrend. When any pair is out of order, a “violation” score is accumulated, but violations between nearby MAs count more heavily than those between MAs that are far apart. All weights are summed, and the total weighted violations are converted into a score from –1 (completely reversed) to +1 (perfectly ordered).
This orderliness score is plotted as a line oscillator. A fixed horizontal line at +1 marks perfect order, and another at –1 marks perfect reversal. To smooth the raw oscillator and generate trading signals, the script also plots a simple moving average of the orderliness score over a user-defined period. When the unsmoothed score crosses above its moving average, a bullish crossover alert fires. When it crosses below, a bearish crossover alert fires.
Everything is calculated on each bar so you can see the oscillator evolve in real time. You can customize the number of MAs, their minimum and maximum lengths, and the length of the signal-line SMA to suit different timeframes or markets.
lib_smcLibrary   "lib_smc" 
This is an adaptation of LuxAlgo's Smart Money Concepts indicator with numerous changes. Main changes include integration of object based plotting, plenty of performance improvements, live tracking of Order Blocks, integration of volume profiles to refine Order Blocks, and many more.
This is a library for developers, if you want this converted into a working strategy, let me know. 
 buffer(item, len, force_rotate) 
  Parameters:
     item (float) 
     len (int) 
     force_rotate (bool) 
 buffer(item, len, force_rotate) 
  Parameters:
     item (int) 
     len (int) 
     force_rotate (bool) 
 buffer(item, len, force_rotate) 
  Parameters:
     item (Profile type from robbatt/lib_profile/32) 
     len (int) 
     force_rotate (bool) 
 swings(len) 
  INTERNAL: detect swing points (HH and LL) in given range
  Parameters:
     len (simple int) : range to check for new swing points
  Returns:   values are the price level where and if a new HH or LL was detected, else na
 method init(this) 
  Namespace types: OrderBlockConfig
  Parameters:
     this (OrderBlockConfig) 
 method delete(this) 
  Namespace types: OrderBlock
  Parameters:
     this (OrderBlock) 
 method clear_broken(this, broken_buffer) 
  INTERNAL: delete internal order blocks box coordinates if top/bottom is broken
  Namespace types: map
  Parameters:
     this (map) 
     broken_buffer (map) 
  Returns: any_bull_ob_broken, any_bear_ob_broken, broken signals are true if an according order block was broken/mitigated, broken contains the broken block(s)
 create_ob(id, mode, start_t, start_i, top, end_t, end_i, bottom, break_price, early_confirmation_price, config, init_plot, force_overlay) 
  INTERNAL: set internal order block coordinates
  Parameters:
     id (int) 
     mode (int) : 1: bullish, -1 bearish block
     start_t (int) 
     start_i (int) 
     top (float) 
     end_t (int) 
     end_i (int) 
     bottom (float) 
     break_price (float) 
     early_confirmation_price (float) 
     config (OrderBlockConfig) 
     init_plot (bool) 
     force_overlay (bool) 
  Returns:   signals are true if an according order block was broken/mitigated
 method align_to_profile(block, align_edge, align_break_price) 
  Namespace types: OrderBlock
  Parameters:
     block (OrderBlock) 
     align_edge (bool) 
     align_break_price (bool) 
 method create_profile(block, opens, tops, bottoms, closes, values, resolution, vah_pc, val_pc, args, init_calculated, init_plot, force_overlay) 
  Namespace types: OrderBlock
  Parameters:
     block (OrderBlock) 
     opens (array) 
     tops (array) 
     bottoms (array) 
     closes (array) 
     values (array) 
     resolution (int) 
     vah_pc (float) 
     val_pc (float) 
     args (ProfileArgs type from robbatt/lib_profile/32) 
     init_calculated (bool) 
     init_plot (bool) 
     force_overlay (bool) 
 method create_profile(block, resolution, vah_pc, val_pc, args, init_calculated, init_plot, force_overlay) 
  Namespace types: OrderBlock
  Parameters:
     block (OrderBlock) 
     resolution (int) 
     vah_pc (float) 
     val_pc (float) 
     args (ProfileArgs type from robbatt/lib_profile/32) 
     init_calculated (bool) 
     init_plot (bool) 
     force_overlay (bool) 
 track_obs(swing_len, hh, ll, top, btm, bull_bos_alert, bull_choch_alert, bear_bos_alert, bear_choch_alert, min_block_size, max_block_size, config_bull, config_bear, init_plot, force_overlay, enabled, extend_blocks, clear_broken_buffer_before, align_edge_to_value_area, align_break_price_to_poc, profile_args_bull, profile_args_bear, use_soft_confirm, soft_confirm_offset, use_retracements_with_FVG_out) 
  Parameters:
     swing_len (int) 
     hh (float) 
     ll (float) 
     top (float) 
     btm (float) 
     bull_bos_alert (bool) 
     bull_choch_alert (bool) 
     bear_bos_alert (bool) 
     bear_choch_alert (bool) 
     min_block_size (float) 
     max_block_size (float) 
     config_bull (OrderBlockConfig) 
     config_bear (OrderBlockConfig) 
     init_plot (bool) 
     force_overlay (bool) 
     enabled (bool) 
     extend_blocks (simple bool) 
     clear_broken_buffer_before (simple bool) 
     align_edge_to_value_area (simple bool) 
     align_break_price_to_poc (simple bool) 
     profile_args_bull (ProfileArgs type from robbatt/lib_profile/32) 
     profile_args_bear (ProfileArgs type from robbatt/lib_profile/32) 
     use_soft_confirm (simple bool) 
     soft_confirm_offset (float) 
     use_retracements_with_FVG_out (simple bool) 
 method draw(this, config, extend_only) 
  Namespace types: OrderBlock
  Parameters:
     this (OrderBlock) 
     config (OrderBlockConfig) 
     extend_only (bool) 
 method draw(blocks, config) 
  INTERNAL: plot order blocks
  Namespace types: array
  Parameters:
     blocks (array) 
     config (OrderBlockConfig) 
 method draw(blocks, config) 
  INTERNAL: plot order blocks
  Namespace types: map
  Parameters:
     blocks (map) 
     config (OrderBlockConfig) 
 method cleanup(this, ob_bull, ob_bear) 
  removes all Profiles that are older than the latest OrderBlock from this profile buffer
  Namespace types: array
  Parameters:
     this (array type from robbatt/lib_profile/32) 
     ob_bull (OrderBlock) 
     ob_bear (OrderBlock) 
 _plot_swing_points(mode, x, y, show_swing_points, linecolor_swings, keep_history, show_latest_swings_levels, trail_x, trail_y, trend) 
  INTERNAL: plot swing points
  Parameters:
     mode (int) : 1: bullish, -1 bearish block
     x (int) : x-coordingate of swing point to plot (bar_index)
     y (float) : y-coordingate of swing point to plot (price)
     show_swing_points (bool) : switch to enable/disable plotting of swing point labels
     linecolor_swings (color) : color for swing point labels and lates level lines
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
     show_latest_swings_levels (bool) 
     trail_x (int) : x-coordinate for latest swing point (bar_index)
     trail_y (float) : y-coordinate for latest swing point (price)
     trend (int) : the current trend 1: bullish, -1: bearish, to determine Strong/Weak Low/Highs
 _pivot_lvl(mode, trend, hhll_x, hhll, super_hhll, filter_insignificant_internal_breaks) 
  INTERNAL: detect whether a structural level has been broken and if it was in trend direction (BoS) or against trend direction (ChoCh), also track the latest high and low swing points
  Parameters:
     mode (simple int) : detect 1: bullish, -1 bearish pivot points
     trend (int) : current trend direction
     hhll_x (int) : x-coordinate of newly detected hh/ll (bar_index)
     hhll (float) : y-coordinate of newly detected hh/ll (price)
     super_hhll (float) : level/y-coordinate of superior hhll (if this is an internal structure pivot level)
     filter_insignificant_internal_breaks (bool) : if true pivot points / internal structure will be ignored where the wick in trend direction is longer than the opposite (likely to push further in direction of main trend)
  Returns:   coordinates of internal structure that has been broken (x,y): start of structure, (trail_x, trail_y): tracking hh/ll after structure break, (bos_alert,  choch_alert): signal whether a structural level has been broken
 _plot_structure(x, y, is_bos, is_choch, line_color, line_style, label_style, label_size, keep_history) 
  INTERNAL: plot structural breaks (BoS/ChoCh)
  Parameters:
     x (int) : x-coordinate of newly broken structure (bar_index)
     y (float) : y-coordinate of newly broken structure (price)
     is_bos (bool) : whether this structural break was in trend direction
     is_choch (bool) : whether this structural break was against trend direction
     line_color (color) : color for the line connecting the structural level and the breaking candle
     line_style (string) : style (line.style_dashed/solid) for the line connecting the structural level and the breaking candle
     label_style (string) : style (label.style_label_down/up) for the label above/below the line connecting the structural level and the breaking candle
     label_size (string) : size (size.small/tiny) for the label above/below the line connecting the structural level and the breaking candle
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
 structure_values(length, super_hh, super_ll, filter_insignificant_internal_breaks) 
  detect (and plot) structural breaks and the resulting new trend
  Parameters:
     length (simple int) : lookback period for swing point detection
     super_hh (float) : level/y-coordinate of superior hh (for internal structure detection)
     super_ll (float) : level/y-coordinate of superior ll (for internal structure detection)
     filter_insignificant_internal_breaks (bool) : if true pivot points / internal structure will be ignored where the wick in trend direction is longer than the opposite (likely to push further in direction of main trend)
  Returns:   trend: direction 1:bullish -1:bearish, (bull_bos_alert, bull_choch_alert, top_x, top_y, trail_up_x, trail_up): whether and which level broke in a bullish direction, trailing high, (bbear_bos_alert, bear_choch_alert, tm_x, btm_y, trail_dn_x, trail_dn): same in bearish direction
 structure_plot(trend, bull_bos_alert, bull_choch_alert, top_x, top_y, trail_up_x, trail_up, hh, bear_bos_alert, bear_choch_alert, btm_x, btm_y, trail_dn_x, trail_dn, ll, color_bull, color_bear, show_swing_points, show_latest_swings_levels, show_bos, show_choch, line_style, label_size, keep_history) 
  detect (and plot) structural breaks and the resulting new trend
  Parameters:
     trend (int) : crrent trend 1: bullish, -1: bearish
     bull_bos_alert (bool) : if there was a bullish bos alert -> plot it
     bull_choch_alert (bool) : if there was a bullish choch alert -> plot it
     top_x (int) : latest shwing high x
     top_y (float) : latest swing high y
     trail_up_x (int) : trailing high x
     trail_up (float) : trailing high y
     hh (float) : if there was a higher high
     bear_bos_alert (bool) : if there was a bearish bos alert -> plot it
     bear_choch_alert (bool) : if there was a bearish chock alert -> plot it
     btm_x (int) : latest swing low x
     btm_y (float) : latest swing low y
     trail_dn_x (int) : trailing low x
     trail_dn (float) : trailing low y
     ll (float) : if there was a lower low
     color_bull (color) : color for bullish BoS/ChoCh levels
     color_bear (color) : color for bearish BoS/ChoCh levels
     show_swing_points (bool) : whether to plot swing point labels
     show_latest_swings_levels (bool) : whether to track and plot latest swing point levels with lines
     show_bos (bool) : whether to plot BoS levels
     show_choch (bool) : whether to plot ChoCh levels
     line_style (string) : whether to plot BoS levels
     label_size (string) : label size of plotted BoS/ChoCh levels
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
 structure(length, color_bull, color_bear, super_hh, super_ll, filter_insignificant_internal_breaks, show_swing_points, show_latest_swings_levels, show_bos, show_choch, line_style, label_size, keep_history, enabled) 
  detect (and plot) structural breaks and the resulting new trend
  Parameters:
     length (simple int) : lookback period for swing point detection
     color_bull (color) : color for bullish BoS/ChoCh levels
     color_bear (color) : color for bearish BoS/ChoCh levels
     super_hh (float) : level/y-coordinate of superior hh (for internal structure detection)
     super_ll (float) : level/y-coordinate of superior ll (for internal structure detection)
     filter_insignificant_internal_breaks (bool) : if true pivot points / internal structure will be ignored where the wick in trend direction is longer than the opposite (likely to push further in direction of main trend)
     show_swing_points (bool) : whether to plot swing point labels
     show_latest_swings_levels (bool) : whether to track and plot latest swing point levels with lines
     show_bos (bool) : whether to plot BoS levels
     show_choch (bool) : whether to plot ChoCh levels
     line_style (string) : whether to plot BoS levels
     label_size (string) : label size of plotted BoS/ChoCh levels
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
     enabled (bool) 
 _check_equal_level(mode, len, eq_threshold, enabled) 
  INTERNAL: detect equal levels (double top/bottom)
  Parameters:
     mode (int) : detect 1: bullish/high, -1 bearish/low pivot points
     len (int) : lookback period for equal level (swing point) detection
     eq_threshold (float) : maximum price offset for a level to be considered equal
     enabled (bool) 
  Returns:   eq_alert whether an equal level was detected and coordinates of the first and the second level/swing point
 _plot_equal_level(show_eq, x1, y1, x2, y2, label_txt, label_style, label_size, line_color, line_style, keep_history) 
  INTERNAL: plot equal levels (double top/bottom)
  Parameters:
     show_eq (bool) : whether to plot the level or not
     x1 (int) : x-coordinate of the first level / swing point
     y1 (float) : y-coordinate of the first level / swing point
     x2 (int) : x-coordinate of the second level / swing point
     y2 (float) : y-coordinate of the second level / swing point
     label_txt (string) : text for the label above/below the line connecting the equal levels
     label_style (string) : style (label.style_label_down/up) for the label above/below the line connecting the equal levels
     label_size (string) : size (size.tiny) for the label above/below the line connecting the equal levels
     line_color (color) : color for the line connecting the equal levels (and it's label)
     line_style (string) : style (line.style_dotted) for the line connecting the equal levels
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
 equal_levels_values(len, threshold, enabled) 
  detect (and plot) equal levels (double top/bottom), returns coordinates
  Parameters:
     len (int) : lookback period for equal level (swing point) detection
     threshold (float) : maximum price offset for a level to be considered equal
     enabled (bool) : whether detection is enabled
  Returns:   (eqh_alert, eqh_x1, eqh_y1, eqh_x2, eqh_y2) whether an equal high was detected and coordinates of the first and the second level/swing point, (eql_alert, eql_x1, eql_y1, eql_x2, eql_y2) same for equal lows
 equal_levels_plot(eqh_x1, eqh_y1, eqh_x2, eqh_y2, eql_x1, eql_y1, eql_x2, eql_y2, color_eqh, color_eql, show, keep_history) 
  detect (and plot) equal levels (double top/bottom), returns coordinates
  Parameters:
     eqh_x1 (int) : coordinates of first point of equal high
     eqh_y1 (float) : coordinates of first point of equal high
     eqh_x2 (int) : coordinates of second point of equal high
     eqh_y2 (float) : coordinates of second point of equal high
     eql_x1 (int) : coordinates of first point of equal low
     eql_y1 (float) : coordinates of first point of equal low
     eql_x2 (int) : coordinates of second point of equal low
     eql_y2 (float) : coordinates of second point of equal low
     color_eqh (color) : color for the line connecting the equal highs (and it's label)
     color_eql (color) : color for the line connecting the equal lows (and it's label)
     show (bool) : whether plotting is enabled
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
  Returns:   (eqh_alert, eqh_x1, eqh_y1, eqh_x2, eqh_y2) whether an equal high was detected and coordinates of the first and the second level/swing point, (eql_alert, eql_x1, eql_y1, eql_x2, eql_y2) same for equal lows
 equal_levels(len, threshold, color_eqh, color_eql, enabled, show, keep_history) 
  detect (and plot) equal levels (double top/bottom)
  Parameters:
     len (int) : lookback period for equal level (swing point) detection
     threshold (float) : maximum price offset for a level to be considered equal
     color_eqh (color) : color for the line connecting the equal highs (and it's label)
     color_eql (color) : color for the line connecting the equal lows (and it's label)
     enabled (bool) : whether detection is enabled
     show (bool) : whether plotting is enabled
     keep_history (bool) : weater to remove older swing point labels and only keep the most recent
  Returns:   (eqh_alert) whether an equal high was detected, (eql_alert) same for equal lows
 _detect_fvg(mode, enabled, o, h, l, c, filter_insignificant_fvgs, change_tf) 
  INTERNAL: detect FVG (fair value gap)
  Parameters:
     mode (int) : detect 1: bullish, -1 bearish gaps
     enabled (bool) : whether detection is enabled
     o (float) : reference source open
     h (float) : reference source high
     l (float) : reference source low
     c (float) : reference source close
     filter_insignificant_fvgs (bool) : whether to calculate and filter small/insignificant gaps
     change_tf (bool) : signal when the previous reference timeframe closed, triggers new calculation
  Returns:   whether a new FVG was detected and its top/mid/bottom levels
 _clear_broken_fvg(mode, upper_boxes, lower_boxes) 
  INTERNAL: clear mitigated FVGs (fair value gaps)
  Parameters:
     mode (int) : detect 1: bullish, -1 bearish gaps
     upper_boxes (array) : array that stores the upper parts of the FVG boxes
     lower_boxes (array) : array that stores the lower parts of the FVG boxes
 _plot_fvg(mode, show, top, mid, btm, border_color, extend_box) 
  INTERNAL: plot (and clear broken) FVG (fair value gap)
  Parameters:
     mode (int) : plot 1: bullish, -1 bearish gap
     show (bool) : whether plotting is enabled
     top (float) : top level of fvg
     mid (float) : center level of fvg
     btm (float) : bottom level of fvg
     border_color (color) : color for the FVG box
     extend_box (int) : how many bars into the future the FVG box should be extended after detection
 fvgs_values(o, h, l, c, filter_insignificant_fvgs, change_tf, enabled) 
  detect (and plot / clear broken) FVGs (fair value gaps), and return alerts and level values
  Parameters:
     o (float) : reference source open
     h (float) : reference source high
     l (float) : reference source low
     c (float) : reference source close
     filter_insignificant_fvgs (bool) : whether to calculate and filter small/insignificant gaps
     change_tf (bool) : signal when the previous reference timeframe closed, triggers new calculation
     enabled (bool) : whether detection is enabled
  Returns:   (bullish_fvg_alert, bull_top, bull_mid, bull_btm): whether a new bullish FVG was detected and its top/mid/bottom levels, (bearish_fvg_alert, bear_top, bear_mid, bear_btm): same for bearish FVGs
 fvgs_plot(bullish_fvg_alert, bull_top, bull_mid, bull_btm, bearish_fvg_alert, bear_top, bear_mid, bear_btm, color_bull, color_bear, extend_box, show) 
  Parameters:
     bullish_fvg_alert (bool) 
     bull_top (float) 
     bull_mid (float) 
     bull_btm (float) 
     bearish_fvg_alert (bool) 
     bear_top (float) 
     bear_mid (float) 
     bear_btm (float) 
     color_bull (color) : color for bullish FVG boxes
     color_bear (color) : color for bearish FVG boxes
     extend_box (int) : how many bars into the future the FVG box should be extended after detection
     show (bool) : whether plotting is enabled
  Returns:   (bullish_fvg_alert, bull_top, bull_mid, bull_btm): whether a new bullish FVG was detected and its top/mid/bottom levels, (bearish_fvg_alert, bear_top, bear_mid, bear_btm): same for bearish FVGs
 fvgs(o, h, l, c, filter_insignificant_fvgs, change_tf, color_bull, color_bear, extend_box, enabled, show) 
  detect (and plot / clear broken) FVGs (fair value gaps)
  Parameters:
     o (float) : reference source open
     h (float) : reference source high
     l (float) : reference source low
     c (float) : reference source close
     filter_insignificant_fvgs (bool) : whether to calculate and filter small/insignificant gaps
     change_tf (bool) : signal when the previous reference timeframe closed, triggers new calculation
     color_bull (color) : color for bullish FVG boxes
     color_bear (color) : color for bearish FVG boxes
     extend_box (int) : how many bars into the future the FVG box should be extended after detection
     enabled (bool) : whether detection is enabled
     show (bool) : whether plotting is enabled
  Returns:   (bullish_fvg_alert): whether a new bullish FVG was detected, (bearish_fvg_alert): same for bearish FVGs
 OrderBlock 
  Fields:
     id (series int) 
     dir (series int) 
     left_top (chart.point) 
     right_bottom (chart.point) 
     break_price (series float) 
     early_confirmation_price (series float) 
     ltf_high (array) 
     ltf_low (array) 
     ltf_volume (array) 
     plot (Box type from robbatt/lib_plot_objects/49) 
     profile (Profile type from robbatt/lib_profile/32) 
     trailing (series bool) 
     extending (series bool) 
     awaiting_confirmation (series bool) 
     touched_break_price_before_confirmation (series bool) 
     soft_confirmed (series bool) 
     has_fvg_out (series bool) 
     hidden (series bool) 
     broken (series bool) 
 OrderBlockConfig 
  Fields:
     show (series bool) 
     show_last (series int) 
     show_id (series bool) 
     show_profile (series bool) 
     args (BoxArgs type from robbatt/lib_plot_objects/49) 
     txt (series string) 
     txt_args (BoxTextArgs type from robbatt/lib_plot_objects/49) 
     delete_when_broken (series bool) 
     broken_args (BoxArgs type from robbatt/lib_plot_objects/49) 
     broken_txt (series string) 
     broken_txt_args (BoxTextArgs type from robbatt/lib_plot_objects/49) 
     broken_profile_args (ProfileArgs type from robbatt/lib_profile/32) 
     use_profile (series bool) 
     profile_args (ProfileArgs type from robbatt/lib_profile/32)
Project SynthIntroducing  Project Synth !
Inspired by  Pace of Tape  and  Cumulative Delta  I created Project Synth in order to aggregate volume flow data across multiple marketsfor two primary reasions:
 
  Traditional orderflow tools are not available on Tradingview. My script attempts to bring an original; calculus-based approach to creating not only an alternative for traditional orderflow tools, but also a more accurate one.
  In order to detect genuine buying and selling pressure that cannot be easily manipulated. I did this because while I've always enjoyed concept behind both of those tools, I did not think they captured enough data to be useful. By analyzing assets that move together (positive correlation) and assets that move inversely (negative correlation), my system aims to fix the fundamental problems with those indicators and create an objective view of market sentiment based on aggregate orderflow.
 
 Some more detailed explanations (using QQQ and SQQQ as an example): 
 Inverse Market Dynamics (QQQ vs SQQQ): 
 
  In an inverse market like SQQQ, aggressive buyers hit the ask when they expect the underlying (QQQ) to fall, while passive buyers wait on the bid hoping for cheaper inverse exposure. When QQQ rallies, SQQQ sees aggressive selling (people dumping their bearish bets) hitting bids, while passive sellers sit on the ask hoping to exit at better prices. The aggression flows opposite to the underlying market direction.
 
 Why Utilizing Both Markets Provides A More Accurate Delta: 
 
  Watching both QQQ and SQQQ gives cross-validation - real buying pressure in QQQ should coincide with selling pressure in SQQQ. If you see buying in QQQ but also buying in SQQQ, that's a conflicting signal suggesting the move might be artificial or driven by other factors. The inverse relationship acts as a confirmation filter, making false signals much harder to generate.
 
 Multiple Markets = Authentic Pressure: 
 
  The more unique, important markets you track, the harder it becomes to create fake delta moves. Real institutional buying/selling pressure affects multiple correlated assets simultaneously in predictable patterns - you can't easily manipulate tech stocks, treasury bonds, VIX, and currency pairs all at once to create a false signal. Each additional market acts as a fraud detection layer, ensuring the delta measurement reflects genuine ecosystem-wide buying and selling pressure rather than isolated manipulation or noise.
 
 My Suggestions For Usage: 
 
  In order to keep the explanation simple and short for now, I suggest using it just like a cumulative delta indicator. For example: let's say you were watching  CME_MINI:ES1! , and you had a resistance level at 6000. When the price reaches your resistance level, you would be looking for a significant divergence between price and Delta. Price : rising, Delta : falling. This means that even though the price was going up, strong and aggressive sellers are jumping in more and more, this can be used as a confirmation tool for a resistance level. 
 
 Notes For Moderators, Authors and Users: 
 
  Firstly, to the best of my knowledge, I have not been able to find many tools built around the concept of cumulative delta or pace of tape. While I know there are a couple projects, none to the magnitude of synthetically recreating these tools via an algorithm designed around basic calculus principles. While tools like Volume Delta are built in, they do not attempt to capture an accurate picture of aggregated orderflow from what I understand. 
  Secondly, it needs to be noted that tool aims to create an  approximation  of buying and selling pressure. To my knowledge it is not possible to create an accurate full picture, at least not within the limitations of Tradingview.
DCA Order Info PlannerDescription :
This script is a Dollar-Cost Averaging (DCA) order planner designed for SPOT, LONG, and SHORT markets. It automatically calculates the optimal price levels for your orders based on configurable parameters, while also considering leverage and liquidation price.
🔹 Key Features:
1. Automatic Order Planning:
- The script calculates price levels for your orders based on an adjustable scaling coefficient (default: 1.5).
- You can set the percentage interval between each order (default: 2%).
- Displays the number of units to buy/sell at each level.
2.Leverage Management:
- Integrates a configurable leverage and computes the liquidation price for LONG and SHORT positions.
3.Clear Visual Display:
- Markers on the chart indicating order levels with customizable labels.
- A summary table shows price levels and corresponding quantities.
- Visualizes Stop Loss and Take Profit levels if defined.
4.Automatic Alerts:
- Sends alerts when the price reaches an order level.
🔹 Customizable Parameters:
- Starting Price: Initial price for calculating orders.
- Budget: Total budget for DCA orders.
- Leverage: Multiplier for LONG/SHORT positions.
- Scaling Coefficient: Adjusts the spacing between order levels.
- Maximum DCA Levels: Limits the number of generated orders.
🔹 How to Use:
1. Configure the parameters according to your strategy.
2. The script displays order levels and quantities on the chart.
3. Use the summary table to manually input orders on your favorite trading platform.
This script is particularly useful in volatile market conditions to average your entry or exit price and manage risk effectively.
Volume Anomaly DetectorThis indicator is designed to detect volume anomalies such as block orders, large institutional orders, and sweep orders. It works by comparing the current volume to the moving average of volume and identifying deviations that exceed a specified threshold. By detecting anomalous volume, it can help traders identify potential market-moving events and anticipate changes in price direction.
One key difference between this indicator and others is its focus on volume anomalies rather than just overall volume or price movements. This can provide traders with additional insights into market conditions and help them identify trading opportunities that may not be visible using other indicators.
In terms of timeframe and market conditions, this indicator can be used on any timeframe and in any market where volume data is available. However, it may be particularly useful in markets with high liquidity and significant institutional participation, such as equities and futures markets. It may also be most effective during periods of heightened volatility or when significant news or events are expected to impact the market. As with any trading indicator, it's important to use it in conjunction with other tools and analysis to confirm signals and make informed trading decisions.
🧪 Yuri Garcia Smart Money Strategy FULL (Slope Divergence))📣 Yuri Garcia – Smart Money Strategy FULL
This is my private Smart Money Concept strategy, designed for my family and community to learn, trade, and grow sustainably.
🔑 How it works:
✅ Volume Cluster Zones: Automatically detects areas where strong buyers or sellers concentrate, acting as dynamic S/R levels.
✅ HTF Institutional Zones (4H): Higher timeframe trend filter ensures you’re always trading in the direction of major flows.
✅ Wick Pullback Filter: Confirms price rejects the zone, catching smart money traps and reversals.
✅ Cumulative Delta (CVD): Confirms whether buyers or sellers are truly in control.
✅ Slope-Based Divergence: Optional hidden divergence between price & CVD to spot reversals others miss.
✅ ATR Dynamic SL/TP: Adapts stop loss and take profit to live volatility with adjustable risk/reward.
🧩 Visual Markers Explained:
🟦 Blue X: Price inside HTF zone
🟨 Yellow X: Price inside Volume Cluster zone
🟧 Orange Circle: Wick pullback detected
🟥 Red Square: CVD confirms order flow strength
🔼 Aqua Triangle Up: Bullish slope divergence
🔽 Purple Triangle Down: Bearish slope divergence
🟢 Green Triangle Up: Final Long Entry confirmed
🔴 Red Triangle Down: Final Short Entry confirmed
⚡ Who is this for?
This strategy is best suited for traders who understand smart money concepts, order flow, and want an adaptive framework to trade major assets like BTC, Gold, SP500, NASDAQ, or FX pairs.
🔒 Important
Use responsibly, backtest extensively, and combine with solid risk management. This is for educational purposes only.
✨ Credits
Built with ❤️ by Yuri Garcia – dedicated to my family & community.
✅ How to use it
1️⃣ Add to chart
2️⃣ Adjust inputs for your asset & timeframe
3️⃣ Enable/disable slope divergence filter to match your style
4️⃣ Set your alerts with built-in conditions
Smarter Money Concepts - OBs [PhenLabs]📊 Smarter Money Concepts - OBs    
 Version: PineScript™ v6   
 📌 Description   
Smarter Money Concepts - OBs (Order Blocks) is an advanced technical analysis tool designed to identify and visualize institutional order zones on your charts. Order blocks represent significant areas of liquidity where smart money has entered positions before major moves. By tracking these zones, traders can anticipate potential reversals, continuations, and key reaction points in price action.  
This indicator incorporates volume filtering technology to identify only the most significant order blocks, eliminating low-quality signals and focusing on areas where institutional participation is likely present. The combination of price structure analysis and volume confirmation provides traders with high-probability zones that may attract future price action for tests, rejections, or breakouts.  
 🚀 Points of Innovation   
   
   Volume-Filtered Block Detection : Identifies only order blocks formed with significant volume, focusing on areas with institutional participation  
   Advanced Break of Structure Logic : Uses sophisticated price action analysis to detect legitimate market structure breaks preceding order blocks  
   Dynamic Block Management : Intelligently tracks, extends, and removes order blocks based on price interaction and time-based expiration   
   Structure Recognition System : Employs technical analysis algorithms to find significant swing points for accurate order block identification  
   Dual Directional Tracking : Simultaneously monitors both bullish and bearish order blocks for comprehensive market structure analysis  
   
 🔧 Core Components   
 Order Block Detection : Identifies institutional entry zones by analyzing price action before significant breaks of structure, capturing where smart money has likely positioned before moves.  
 Volume Filtering Algorithm : Calculates relative volume compared to a moving average to qualify only order blocks formed with significant market participation, eliminating noise.  
 Structure Break Recognition : Uses price action analysis to detect legitimate breaks of market structure, ensuring order blocks are identified only at significant market turning points.  
 Dynamic Block Management : Continuously monitors price interaction with existing blocks, extending, maintaining, or removing them based on current market behavior.  
 🔥 Key Features   
   
   Volume-Based Filtering : Filter out insignificant blocks by requiring a minimum volume threshold, focusing only on zones with likely institutional activity  
   Visual Block Highlighting : Color-coded boxes clearly mark bullish and bearish order blocks with customizable appearance  
   Flexible Mitigation Options : Choose between “Wick” or “Close” methods for determining when a block has been tested or mitigated    
   Scan Range Adjustment : Customize how far back the indicator looks for structure points to adapt to different market conditions and timeframes  
   Break Source Selection : Configure which price component (close, open, high, low) is used to determine structure breaks for precise block identification  
   
 🎨 Visualization   
 Bullish Order Blocks : Blue-colored rectangles highlighting zones where bullish institutional orders were likely placed before upward moves, representing potential support areas.  
 Bearish Order Blocks : Red-colored rectangles highlighting zones where bearish institutional orders were likely placed before downward moves, representing potential resistance areas.  
 Block Extension : Order blocks extend to the right of the chart, providing clear visualization of these significant zones as price continues to develop.  
 📖 Usage Guidelines   
 Order Block Settings   
   
   Scan Range : Default: 25. Defines how many bars the indicator scans to determine significant structure points for order block identification.  
   Bull Break Price Source : Default: Close. Determines which price component is used to detect bullish breaks of structure.  
   Bear Break Price Source : Default: Close. Determines which price component is used to detect bearish breaks of structure.  
   
 Visual Settings   
   
   Bullish Blocks Color : Default: Blue with 85% transparency. Controls the appearance of bullish order blocks.  
   Bearish Blocks Color : Default: Red with 85% transparency. Controls the appearance of bearish order blocks.  
   
 General Options   
   
   Block Mitigation Method : Default: Wick, Options: Wick, Close. Determines how block mitigation is calculated - “Wick” uses high/low values while “Close” uses close values for more conservative mitigation criteria.  
   Remove Filled Blocks : Default: Disabled. When enabled, order blocks are removed once they’ve been mitigated by price action.  
   
 Volume Filter   
   
   Volume Filter Enabled : Default: Enabled. When activated, only shows order blocks formed with significant volume relative to recent average.  
   Volume SMA Period : Default: 15, Range: 1-50. Number of periods used to calculate the average volume baseline.  
   Min. Volume Ratio : Default: 1.5, Range: 0.5-10.0. Minimum volume ratio compared to average required to display an order block; higher values filter out more blocks.  
   
 ✅ Best Use Cases   
   
  Identifying high-probability support and resistance zones for trade entries and exits  
  Finding optimal stop-loss placement behind significant order blocks  
  Detecting potential reversal areas where price may react after extended moves  
  Confirming breakout trades when price clears major order blocks  
  Building a comprehensive market structure map for medium to long-term trading decisions  
  Pinpointing areas where smart money may have positioned before major market moves  
   
 ⚠️ Limitations   
   
  Most effective on higher timeframes (1H and above) where institutional activity is more clearly defined  
  Can generate multiple signals in choppy market conditions, requiring additional filtering  
  Volume filtering relies on accurate volume data, which may be less reliable for some securities  
  Recent market structure changes may invalidate older order blocks not yet automatically removed  
  Block identification is based on historical price action and may not predict future behavior with certainty  
   
 💡 What Makes This Unique   
 Volume Intelligence : Unlike basic order block indicators, this script incorporates volume analysis to identify only the most significant institutional zones, focusing on quality over quantity.  
 Structural Precision : Uses sophisticated break of structure algorithms to identify true market turning points, going beyond simple price pattern recognition.  
 Dynamic Block Management : Implements automatic block tracking, extension, and cleanup to maintain a clean and relevant chart display without manual intervention.  
 Institutional Focus : Designed specifically to highlight areas where smart money has likely positioned, helping retail traders align with institutional perspectives rather than retail noise.  
 🔬 How It Works   
 1. Structure Identification Process :  
The indicator continuously scans price action to identify significant swing points and structure levels within the specified range, establishing a foundation for order block recognition.  
 2. Break Detection :  
When price breaks an established structure level (crossing below a significant low for bearish breaks or above a significant high for bullish breaks), the indicator marks this as a potential zone for order block formation.  
 3. Volume Qualification :  
For each potential order block, the algorithm calculates the relative volume compared to the configured period average. Only blocks formed with volume exceeding the minimum ratio threshold are displayed.  
 4. Block Creation and Management :  
Valid order blocks are created, tracked, and managed as price continues to develop. Blocks extend to the right of the chart until they are either mitigated by price action or expire after the designated timeframe.  
 5. Continuous Monitoring :  
The indicator constantly evaluates price interaction with existing blocks, determining when blocks have been tested, mitigated, or invalidated, and updates the visual representation accordingly.  
 💡 Note:   
Order Blocks represent areas where institutional traders have likely established positions and may defend these zones during future price visits. For optimal results, use this indicator in conjunction with other confluent factors such as key support/resistance levels, trendlines, or additional confirmation indicators. The most reliable signals typically occur on higher timeframes where institutional activity is most prominent. Start with the default settings and adjust parameters gradually to match your specific trading instrument and style.  
Pure Price Action ICT Tools [LuxAlgo]The  Pure Price Action ICT Tools  indicator is designed for pure price action analysis, automatically identifying real-time market structures, liquidity levels, order & breaker blocks, and liquidity voids.
Its unique feature lies in its exclusive reliance on price patterns, without being constrained by any user-defined inputs, ensuring a robust and objective analysis of market dynamics.
  
🔶  MARKET STRUCTURES 
  
A Market Structure Shift, also known as a Change of Character (CHoCH), is a pivotal event in price action analysis indicating a potential change in market sentiment or direction. An MSS occurs when the price reverses from an established trend, signaling that the prevailing trend may be losing momentum and a reversal might be underway. This shift is often identified by key technical patterns, such as a higher low in a downtrend or a lower high in an uptrend, which indicate a weakening of the current trend's strength.
A Break of Structure typically indicates the continuation of the current market trend. This event occurs when the price decisively moves beyond a previous swing high or low, confirming the strength of the prevailing trend. In an uptrend, a BOS is marked by the price breaking above a previous high, while in a downtrend, it is identified by the price breaking below a previous low.
  
While a Market Structure Shift (MSS) can indicate a potential trend reversal and a Break of Structure (BOS) often confirms trend continuation, they do not assure a complete reversal or continuation. MSS and BOS levels can also function as liquidity zones or areas of price consolidation rather than definitively signaling a change in market direction. Traders should approach these signals cautiously and validate them with additional factors before making trading decisions. For further details on other components of the tool, please refer to the following sections.
🔶  ORDER & BREAKER BLOCKS 
  
Order and Breaker Blocks are key concepts in price action analysis that help traders identify significant levels in the market structure.
Order Blocks are specific price zones where significant buying or selling activity has occurred. These zones often represent the actions of large institutional traders or market makers, who execute substantial orders that impact the market.
Breaker Blocks are specific price zones where a strong reversal occurs, causing a break in the prevailing market structure. These blocks indicate areas where the price encountered significant resistance or support, leading to a reversal.
  
In summary, Order and Breaker Blocks are essential tools in price action analysis, providing insights into significant market levels influenced by institutional trading activities. These blocks help traders make informed decisions about potential support and resistance levels, trend reversals, and breakout confirmations.
🔶  BUYSIDE & SELLSIDE LIQUIDITY 
  
Both buy-side and sell-side liquidity zones are critical for identifying potential turning points in the market. These zones are where significant buying or selling interest is concentrated, influencing future price movements.
  
In summary, buy-side and sell-side liquidity provide crucial insights into market demand and supply dynamics, helping traders make informed decisions based on the availability of orders at different price levels.
🔶  LIQUIDITY VOIDS 
  
Liquidity voids are gaps or areas on a price chart where there is a lack of trading activity. These voids represent zones with minimal to no buy or sell orders, often resulting in sharp price movements when the market enters these areas.
  
In summary, liquidity voids are crucial areas on a price chart characterized by a lack of trading activity. These voids can lead to rapid price movements and increased volatility, making them essential considerations for traders in their analysis and decision-making processes.
🔶  SWING POINTS 
  
Reversal price points are commonly referred to as swing points. Traders often analyze historical swing points to discern market trends and pinpoint potential trade entry and exit points.
Do note that in this script these are subject to backpainting, that is they are not located where they are detected.
The detection of swing points and the unique feature of this script rely exclusively on price action, eliminating the need for numerical user-defined settings. The process begins with detecting short-term swing points:
  
 Short-Term Swing High (STH): Identified as a price peak surrounded by lower highs on both sides.
 Short-Term Swing Low (STL): Recognized as a price trough surrounded by higher lows on both sides.
 
Intermediate-term and long-term swing points are detected using the same approach but with a slight modification. Instead of directly analyzing price candles, previously detected short-term swing points are utilized. For intermediate-term swing points, short-term swing points are analyzed, while for long-term swing points, intermediate-term ones are used.
This method ensures a robust and objective analysis of market dynamics, offering traders reliable insights into market structures. Detected swing points serve as the foundation for identifying market structures, buy-side/sell-side liquidity levels, and order and breaker blocks presented with this tool.
In summary, swing points are essential elements in technical analysis, helping traders identify trends, support, and resistance levels, and optimal entry and exit points. Understanding swing points allows traders to make informed decisions based on the natural price movements in the market.
🔶  SETTINGS 
🔹  Market Structures 
  
 Market Structures: Toggles the visibility of the market structures, both shifts and breaks. 
 Detection: An option that allows users to detect market structures based on the significance of swing levels, including short-term, intermediate-term, and long-term.
 Market Structure Labels: Controls the visibility of labels that highlight the type of market structure. 
 Line Style: Customizes the style of the lines representing the market structure. 
 
🔹  Order & Breaker Blocks 
 
 Order & Breaker Blocks: Toggles the visibility of the order & breaker blocks. 
 Detection: An option that allows users to detect order & breaker blocks based on the significance of swing levels, including short-term, intermediate-term, and long-term.
 Last Bullish Blocks: Number of the most recent bullish order/breaker blocks to display on the chart.
 Last Bearish Blocks: Number of the most recent bearish order/breaker blocks to display on the chart.
 Use Candle Body: Allows users to use candle bodies as order block areas instead of the full candle range.
 
🔹  Buyside & Sellside Liquidity 
 
 Buyside & Sellside Liquidity: Toggles the visibility of the buyside & sellside liquidity levels. 
 Detection: An option that allows users to detect buy-side & sell-side liquidity based on the significance of swing levels, including short-term, intermediate-term, and long-term.
 Margin: Sets margin/sensitivity for a liquidity level detection.
 Visible Levels: Controls the amount of the liquidity levels/zones to be visualized.
 
🔹  Liquidity Voids 
 
 Liquidity Voids: Enable display of both bullish and bearish liquidity voids.
 Threshold Multiplier: Defines the multiplier for the threshold, which is hard-coded to the 200-period ATR range. 
 Mode: Controls the lookback length for detection and visualization.  Present  considers the last X bars specified in the option, while  Historical  includes all available data.
 Label: Enable display of a label indicating liquidity voids.
 
🔹  Swing Highs/Lows 
 
 Swing Highs/Lows: Toggles the visibility of the swing levels. 
 Detection: An option that allows users to detect swing levels based on the significance of swing levels, including short-term, intermediate-term, and long-term.
 Label Size: Control the size of swing level labels.
 
🔶  RELATED SCRIPTS 
 
 Pure-Price-Action-Structures. 
 Market-Structures-(Intrabar). 
 Buyside-Sellside-Liquidity. 
 Order-Breaker-Blocks. 
ICT Immediate Rebalance Toolkit [LuxAlgo]The  ICT Immediate Rebalance Toolkit  is a comprehensive suite of tools crafted to aid traders in pinpointing crucial trading zones and patterns within the market.
The ICT Immediate Rebalance, although frequently overlooked, emerges as one of ICT's most influential concepts, particularly when considered within a specific context. The toolkit integrates commonly used price action tools to be utilized in conjunction with the Immediate Rebalance patterns, enriching the capacity to discern context for improved trading decisions.
The ICT Immediate Rebalance Toolkit encompasses the following Price Action components:
 
 ICT Immediate Rebalance
 Buyside/Sellside Liquidity
 Order Blocks & Breaker Blocks
 Liquidity Voids
 ICT Macros
 
 🔶 USAGE 
  
 🔹 ICT Immediate Rebalance 
 What is an Immediate Rebalance? 
Immediate rebalances, a concept taught by ICT, hold significant importance in decision-making. To comprehend the concept of immediate rebalance, it's essential to grasp the notion of the fair value gap. A fair value gap arises from market inefficiencies or imbalances, whereas an immediate rebalance leaves no gap, no inefficiencies, or no imbalances that the price would need to return to. 
 
  
 Rule of Thumb 
After an immediate rebalance, the expectation is for two extension candles to follow; otherwise, the immediate rebalance is considered failed. It's important to highlight that both failed and successful immediate rebalances, when considered within a context, are significant signatures in trading.
  
Immediate rebalances can occur anywhere and in any timeframe.  
  
 🔹 Buyside/Sellside Liquidity 
In the context of Inner Circle Trader's teachings, liquidity primarily refers to the presence of stop losses or pending orders, that indicate concentrations of buy or sell orders at specific price levels. Institutional traders, like banks and large financial entities, frequently aim for these liquidity levels or pools to accumulate or distribute their positions.
Buyside liquidity denotes a chart level where short sellers typically position their stops, while Sellside liquidity indicates a level where long-biased traders usually place their stops. These zones often serve as support or resistance levels, presenting potential trading opportunities.
  
The presentation applied here is the multi-timeframe version of our previously published  Buyside-Sellside-Liquidity  script. 
 🔹 Order Blocks & Breaker Blocks 
Order Blocks and Breaker Blocks hold significant importance in technical analysis and play a crucial role in shaping market behavior.
Order blocks are fundamental elements of price action analysis used by traders to identify key levels in the market where significant buying or selling activity has occurred. These blocks represent areas on a price chart where institutional traders, banks, or large market participants have placed substantial buy or sell orders, leading to a temporary imbalance in supply and demand. 
  
Breaker blocks, also known as liquidity clusters or pools, complement order blocks by identifying zones where liquidity is concentrated on the price chart. These areas, formed from mitigated order blocks, often act as significant barriers to price movement, potentially leading to price stalls or reversals in the future.
  
 🔹 Liquidity Voids 
 Liquidity voids  are sudden price changes when the price jumps from one level to another. Liquidity voids will appear as a single or a group of candles that are all positioned in the same direction. These candles typically have large real bodies and very short wicks, suggesting very little disagreement between buyers and sellers.  
  
Here is our previously released  Liquidity-Voids  script. 
 🔹 ICT Macros 
In the context of ICT's teachings, a macro is a small program or set of instructions that unfolds within an algorithm, which influences price movements in the market. These macros operate at specific times and can be related to price runs from one level to another or certain market behaviors during specific time intervals. They help traders anticipate market movements and potential setups during specific time intervals.
  
Here is our previously released  ICT-Macros  script. 
 🔶 SETTINGS 
 🔹 Immediate Rebalances 
  
 Immediate Rebalances: toggles the visibility of the detected immediate rebalance patterns.
 Bullish, and Bearish Immediate Rebalances: color customization options.
 Wicks 75%, %50, and %25: color customization options of the wick price levels for the detected immediate rebalance.
 Ignore Price Gaps: ignores price gaps during calculation. 
 Confirmation (Bars): specifies the number of bars required to confirm the validation of the detected immediate rebalance. 
 Immediate Rebalance Icon: allows customization of the size of the icon used to represent the immediate rebalance.
 
 🔹 Buyside/Sellside Liquidity 
 
 Buyside/Sellside Liquidity: toggles the visibility of the buy-side/sell-side liquidity levels.
 Timeframe: this option is to identify liquidity levels from higher timeframes. If a timeframe lower than the chart's timeframe is selected, calculations will be based on the chart's timeframe.
 Detection Length: lookback period used for the detection.
 Margin: sets margin/sensitivity for the liquidity levels. 
 Buyside/Sellside Liquidity Color: color customization option for buy-side/sell-side liquidity levels.
 Visible Liquidity Levels: allows customization of the visible buy-side/sell-side liquidity levels.
 
 🔹 Order Blocks & Breaker Blocks 
 
 Order Blocks: toggles the visibility of the order blocks.
 Breaker Blocks: toggles the visibility of the breaker blocks.
 Swing Detection Length: lookback period used for the detection of the swing points used to create order blocks & breaker blocks.
 Mitigation Price: allows users to select between the closing price or the wick of the candle. 
 Use Candle Body in Detection: allows users to use candle bodies as order block areas instead of the full candle range.
 Remove Mitigated Order Blocks & Breaker Blocks: toggles the visibility of the mitigated order blocks & breaker blocks. 
 Order Blocks: Bullish, Bearish Color: color customization option for order blocks.
 Breaker Blocks: Bullish, Bearish Color: color customization option for breaker blocks.
 Visible Order & Breaker Blocks: allows customization of the visible order & breaker blocks.
 Show Order Blocks & Breaker Blocks Labels: toggles the visibility of the order blocks & breaker blocks labels.
 
 🔹 Liquidity Voids 
  
 Liquidity Voids: toggles the visibility of the liquidity voids.
 Liquidity Voids Width Filter: filtering threshold while detecting liquidity voids.
 Ignore Price Gaps: ignores price gaps during calculation. 
 Remove Mitigated Liquidity Voids: remove mitigated liquidity voids. 
 Bullish, Bearish, and Mitigated Liquidity Voids: color customization option..
 Liquidity Void Labels: toggles the visibility of the liquidity voids labels.
 
 🔹 ICT Macros 
 
 London and New York (AM, Launch, and PM): toggles the visibility of specific macros, allowing users to customize macro colors.   
 Macro Top/Bottom Lines, Extend: toggles the visibility of the macro's pivot high/low lines and allows users to extend the pivot lines.
 Macro Mean Line: toggles the visibility of the macro's mean (average) line.
 Macro Labels: toggles the visibility of the macro labels, allowing customization of the label size.
 
 🔶 RELATED SCRIPTS 
 ICT-Killzones-Toolkit 
 Smart-Money-Concepts 
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>>  LuxAlgo-Scripts .
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.
Bar Statistics - DELTA/OI/TOTAL/BUY/SELL/LONGS/SHORTSBar Statistics - Advanced Volume & Open Interest Analysis
Overview
The Bar Statistics indicator is a comprehensive analytical tool designed to provide traders with detailed insights into market microstructure through advanced volume analysis, open interest tracking, and market flow detection. This indicator transforms complex market data into easily digestible visual information, displaying six key metrics in customizable colored boxes that update in real-time.
Unlike traditional volume indicators that only show basic volume data, this indicator combines multiple data sources to reveal the underlying forces driving price movement, including volume delta calculations from lower timeframes, open interest changes, and estimated market positioning.
What Makes This Indicator Unique
1. Multi-Timeframe Volume Delta Precision
The indicator utilizes lower timeframe data (default 1-second) to calculate highly accurate volume delta measurements, providing much more precise buy/sell pressure analysis than standard timeframe-based calculations. This approach captures intraday volume dynamics that are often missed by conventional indicators.
2. Real-Time Updates
Unlike many indicators that only update on bar completion, this tool provides live updates for the developing candle, allowing traders to see evolving market conditions as they happen.
3. Market Flow Analysis
The unique "L/S" (Long/Short) metric combines open interest changes with price/volume direction to estimate net market positioning, helping identify when participants are accumulating or distributing positions.
4. Adaptive Visual Intensity
The gradient color system automatically adjusts based on historical context, making it easy to identify when current values are significant relative to recent market activity.
5. Complete Customization
Every aspect of the display can be customized, from the order of metrics to individual color schemes, allowing traders to adapt the tool to their specific analysis needs.
6.All In One Solution
6 Metrics in one indicator no more using 5 different indicators.
Core Features Explained
DELTA (Volume Delta)
What it shows: Net difference between aggressive buy volume and aggressive sell volume
Calculation: Uses lower timeframe data to determine whether each trade was initiated by buyers or sellers
Interpretation:
Positive values indicate aggressive buying pressure
Negative values indicate aggressive selling pressure
Magnitude indicates the strength of directional pressure
OI Δ (Open Interest Change)
What it shows: Change in open interest from the previous bar
Data source: Fetches open interest data using the "_OI" symbol suffix
Interpretation:
Positive values indicate new positions entering the market
Negative values indicate positions being closed
Combined with price direction, reveals market participant behavior
L/S (Net Long/Short Bias)
What it shows: Estimated net change in long vs short market positions
Calculation method: Combines open interest changes with price/volume direction using configurable logic
Scenarios analyzed:
New Longs: Rising OI + Rising Price/Volume = Long position accumulation
Liquidated Longs: Falling OI + Falling Price/Volume = Long position exits
New Shorts: Rising OI + Falling Price/Volume = Short position accumulation
Covered Shorts: Falling OI + Rising Price/Volume = Short position exits
Result: Net bias toward long (positive) or short (negative) market sentiment
TOTAL (Total Volume)
What it shows: Standard volume for the current bar
Purpose: Provides context for other metrics and baseline activity measurement
Enhanced display: Uses gradient intensity based on recent volume history
BUY (Estimated Buy Volume)
What it shows: Estimated aggressive buy volume
Calculation: (Total Volume + Delta) / 2
Use case: Helps quantify the actual buying pressure in monetary/contract terms
SELL (Estimated Sell Volume)
What it shows: Estimated aggressive sell volume
Calculation: (Total Volume - Delta) / 2
Use case: Helps quantify the actual selling pressure in monetary/contract terms
Configuration Options
Timeframe Settings
Custom Timeframe Toggle: Enable/disable custom lower timeframe selection
Timeframe Selection: Choose the precision level for volume delta calculations
Auto-Selection Logic: Automatically selects optimal timeframe based on chart timeframe
Net Positions Calculation
Direction Method: Choose between Price-based or Volume Delta-based direction determination
Value Method: Select between Open Interest Change or Volume for position size calculations
Display Customization
Row Order: Completely customize which metrics appear and in what order (6 positions available)
Color Schemes: Individual color selection for positive/negative values of each metric
Gradient Intensity: Configurable lookback period (10-200 bars) for relative intensity calculations
Visual Elements
Box Format: Clean, professional box display with clear labels
Color Coding: Intuitive color schemes with customizable transparency gradients
Real-time Updates: Live updating for developing candles with historical stability
How to Use This Indicator
For Day Traders
Volume Confirmation: Use DELTA to confirm breakout validity - strong directional moves should show corresponding volume delta
Entry Timing: Watch for volume delta divergences at key levels to time entries
Exit Signals: Monitor when aggressive volume shifts against your position
For Swing Traders
Market Flow: Focus on the L/S metric to identify when participants are accumulating or distributing
Open Interest Analysis: Use OI Δ to confirm whether moves are backed by new money or position adjustments
Trend Validation: Combine multiple metrics to validate trend strength and sustainability
For Scalpers
Real-time Edge: Utilize the live updates to see developing imbalances before bar completion
Quick Decision Making: Focus on DELTA and BUY/SELL for immediate market pressure assessment
Volume Profile: Use TOTAL volume context for optimal entry/exit sizing
Setup Recommendations
Futures Markets: Enable OI tracking and use Volume Delta direction method
Crypto Markets: Focus on DELTA and volume metrics; OI may not be available
Stock Markets: Use Price direction method with volume value calculations
High-Frequency Analysis: Set lower timeframe to 1S for maximum precision
Technical Implementation
Data Accuracy
Utilizes TradingView's ta.requestVolumeDelta() function for precise buy/sell classification
Implements error checking for data availability
Handles missing data gracefully with fallback calculations
Performance Optimization
Efficient array management with configurable lookback periods
Smart box creation and deletion to prevent memory issues
Optimized real-time updates without historical data corruption
Compatibility
Works on all timeframes from seconds to daily
Compatible with futures, forex, crypto, and stock markets
Automatically adjusts calculation methods based on available data
Risk Disclaimers
This indicator is designed for educational and analytical purposes. It provides statistical analysis of market data but does not guarantee trading success. Users should:
Combine with other forms of analysis
Practice proper risk management
Understand that past performance doesn't predict future results
Be aware that volume delta and open interest data quality varies by market and data provider
Conclusion
The Bar Statistics indicator represents a significant advancement in retail trader access to professional-grade market analysis tools. By combining multiple data sources into a single, customizable display, it provides the depth of analysis needed for comprehensive market microstructure understanding while maintaining the simplicity required for effective decision-making.






















