Grospector DCA V.3This is system for DCA with strategy.
This has 5 zone Extreme high , high , normal , low , Extreme low. You can dynamic set min - max percent every zone.
Extreme zone is derivative short and long which It change Extreme zone to Normal zone all position will be closed.
Every Zone is splitted 10 channel. and this strategy calculate contribution.
and now can predict price in future.
Idea : Everything has average in its life. For bitcoin use 4 years for halving. I think it will be interesting price.
Default : I set MA is 365*4 days and average it again with 365 days.
Input :
len: This input represents the length of the moving average.
strongLen: This input represents the length of the moving average used to calculate the strong buy and strong sell zone.
shortMulti: This input represents the multiplier * moveing average used to calculate the short zone.
strongSellMulti: This input represents the multiplier used to calculate the strong sell signal.
sellMulti: This input represents the multiplier * moveing average used to calculate the sell zone.
strongBuyMulti: This input represents the multiplier used to calculate the strong sell signal.
longMulti: This input represents the multiplier * moveing average used to calculate the long zone.
*Diff sellMulti and strongBuyMulti which is normal zone.
useDerivative: This input is a boolean flag that determines whether to use the derivative display zone. If set to true, the derivative display zone will be used, otherwise it will be hidden.
zoneSwitch: This input determines where to display the channel signals. A value of 1 will display the signals in all zones, a value of 2 will display the signals in the chart pane, a value of 3 will display the signals in the data window, and a value of 4 will hide the signals.
price: Defines the price source used for the indicator calculations. The user can select from various options, with the default being the closing price.
labelSwitch: Defines whether to display assistive text on the chart. The user can select a boolean value (true/false), with the default being true.
zoneSwitch: Defines which areas of the chart to display assistive zones. The user can select from four options: 1 = all, 2 = chart only, 3 = data only, 4 = none. The default value is 2.
predictFuturePrice: Defines whether to display predicted future prices on the chart. The user can select a boolean value (true/false), with the default being true.
DCA: Defines the dollar amount to use for dollar-cost averaging (DCA) trades. The user can input an integer value, with a default value of 5.
WaitingDCA: Defines the amount of time to wait before executing a DCA trade. The user can input a float value, with a default value of 0.
Invested: Defines the amount of money invested in the asset. The user can input an integer value, with a default value of 0.
strategySwitch: Defines whether to turn on the trading strategy. The user can select a boolean value (true/false), with the default being true.
seperateDayOfMonth: Defines a specific day of the month on which to execute trades. The user can input an integer value from 1-31, with the default being 28.
useReserve: Defines whether to use a reserve amount for trading. The user can select a boolean value (true/false), with the default being true.
useDerivative: Defines whether to use derivative data for the indicator calculations. The user can select a boolean value (true/false), with the default being true.
useHalving: Defines whether to use halving data for the indicator calculations. The user can select a boolean value (true/false), with the default being true.
extendHalfOfHalving: Defines the amount of time to extend the halving date. The user can input an integer value, with the default being 200.
Every Zone : It calculate percent from top to bottom which every zone will be splited 10 step.
To effectively make the DCA plan, I recommend adopting a comprehensive strategy that takes into consideration your mindset as the best indicator of the optimal approach. By leveraging your mindset, the task can be made more manageable and adaptable to any market
Dollar-cost averaging (DCA) is a suitable investment strategy for sound money and growth assets which It is Bitcoin, as it allows for consistent and disciplined investment over time, minimizing the impact of market volatility and potential risks associated with market timing
Recherche dans les scripts pour "zone"
Traders_Reality_LibLibrary "Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume : the instrument volume series (obtained from request.sequrity)
pvsraHigh : the instrument high series (obtained from request.sequrity)
pvsraLow : the instrument low series (obtained from request.sequrity)
pvsraClose : the instrument close series (obtained from request.sequrity)
pvsraOpen : the instrument open series (obtained from request.sequrity)
redVectorColor : red vector candle color
greenVectorColor : green vector candle color
violetVectorColor : violet/pink vector candle color
blueVectorColor : blue vector candle color
darkGreyCandleColor : regular volume candle down candle color - not a vector
lightGrayCandleColor : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length : how many elements of the series to calculate on
barsBack : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime : session string in the format 0000-0100:23456
sessXcol : the color to be used for the opening range box shading
showOrX : boolean flag to toggle displaying the opening range
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, show_rectangleX, show_labelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime : session string in the format 0000-0100:23456
show_rectangleX : show the session high and low lines
show_labelX : show the session label
sessXcolLabel : the color to be used for the hi/low lines and label
sessXLabel : the session label text
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek : Monday or Satruday
hourOfDay : the hour of the day when psy calc is to start
gmtOffset : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel : series of the pivot point
res : the desired resolution
tag : the text to appear
pivotColor : the color of the line
pivotLabelColor : the color of the label
pivotStyle : the line style
pivotWidth : the line width
pivotExtend : extend the line
isLabelValid : boolean param allows to turn label on and off
validTimeFrame : only draw the line and label at a valid timeframe
levelStart : basically when to start drawing the levels
pivotLabelXOffset : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor : the calculated pvsra color
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra : internal code
direction : above or below the current pa
boxArr : the array containing the boxes that need to be updated
maxlevels : the maximum number of boxes to draw
pvsraHigh : the pvsra high value series
pvsraLow : the pvsra low value series
pvsraOpen : the pvsra open value series
pvsraClose : the pvsra close value series
transperancy : the transparencfy of the vecor candle zones
zoneupdatetype : the zone update type
zonecolor : the zone color if overriden
zonetype : the zone type
borderwidth : the width of the border
coloroverride : if the color overriden
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
cleanarr(arr)
clean an array from na values
Parameters:
arr : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis : a constant value
showPsylevels : should psy levels be calculated
psyType : the type of Psylevels - crypto or forex
sydDST : is Sydney in DST
@return
EMA bands + leledc + bollinger bands trend following strategy v2The basics:
In its simplest form, this strategy is a positional trend following strategy which enters long when price breaks out above "middle" EMA bands and closes or flips short when price breaks down below "middle" EMA bands. The top and bottom of the middle EMA bands are calculated from the EMA of candle highs and lows, respectively.
The idea is that entering trades on breakouts of the high EMAs and low EMAs rather than the typical EMA based on candle closes gives a bit more confirmation of trend strength and minimizes getting chopped up. To further reduce getting chopped up, the strategy defaults to close on crossing the opposite EMA band (ie. long on break above high EMA middle band and close below low EMA middle band).
This strategy works on all markets on all timeframes, but as a trend following strategy it works best on markets prone to trending such as crypto and tech stocks. On lower timeframes, longer EMAs tend to work best (I've found good results on EMA lengths even has high up to 1000), while 4H charts and above tend to work better with EMA lengths 21 and below.
As an added filter to confirm the trend, a second EMA can be used. Inputting a slower EMA filter can ensure trades are entered in accordance with longer term trends, inputting a faster EMA filter can act as confirmation of breakout strength.
Bar coloring can be enabled to quickly visually identify a trend's direction for confluence with other indicators or strategies.
The goods:
Waiting for the trend to flip before closing a trade (especially when a longer base EMA is used) often leaves money on the table. This script combines a number of ways to identify when a trend is exhausted for backtesting the best early exits.
"Delayed bars inside middle bands" - When a number of candle's in a row open and close between the middle EMA bands, it could be a sign the trend is weak, or that the breakout was not the start of a new trend. Selecting this will close out positions after a number of bars has passed
"Leledc bars" - Originally introduced by glaz, this is a price action indicator that highlights a candle after a number of bars in a row close the same direction and result in greatest high/low over a period. It often triggers when a strong trend has paused before further continuation, or it marks the end of a trend. To mitigate closing on false Leledc signals, this strategy has two options: 1. Introducing requirement for increased volume on the Leledc bars can help filter out Leledc signals that happen mid trend. 2. Closing after a number of Leledc bars appear after position opens. These two options work great in isolation but don't perform well together in my testing.
"Bollinger Bands exhaustion bars" - These bars are highlighted when price closes back inside the Bollinger Bands and RSI is within specified overbought/sold zones. The idea is that a trend is overextended when price trades beyond the Bollinger Bands. When price closes back inside the bands it's likely due for mean reversion back to the base EMA in which this strategy will ideally re-enter a position. Since the added RSI requirements often make this indicator too strict to trigger a large enough sample size to backtest, I've found it best to use "non-standard" settings for both the bands and the RSI as seen in the default settings.
"Buy/Sell zones" - Similar to the idea behind using Bollinger Bands exhaustion bars as a closing signal. Instead of calculating off of standard deviations, the Buy/Sell zones are calculated off multiples of the middle EMA bands. When trading beyond these zones and subsequently failing back inside, price may be due for mean reversion back to the base EMA. No RSI filter is used for Buy/Sell zones.
If any early close conditions are selected, it's often worth enabling trade re-entry on "middle EMA band bounce". Instead of waiting for a candle to close back inside the middle EMA bands, this feature will re-enter position on only a wick back into the middle bands as will sometimes happen when the trend is strong.
Any and all of the early close conditions can be combined. Experimenting with these, I've found can result in less net profit but higher win-rates and sharpe ratios as less time is spent in trades.
The deadly:
The trend is your friend. But wouldn't it be nice to catch the trends early? In ranging markets (or when using slower base EMAs in this strategy), waiting for confirmation of a breakout of the EMA bands at best will cause you to miss half the move, at worst will result in getting consistently chopped up. Enabling "counter-trend" trades on this strategy will allow the strategy to enter positions on the opposite side of the EMA bands on either a Leledc bar or Bollinger Bands exhaustion bar. There is a filter requiring either a high/low (for Leledc) or open (for BB bars) outside the selected inner or outer Buy/Sell zone. There are also a number of different close conditions for the counter-trend trades to experiment with and backtest.
There are two ways I've found best to use counter-trend trades
1. Mean reverting scalp trades when a trend is clearly overextended. Selecting from the first 5 counter-trend closing conditions on the dropdown list will usually close the trades out quickly, with less profit but less risk.
2. Trying to catch trends early. Selecting any of the close conditions below the first 5 can cause the strategy to behave as if it's entering into a new trend (from the wrong side).
This feature can be deadly effective in profiting from every move price makes, or deadly to the strategy's PnL if not set correctly. Since counter-trend trades open opposite the middle bands, a stop-loss is recommended to reduce risk. If stop-losses for counter-trend trades are disabled, the strategy will hold a position open often until liquidation in a trending market if th trade is offsides. Note that using a slower base EMA makes counter-trend stop-losses even more necessary as it can reduce the effectiveness of the Buy/Sell zone filter for opening the trades as price can spend a long time trending outside the zones. If faster EMAs (34 and below) are used with "Inner" Buy/Zone filter selected, the first few closing conditions will often trigger almost immediately closing the trade at a loss.
The niche:
I've added a feature to default into longs or shorts. Enabling these with other features (aside from the basic long/short on EMA middle band breakout) tends to break the strategy one way or another. Enabling default long works to simulate trying to acquire more of the asset rather than the base currency. Enabling default short can have positive results for those high FDV, high inflation coins that go down-only for months at a time. Otherwise, I use default short as a hedge for coins that I hold and stake spot. I gain the utility and APR of staking while reducing the risk of holding the underlying asset by maintaining a net neutral position *most* of the time.
Disclaimer:
This script is intended for experimenting and backtesting different strategies around EMA bands. Use this script for your live trading at your own risk. I am a rookie coder, as such there may be errors in the code that cause the strategy to behave not as intended. As far as I can tell it doesn't repaint, but I cannot guarantee that it does not. That being said if there's any question, improvements, or errors you've found, drop a comment below!
3 Lines RCI + Psy Signal + RSI Background📌 3 Lines RCI + Psy Signal + RSI Background
This indicator combines three RCI lines, Psychological Line signals, RSI-based background highlights, and ADX strength detection to visualize market momentum, trend strength, and potential reversal zones.
🔍 Main Features
📌 1. Triple RCI (Rank Correlation Index)
Displays Short / Mid / Long RCI
Detects momentum shifts and trend reversals
Highlight zones:
Overbought: +80 ~ +100 (Red Zone)
Oversold: -80 ~ -100 (Green Zone)
📌 2. Psychological Line Signal
Column bars appear only in extreme conditions:
Overbought → Red Bars
Oversold → Green Bars
Helps detect short-term sentiment extremes
📌 3. RSI Background Highlight
Red Background: RSI > Overbought threshold
Green Background: RSI < Oversold threshold
Provides a visual cue of underlying market pressure.
📌 4. ADX Trend Strength
ADX line color shows strength level:
Blue: Weak trend
Yellow: Moderate trend
Red: Strong trend
Useful to identify whether signals occur in a trend or range state.
🎯 Trading Usage Tips
RCI + RSI + Psy confluence can identify strong reversal timing.
Use signals only when ADX is weak or moderate to avoid counter-trading a strong trend.
Combine short/mid RCI crossovers with extreme zones for potential entry timing.
⚙️ Suitable For
Scalping, day trading, swing trading
Stocks, Forex, Crypto, Indices, Commodities
Volumetric Inverse Fair Value Gap (IFVG) [Kodexius]The Volumetric Inverse Fair Value Gap (IFVG) indicator detects and visualizes inverse fair value gaps (IFVGs) zones where previous inefficiencies in price (fair value gaps) are later invalidated or “inverted.”
Unlike traditional FVG indicators, this tool integrates volume-based analysis to quantify the bullish, bearish, and overall strength of each inversion. It visually represents these metrics within a dynamically updating box on the chart, giving traders deeper insight into market reactions when liquidity imbalances are filled and reversed.
Features
Inverse fair value gap detection
The script identifies bullish and bearish fair value gaps, stores them as pending zones, and turns them into inverse fair value gaps when price trades back through the gap in the opposite direction. Each valid inversion becomes an active IFVG zone on the chart.
Sensitivity control with ATR filter and strict mode
A minimum gap size based on ATR is used to filter out small and noisy gaps. Strict mode can be enabled so that any wick contact between the relevant candles prevents the gap from being accepted as a fair value gap. This lets you decide how clean and selective the zones should be.
Show Last N Boxes control
The indicator can keep only the most recent N IFVG zones visible. Older zones are removed from the chart once the number of active objects exceeds the user setting. This prevents clutter on higher timeframes or long histories and keeps attention on the most relevant recent zones.
Ghost box for the original gap
When the ghost option is enabled, the script draws a faint box that marks the original fair value gap from which the inverse zone came. This makes it easy to see where the initial imbalance appeared and how price later inverted that area.
Volumetric bull, bear and strength metrics
For each IFVG, the script estimates how much of the bar volume is associated with buying and how much with selling, then computes bull percentage, bear percentage and a strength score that uses a percentile rank of volume. These values are stored with the IFVG object and drive the visualization inside the zone.
Three band visual layout inside each IFVG
Each active IFVG is drawn as a container with three horizontal sections. The top band represents the bull percentage, the middle band the bear percentage and the bottom band the strength metric. The width of each bar reflects its respective value so you can read the structure of the zone at a glance.
Customizable colors and label text
Colors for bull, bear, strength, the empty background area, the ghost box and label text can be adjusted in the inputs. This allows you to match the indicator to different chart themes or highlight specific aspects such as strength or direction.
Automatic invalidation and cleanup
When price clearly closes beyond the IFVG in a way that breaks the logic of that zone, the script marks it as inactive and deletes all boxes and labels linked to it. Only valid and active IFVGs remain on the chart, which keeps the display clean and focused.
Calculations
1. Detecting Fair Value Gaps (FVGs)
A fair value gap is identified when price action leaves an imbalance between candle wicks. Depending on the mode:
Bullish FVG: When low > high
Bearish FVG: When high < low
Optionally, the strict mode ensures wicks do not touch.
The gap’s significance is filtered using the ATR multiplier input to exclude minor noise.
Once detected, FVGs are stored as pending zones until inverted by opposite movement (price crossing through).
bool bull_cond = strict_mode ? (low > high ) : (close > high )
bool bear_cond = strict_mode ? (high < low ) : (close < low )
float gap_size = 0.0
if bull_cond and close > open
gap_size := low - high
if bear_cond and close < open
gap_size := low - high
2. Creating IFVGs (Inversions)
When price later moves through a previous FVG in the opposite direction, an Inverse FVG (IFVG) is created.
For example:
A previous bearish FVG becomes bullish IFVG if price moves upward through it.
A previous bullish FVG becomes bearish IFVG if price moves downward through it.
The IFVG is initialized with structural boundaries (top, bottom) and timestamp metadata to anchor visualization.
if not p.is_bull_gap and close > p.top
inverted := true
to_bull := true
if p.is_bull_gap and close < p.btm
inverted := true
to_bull := false
3. Volume Metrics (Bull, Bear, Strength)
Each IFVG calculates buy and sell volumes from the current bar’s price spread and total volume.
Bull % = proportion of upward (buy) volume
Bear % = proportion of downward (sell) volume
Strength % = normalized percentile rank of total volume
These are obtained through a custom function that estimates directional volume contribution:
calc_metrics(float o, float h, float l, float c, float v) =>
float rng = h - l
float buy_v = 0.0
if rng == 0
buy_v := v * 0.5
else
if c >= o
buy_v := v * ((math.abs(c - o) + (math.min(o, c) - l)) / rng)
else
buy_v := v * ((h - math.max(o, c)) / rng)
float sell_v = v - buy_v
float total = buy_v + sell_v
float p_bull = total > 0 ? buy_v / total : 0
float p_bear = total > 0 ? sell_v / total : 0
float p_str = ta.percentrank(v, 100) / 100.0
Ultimate_Price_Action_Tool_V2 by chaitu50cUltimate_Price_Action_Tool_V2 by chaitu50c — Session-Based SR Box Engine
This indicator builds clean, session-aware support and resistance “zones” from pure price action. It is designed for intraday and positional traders who want objective, rule-based zones instead of manual drawing.
Core Logic
Price-action based MAIN zones
Detects bullish and bearish breakouts using a strict body-structure:
Single-candle and double-candle breakout patterns.
Breakouts are confirmed only when closes break beyond previous highs/lows.
From each valid breakout, the tool builds a MAIN Support or MAIN Resistance box:
For bullish breaks, the zone is created from a combined low to the nearest open/close in the breakout combo.
For bearish breaks, the zone is created from a combined high to the nearest open/close in the breakout combo.
Optional first-box logic:
Can create the very first MAIN zone in a session from a simple opposite-color pair (without a full breakout), if enabled.
SUB zones on break
When price breaks a MAIN Support downwards with a red candle, the MAIN box is removed/frozen and:
A new SUB Resistance box is created above, using the current bar’s structure.
When price breaks a MAIN Resistance upwards with a green candle:
A new SUB Support box is created below.
SUB zones are optional and can be fully disabled if the user prefers a clean MAIN-only view.
Session Handling
The script is fully session-aware and can work in different market structures:
Session Mode options
Clock Session
Uses a fixed time window (e.g., 09:15–15:30).
Zones can be shown only inside the session or kept visible outside, depending on settings.
New Day
Each new trading day is treated as a fresh session.
Auto Gap
A new session starts whenever the time gap between candles exceeds a user-defined threshold (in minutes).
Session IDs and history
Each new session gets its own ID.
You can display zones for the last N sessions (including current).
Older sessions fade out visually but remain internally tracked to control visibility.
Main Features & Options
Initial Right Offset
Every new zone is projected to the right by a configurable number of bars.
All active boxes continuously extend with this offset, keeping zones clearly projected into the future.
Single MAIN per side (per session)
Optional constraint to have only:
One active MAIN Support and
One active MAIN Resistance
per session on the chart.
This prevents overcrowding and focuses on the most recent key structure.
MAIN vs SUB Overlap Control
When a new MAIN zone overlaps an existing SUB zone, you can choose:
Suppress MAIN (ignore the new MAIN if it clashes with a SUB),
Remove SUB (delete overlapping SUB zones and keep the new MAIN), or
Allow Both (plot everything and let the trader decide).
Vertical overlap is evaluated using a configurable minimum overlap percentage.
SUB suppression under MAIN
SUB boxes that overlap strongly with active MAIN zones can be auto-suppressed to avoid redundant clutter.
This suppression uses the same percent-based overlap logic.
Broken MAIN box handling
When a MAIN zone is broken:
Option 1: Fully delete it (classic behavior).
Option 2: Convert it into a 1-bar “marker” box at its origin, so you still see where the original zone formed without extending into the future.
Break candle coloring
The candle that breaks a MAIN zone can be optionally painted:
Red when breaking support.
Green when breaking resistance.
Helps visually confirm genuine breaks vs. simple intrabar tests.
Visual & Styling Controls
Separate style controls for:
MAIN Support / MAIN Resistance
Independent fill and border colors.
SUB Support / SUB Resistance
Independent fill and border colors.
Opacity and border colors are internally managed so that:
Recent sessions are clearly visible.
Older sessions are softly faded to maintain context without noise.
Typical Use Cases
Intraday traders looking for:
Clean, rule-based supply and demand zones.
Zones that respect actual session structure (clock, daily, or gap-based).
Swing traders who:
Want to track how current price reacts to the most recent 1–N sessions’ zones.
Price action traders who:
Prefer breakout-based zones rather than indicator-driven levels.
Need automatic zone management (creation, extension, break handling, and suppression).
This tool is built to be modular and configurable: you can run it minimal (only MAIN zones, single side per session) or fully featured (MAIN + SUB, multi-session history, overlap handling, and break paints). All logic is strictly price-action based with no dependency on volume or external indicators.
Extended SOPR Indicator - SSOPR Tops (A/B toggle)Extended SOPR Indicator — SSOPR Tops and Lows (A/B toggle)
Observation-only. Data: Glassnode SOPR.
Overview
This indicator extends the classical SOPR (Spent Output Profit Ratio) to improve readability and reduce noise on charts. SOPR measures whether coins moved on-chain were spent at a profit or at a loss. In brief: SOPR > 1 → spending at profit; SOPR < 1 → spending at loss. SSOPR (from "Smoothed SOPR") applies optional log transform (centers baseline at 0), smoothing (standard or adaptive), and adds structured signals: Z‑score lows (capitulation), buy zones , and top detection after prolonged elevation.
Why extend SOPR? (SSOPR vs classical SOPR)
• Noise reduction: Raw daily SOPR can whipsaw around its baseline. SSOPR uses smoothing and (optionally) adaptive smoothing so regimes are visible without overfitting.
• Better readability: The log transform shifts the break-even line to 0, making “profit territory” (above 0) and “loss territory” (below 0) visually intuitive on oscillators.
• Actionable context: Z‑score highlights extreme lows (capitulation risk), a simple buy-zone threshold marks potential accumulation, and a structured top pattern (with a time factor) helps frame distribution phases after sustained elevation.
What the script plots
• Smoothed SOPR (SSOPR): An orange line representing the smoothed SOPR (with optional log transform and optional adaptive smoothing).
• Top markers: A red triangle appears once at the onset of a confirmed top pattern.
• Background shading:
– Soft green: Buy zone when SSOPR falls below the “Buy Threshold.” (+ Z‑score capitulation zones (extreme lows)).
– Soft red: Top‑zone shading when the top criteria are met but before the single triangle fires.
Inputs & parameters
• Smoothing Length (default 14): Base window for smoothing SSOPR. Higher values = smoother, slower response.
• Apply Log Transform (default ON): Uses log(SOPR) so the baseline is 0 (log(1)=0). Above 0 → net profit regime; below 0 → net loss regime.
• Adaptive Smoothing (default OFF): Expands smoothing length as volatility rises using a standard deviation proxy; reduces whipsaws while preserving structure.
• Z‑score Threshold for Lows (default −2.5): Highlights capitulation zones when SSOPR deviates far below its rolling mean.
• SSOPR Buy Threshold (default −0.02): Simple rule-of-thumb level for potential accumulation context when below (log scale).
• SSOPR Top Threshold (default +0.005): Minimum elevation required for “profit territory” when assessing tops (log scale).
• Min Bars Above Threshold Before Top (default 50): Ensures prolonged elevation before calling a top.
• Lookback for Peak Detection (default 50): Window used to locate the recent high.
• Drop % from Peak to Confirm Top (default 5%): Confirms the start of distribution from a local high.
• Highlight Background : Toggles shaded zones.
Top detection (indicator-only)
A top fires when ALL of the following are true:
SSOPR spent at least Min Bars Above Threshold above the Top Threshold (sustained elevation).
The rising phase test passes (Option A or B; see below).
A drop from the local peak exceeds Drop % within the Lookback window.
The peak occurred in profit territory (SSOPR > Top Threshold).
To avoid repeated signals during the decline, the script emits the triangle once, at onset.
Rising‑phase switch: Option A vs Option B
• Option A — Up‑step ratio : Over the last A: Bars for Rising Check (default 50), it requires that at least A: Required Up‑Step Ratio (default 60%) of bars were rising (each bar compared to the previous). This favors gradual, persistent advances and filters out “choppy” lifts.
• Option B — Net slope : Compares current SSOPR to its value B: Bars Back for Net Slope ago (default 50). If higher, the series is considered rising. This is simpler and reacts faster in volatile phases but can admit brief pseudo‑trends.
Guidance : Prefer A for conservative confirmation in slow, persistent cycles; use B when trend moves are strong and you need timely detection.
Interpretation guide
• Regimes (log view): Above 0 → spending at profit; below 0 → spending at loss.
• Capitulation lows: When Z‑score < threshold, conditions often reflect forced/liquidity‑driven spending. Treat as context, not signals.
• Buy zone: SSOPR < Buy Threshold flags potential accumulation conditions (combine with price structure).
• Tops: After prolonged elevation, a confirmed top often coincides with profit‑taking/distribution phases.
Recommended timeframes
• Daily : Code optimized for daily timeframe.
Method summary
• SSOPR source: GLASSNODE:BTC_SOPR (via request.security ).
• Optional log transform: sopr → log(sopr) to normalize around 0.
• Smoothing: SMA over Smoothing Length , optionally adaptive using local volatility (std dev).
• Z‑score: (SSOPR − mean) / std dev, highlighting extreme lows.
• Top: Requires long elevation above Top Threshold , rising‑phase (A/B), and a subsequent drop > Drop % from recent high.
Limitations & notes
• SOPR reflects on‑chain movements; some activity occurs off‑chain (exchanges, internal transfers). Not all moves imply sale; aggregation makes it a usable proxy for profit/loss realization.
• Higher smoothing reduces noise but delays signals; adaptive smoothing can help but is still a trade‑off.
• Treat thresholds as context markers. They are not entry/exit signals by themselves.
• Use with price structure, volume, and other on‑chain indicators (e.g., realized price bands, dormancy/CDD) for confluence.
How to use (examples)
• Advance holding above 0 (log view): Retests of 0 from above that hold—while SSOPR remains elevated—often mark absorption; look for Top conditions only after sustained elevation and a confirmed drop from peak.
• Downtrend below 0: Rejections near 0 can align with continued loss realization; extreme Z‑score lows suggest capitulation risk—context for accumulation, not a blind buy.
Recommended settings
• Weekly: Log ON, Smoothing Length 14–30, Adaptive ON, Buy Threshold −0.02, Top Threshold +0.005, Rising Method A, Min Bars 50.
• Daily: Log ON, Smoothing Length 14–20, Adaptive OFF or ON (depending on noise), Rising Method B for timely slope checks.
Credits & references
• SOPR metric: Renato Shirakashi; documentation: Glassnode , CryptoQuant , overview: Bitbo .
Disclaimer
This script is for research/education on market behavior. It is not financial advice. Indicators provide context; decisions remain your responsibility.
Tags
bitcoin, btc, on‑chain, sopr, ssopr, glassnode, oscillator, regime, distribution, capitulation
Apex Liquidity & Trend Architect [Smart]Trading charts often suffer from two problems: Noise (too many false signals in chopping markets) and Clutter (too many old lines and zones obscuring price).
ALTA solves both. It is a streamlined, institutional-grade trend system that uses ADX filtering to silence weak signals and Time-Decay logic to automatically clean up old liquidity zones. It respects your screen real estate, showing you only what matters, right now.
1. The "Smart" Engine
Unlike standard trend indicators that repaint or clutter the screen, ALTA introduces three key innovations:
A. Hull Moving Average (HMA) Baseline
We have upgraded the core engine to use the Hull Moving Average. HMA is significantly faster and smoother than standard EMAs or SMAs, reducing lag on entry signals.
Note: You can switch back to WMA or SMA in the settings if you prefer a slower pace.
B. ADX Momentum Filtering
Quality over Quantity: The script monitors the ADX (Average Directional Index). If the trend flips, but the ADX is below 20 (weak trend), the signal is blocked.
This prevents you from getting chopped out during sideways accumulation phases. You only get a "BUY" or "SELL" label when there is actual momentum behind the move.
C. Adaptive Gradient Coloring
The candles do not just turn Green or Red. They change intensity based on trend strength.
Bright/Vivid Candles: Strong Momentum (High ADX).
Dark/Dull Candles: Weak Momentum (Low ADX).
Visual Cue: If the candles are fading into the background, stay out of the market.
2. Self-Cleaning Liquidity Zones
Most support/resistance indicators leave old boxes on the chart forever. ALTA uses a Decay Protocol.
Volume Validation: Supply/Demand zones are only drawn if the pivot point had volume significantly higher than average (configurable).
Mitigation: If price wicks through a zone, it is deleted instantly.
Time Decay (New): If a zone is not hit within a set number of bars (Default: 100), it automatically deletes itself. This keeps your chart focused on fresh levels only.
3. The Minimalist HUD
A simplified dashboard in the corner of your screen provides an instant health check of the market:
ALTA Label: System Status.
Trend: BULL / BEAR / WAIT (Squeeze).
Power: WEAK / SOLID / STRONG (Based on ADX).
4. How to Trade (The Strategy)
The High-Probability Buy
Trend: Ribbon is Green.
Candles: Candles are Bright Green (indicating High ADX Strength).
Signal: A "BUY" label appears (confirmed by ADX filter).
Liquidity: Price is bouncing off a valid Demand Zone.
The High-Probability Sell
Trend: Ribbon is Red.
Candles: Candles are Bright Red (indicating High ADX Strength).
Signal: A "SELL" label appears.
Liquidity: Price is rejecting off a valid Supply Zone.
When to STAY OUT
The Squeeze: If the ribbon turns Grey/White, volatility is compressing. Wait for the breakout.
The Fade: If the candles are dark/translucent, momentum is dying. Take profits or wait for a fresh impulse.
5. Settings & Customization
Basis Type: Switch between HMA (Fast), WMA (Standard), or SMA (Slow).
Signal Quality Filter: Toggle the ADX filter on/off.
Zone Life: How many bars should a Supply/Demand zone survive before decaying?
Tooltips: Every single setting in this script includes a descriptive tooltip. Hover over the "i" icon in the settings menu for detailed explanations of every feature.
Disclaimer
This indicator is for educational purposes only. Past performance (even with smart filtering) does not guarantee future results. Always manage your risk.
Ellipse Price Action Indicator v2 (Upgraded)
This upgraded Ellipse Price Action Indicator (EPAI v2) to take high-accuracy trades.
I am explaining it as if you are looking at the chart step by step, so you will understand exactly:
-When to buy
-When to
-When to avoid
-How to read Strength Meter
-How Ellipse zones work
⭐ 1. THE BASICS — What This Indicator Actually Does
This indicator tracks:
✔ The “Elliptical Path” of price
Like a planet revolving around the Sun, price “oscillates” around a center.
The indicator detects this hidden mathematical path using:
Two Focus Points (Fast MA & Slow MA)
Curved Ellipse boundaries
Compression of price
Momentum of trend
Breakout zones
⭐ 2. UNDERSTANDING THE 3 ZONES
🔴 UPPER ZONE = Sell Zone
Price is near the upper ellipse boundary → overbought space.
🟢 LOWER ZONE = Buy Zone
Price near lower ellipse boundary → oversold space.
🔵 CENTRAL ZONE = No Trade Zone
Price swinging inside the ellipse center → noise.
Only trade in UPPER or LOWER zones.
Never in the central zone.
⭐ 3. THE MOST IMPORTANT PART — Strength Meter v2
Strength Meter v2 (0 to 100%) is the core filter.
✔ Above 70% → High winning probability (take trade)
✔ 60–70% → Medium probability (trade if confident)
❌ Below 60% → Avoid trade
Strength combines:
Ellipse compression
Momentum slope
Price position curve
Eccentricity
Trend direction
This alone removes 70% bad trades.
⭐ 4. BUY SETUP (Exact Rules)
You get a BUY only if all conditions match:
① Price goes to lower ellipse zone
② Compression is ON (ellipse is tight)
③ Momentum slope direction = UP
④ Focus Lines Cross Bullish (Fast > Slow)
⑤ Strength v2 ≥ your threshold (default 60%)
⑥ A BUY signal prints (triangle UP)
When these align →
🟢 BUY with high accuracy
Best Accuracy Buy is:
Price in lower zone
Strength ≥ 0.75
Slope UP
Ellipse compressed
⭐ 5. SELL SETUP (Exact Rules)
Same logic reversed:
① Price in upper ellipse zone
② Compression ON
③ Momentum slope DOWN
④ Focus Lines cross bearish (Fast < Slow)
⑤ Strength v2 ≥ threshold
⑥ SELL signal prints (triangle DOWN)
This means:
🔴 SELL with high accuracy
Best Accuracy Sell is:
Price in upper zone
Strength ≥ 0.75
Slope DOWN
Ellipse compressed
⭐ 6. BREAKOUT TRADES (Optional but powerful)
When price breaks above/below ellipse:
🔸 Upper Breakout → SELL (if strength strong)
🔸 Lower Breakout → BUY (if strength strong)
Breakout signals are marked by orange arrows.
Breakouts are taken only if:
Strength v2 > 50%
Slope supports breakout
Compression exists before breakout
Breakout trades catch trend continuation.
⭐ 7. HOW TO CONFIRM A STRONG TRADE
Look at the table on the chart:
✔ Strength v2 ≥ 70% (GREEN)
✔ Compression = GREEN
✔ Slope direction = UP (for buy) or DOWN (for sell)
✔ Zone = LOWER or UPPER
✔ Eccentricity = LOW (<0.5 means smooth trend)
If these line up →
⭐ High-probability entry.
⭐ 8. WHEN YOU SHOULD NOT TRADE
❌ If price is in Central Zone
❌ Strength < 60
❌ No compression detected
❌ Slope is flat or against direction
❌ Only one condition is matching
❌ Eccentricity is too large
(Big ellipse = unpredictable swings)
⭐ 9. What Is the Accuracy Level?
In trending markets → 75% to 85% accuracy
In ranging markets → 50% (use compression filter to avoid)
The indicator is designed to avoid bad market conditions automatically.
⭐ 10. BEST TIMEFRAMES
✔ 5m, 15m, 1H → Intraday
✔ 4H, 1D → Swing Trading
✔ NOT recommended below 1m timeframe
⭐ SUMMARY (EASY VERSION)
🟢 BUY:
Lower zone + compression + bullish slope + strong focus cross + strength ≥ 60
🔴 SELL:
Upper zone + compression + bearish slope + strong focus cross + strength ≥ 60
🟠 Breakout:
Upper/lower breakout + strength ≥ 50
🔵 Avoid:
Central zone or weak strength
SRD
SRD v11 - Multi-Timeframe Volume Profile (POC, VAH, VAL)
Key Features
Dual Timeframe Analysis:
📈 Main Analysis (Daily): Calculates and displays the most significant levels based on a user-defined period of daily bars. This is ideal for identifying intraday and short-term trading opportunities.
📊 Strategic Analysis (Weekly): Plots key levels from a weekly perspective, giving you a broader, long-term view of market sentiment and structure. This can be toggled on or off.
Volume Profile Core Levels: The indicator automatically calculates and visualizes the three most important levels derived from volume analysis for both timeframes:
🎯 POC (Point of Control): The price level with the highest traded volume for the specified period. It acts as a powerful magnet for price and a key reference for market equilibrium.
🔴 VAH (Value Area High): The highest price level within the "Value Area" (where ~70% of the volume was traded). It often acts as a significant resistance zone.
🟢 VAL (Value Area Low): The lowest price level within the Value Area. It often serves as a strong support zone.
🟠 24-Hour High: An optional feature that plots the highest price reached in the last 24 hours, providing a crucial reference point for breakout and reversal traders.
Dynamic and Non-Repainting: The levels are calculated based on historical confirmed bars and update automatically as new periods (daily or weekly) close. The lines extend to the right, remaining relevant until a new calculation period begins.
Integrated Alert System: Never miss a key price interaction. The indicator includes a comprehensive alert system for:
Breakouts: Triggers when the price crosses above or below the POC, VAH, or VAL.
Touches: Triggers when the price touches one of these key levels without breaking through it (within a small tolerance).
Unified Alert: A single alert that notifies you of any of the above conditions.
Customization
The SRD v11 is fully customizable to fit your trading style. You can adjust:
Timeframes: Change the base timeframes for both the main (default Daily) and strategic (default Weekly) analysis.
Analysis Periods: Define the number of bars (days or weeks) to include in the Volume Profile calculation.
Visuals: Customize the color, width, and style (solid, dashed, dotted) of every line and label for clear and intuitive visualization.
Toggle Elements: Easily show or hide the strategic (weekly) analysis and the 24-hour high line.
How to Use It >
Identify Key Zones: Use the VAH (resistance) and VAL (support) lines to identify potential entry and exit zones. The area between VAH and VAL is the "Value Area," where the market has found acceptance.
Monitor the POC: The Point of Control is the ultimate level of equilibrium. Watch for price reactions around the POC. A sustained break above or below can signal a new trend.
Combine Timeframes: Use the strategic (weekly) levels as major, long-term points of interest and the main (daily) levels for your day-to-day trading setup. Confluence between levels from different timeframes can indicate extremely strong support or resistance.
Set Alerts: Configure alerts for breakouts or touches to be notified of critical market movements in real-time, even when you are away from the charts.
Velocity Pressure Index | AlphaNattVelocity Pressure Index (VPI) | AlphaNatt
A sophisticated momentum oscillator that combines price velocity analysis with volume pressure dynamics to identify high-probability trading opportunities.
📊 KEY FEATURES
Dual Analysis System: Merges price velocity measurement with volume pressure analysis for comprehensive market momentum assessment
Dynamic Normalization: Automatically scales values between -100 and +100 for consistent readings across all market conditions
Adaptive Zones: Self-adjusting overbought/oversold levels based on recent price history
Multi-Layer Confirmation: Combines momentum, acceleration, and crossover signals for robust trade identification
Volume-Weighted Pressure: Differentiates between bullish and bearish volume to gauge true market sentiment
📈 HOW IT WORKS
The VPI calculates price velocity using linear regression of price changes, then weights this velocity by the difference between bullish and bearish volume pressure. This creates a momentum reading that accounts for both price movement speed and the volume conviction behind it.
Signal Generation:
Price velocity is measured over the specified period
Volume is separated into bullish (close > open) and bearish (close < open) pressure
Velocity is amplified or dampened based on volume pressure differential
The resulting index is normalized to oscillate between -100 and +100
A signal line smooths the oscillator for crossover detection
🎯 TRADING SIGNALS
Long Signals (Cyan #00F1FF):
Strong Bull: VPI > Signal with positive momentum and acceleration
Crossover Bull: VPI crosses above signal while above oversold zone
Divergence: Price makes lower low while VPI makes higher low
Short Signals (Magenta #FF019A):
Strong Bear: VPI < Signal with negative momentum and deceleration
Crossover Bear: VPI crosses below signal while below overbought zone
Divergence: Price makes higher high while VPI makes lower high
⚙️ CUSTOMIZABLE PARAMETERS
Velocity Settings:
Velocity Period (14): Lookback for price velocity calculation
Pressure Period (21): Volume analysis window
Smoothing Factor (3): Final oscillator smoothing
Signal Configuration:
Signal Type: Choose between SMA, EMA, or DEMA
Signal Length (9): Signal line smoothing period
Normalization Period (50): Range calculation window
Dynamic Zones:
Zone Lookback (100): Period for adaptive overbought/oversold calculation
Percentiles: 80th/20th percentiles for dynamic zones
📐 VISUAL COMPONENTS
Main Oscillator: Color-coded line showing current momentum state
Signal Line: White line for crossover detection
Momentum Histogram: Shows velocity differential at 50% scale
Dynamic Zones: Self-adjusting overbought/oversold bands
Extreme Levels: ±50 dotted lines marking extreme conditions
Background Shading: Subtle highlighting of overbought/oversold regions
💡 USAGE TIPS
Trend Trading: Use strong bull/bear signals in trending markets for continuation entries
Range Trading: Focus on crossovers near extreme zones for reversal trades
Divergence Trading: Watch for price/oscillator divergences at market extremes
Multi-Timeframe: Combine with higher timeframe VPI for directional bias
Volume Confirmation: Stronger signals occur with aligned volume pressure
⚠️ BEST PRACTICES
The VPI works best in liquid markets with reliable volume data. For optimal results, combine with price action analysis and use appropriate risk management. The indicator is most effective during trending conditions but can identify reversals when divergences occur at extremes.
🔔 ALERTS AVAILABLE
VPI Long/Short Signals
Bullish/Bearish Crossovers
Extreme Overbought/Oversold Conditions
Version 6 | Pine Script™ | © AlphaNatt
Enhanced Std Dev Oscillator (Z-Score)Enhanced Std Dev Oscillator (Z-Score)
Overview
The Enhanced Std Dev Oscillator (ESDO) is a refined Z-Score indicator that normalizes price deviations from a moving mean using standard deviation, smoothed for clarity and equipped with divergence detection. This oscillator shines in identifying extreme overbought/oversold conditions and potential reversals, making it ideal for mean-reversion strategies in stocks, forex, or crypto. By highlighting when prices stray too far from the norm, it helps traders avoid chasing trends and focus on high-probability pullbacks.
Key Features
Customisable Mean & Deviation: Choose SMA or EMA for the mean (default: SMA, length 14); opt for Population or Sample standard deviation for precise statistical accuracy.
Smoothing for Clarity: Apply a simple moving average (default: 3) to the raw Z-Score, reducing noise without lagging signals excessively.
Zone Highlighting: Background colours flag extreme zones—red tint above +2 (overbought), green below -2 (oversold)—for quick visual scans.
Divergence Alerts: Automatically detects bullish (price lows lower, Z-Score higher) and bearish (price highs higher, Z-Score lower) divergences using pivot points (default length: 5), with labeled shapes for easy spotting.
Built-in Alerts: Notifications for Z-Score crossovers into OB/OS zones and divergence events to keep you informed without constant monitoring.
How It Works
Core Calculation: Computes the mean (SMA/EMA) over the specified length, then standard deviation (Population or adjusted Sample formula for N>1). Z-Score = (Source - Mean) / Std Dev, handling edge cases like zero deviation.
Smoothing: Averages the Z-Score with an SMA to create a cleaner plot oscillating around zero.
Levels & Zones: Plots horizontal lines at ±1 (orange dotted) and ±2 (red dashed) for reference; backgrounds activate in extreme zones.
Divergence Logic: Scans for pivot highs/lows in price and Z-Score; flags divergences when price extremes diverge from oscillator extremes (looking back 2 pivots for confirmation).
Visualisation: Blue line for the smoothed Z-Score; green/red labels for bull/bear divergences.
Usage Tips
Buy Signal: Z-Score crosses below -2 (oversold) or bullish divergence forms—pair with volume spike for confirmation.
Sell Signal: Z-Score crosses above +2 (overbought) or bearish divergence—watch for resistance alignment.
Customisation: Use EMA mean for trendier assets; enable Sample std dev for smaller datasets. Increase pivot length (7-10) in volatile markets to filter false signals.
Timeframes: Excels on daily/4H for swing trades; test smoothing on lower frames to avoid over-smoothing. Always combine with trend filters like a 200-period MA.
This open-source script is licensed under Mozilla Public License 2.0. Backtest thoroughly—past performance isn't indicative of future results. Trade with discipline! 📈
© HighlanderOne
Smarter Money Concepts Dashboard [PhenLabs]📊Smarter Money Concepts Dashboard
Version: PineScript™v6
📌Description
The Smarter Money Concepts Dashboard is a comprehensive institutional trading analysis tool that combines six of our most powerful smarter money concepts indicators into one unified suite. This advanced system automatically detects and visualizes Fair Value Gaps, Inverted FVGs, Order Blocks, Wyckoff Springs/Upthrusts, Wick Rejection patterns, and ICT Market Structure analysis.
Built for serious traders who need institutional-grade market analysis, this dashboard eliminates subjective interpretation by automatically identifying where smart money is likely positioned. The integrated real-time dashboard provides instant status updates on all active patterns, making it easy to monitor market conditions at a glance.
🚀Points of Innovation
● Multi-Module Integration: Six different SMC concepts unified in one comprehensive system
● Real-Time Dashboard Display: Live tracking of all active patterns with customizable positioning
● Advanced Volume Filtering: Institutional volume confirmation across all pattern types
● Automated Pattern Management: Smart memory system prevents chart clutter while maintaining relevant zones
● Probability-Based Wyckoff Detection: Mathematical probability calculations for spring/upthrust patterns
● Dual FVG System: Both standard and inverted Fair Value Gap detection with equilibrium analysis
🔧Core Components
● Fair Value Gap Engine: Detects standard FVGs with volume confirmation and equilibrium line analysis
● Inverted FVG Module: Advanced IFVG detection using RVI momentum filtering for inversion confirmation
● Order Block System: Institutional order block identification with customizable mitigation methods
● Wyckoff Pattern Recognition: Automated spring and upthrust detection with probability scoring
● Wick Rejection Analysis: High-probability reversal patterns based on wick-to-body ratios
● ICT Market Structure: Simplified institutional concepts with commitment tracking
🔥Key Features
● Comprehensive Pattern Detection: All major SMC concepts in one indicator with automatic identification
● Volume-Confirmed Signals: Multiple volume filters ensure only institutional-grade patterns are highlighted
● Interactive Dashboard: Real-time status display with active pattern counts and module status
● Smart Memory Management: Automatic cleanup of old patterns while preserving relevant market zones
● Full Alert System: Complete notification coverage for all pattern types and signal generations
● Customizable Display Options: Adjustable colors, transparency, and positioning for all visual elements
🎨Visualization
● Color-Coded Zones: Distinct color schemes for bullish/bearish patterns across all modules
● Dynamic Box Extensions: Automatically extending zones until mitigation or invalidation
● Equilibrium Lines: Fair Value Gap midpoint analysis with dotted line visualization
● Signal Markers: Clear spring/upthrust signals with directional arrows and probability indicators
● Dashboard Table: Professional-grade status panel with module activation and pattern counts
● Candle Coloring: Wick rejection highlighting with transparency-based visual emphasis
📖Usage Guidelines
Fair Value Gap Settings
● Days to Analyze: Default 15, Range 1-100 - Controls historical FVG detection period
● Volume Filter: Enables institutional volume confirmation for gap validity
● Min Volume Ratio: Default 1.5 - Minimum volume spike required for gap recognition
● Show Equilibrium Lines: Displays FVG midpoint analysis for precise entry targeting
Order Block Configuration
● Scan Range: Default 25 bars - Lookback period for structure break identification
● Volume Filter: Institutional volume confirmation for order block validation
● Mitigation Method: Wick or Close-based invalidation for different trading styles
● Min Volume Ratio: Default 1.5 - Volume threshold for significant order block formation
Wyckoff Analysis Parameters
● S/R Lookback: Default 20 - Support/resistance calculation period for spring/upthrust detection
● Volume Spike Multiplier: Default 1.5 - Required volume increase for pattern confirmation
● Probability Threshold: Default 0.7 - Minimum probability score for signal generation
● ATR Recovery Period: Default 5 - Price recovery calculation for pattern strength assessment
Market Structure Settings
● Auto-Detect Zones: Automatic identification of high-volume thin zones
● Proximity Threshold: Default 0.20% - Price proximity requirements for zone interaction
● Test Window: Default 20 bars - Time period for zone commitment calculation
Display Customization
● Dashboard Position: Four corner options for optimal chart layout
● Text Size: Scalable from Tiny to Large for different screen configurations
● Pattern Colors: Full customization of all bullish and bearish zone colors
✅Best Use Cases
● Swing Trading: Identify major institutional zones for multi-day position entries
● Day Trading: Precise intraday entries at Fair Value Gaps and Order Block boundaries
● Trend Analysis: Market structure confirmation for directional bias establishment
● Risk Management: Clear invalidation levels provided by all pattern boundaries
● Multi-Timeframe Analysis: Works across all timeframes from 1-minute to monthly charts
⚠️Limitations
● Market Condition Dependency: Performance varies between trending and ranging market environments
● Volume Data Requirements: Requires accurate volume data for optimal pattern confirmation
● Lagging Nature: Some patterns confirmed after initial price movement has begun
● Pattern Density: High-volatility markets may generate excessive pattern signals
● Educational Tool: Requires understanding of smart money concepts for effective application
💡What Makes This Unique
● Complete SMC Integration: First indicator to combine all major smart money concepts comprehensively
● Real-Time Dashboard: Instant visual feedback on all active institutional patterns
● Advanced Volume Analysis: Multi-layered volume confirmation across all detection modules
● Probability-Based Signals: Mathematical approach to Wyckoff pattern recognition accuracy
● Professional Memory Management: Sophisticated pattern cleanup without losing market relevance
🔬How It Works
1. Pattern Detection Phase:
● Multi-timeframe scanning for institutional footprints across all enabled modules
● Volume analysis integration confirms patterns meet institutional trading criteria
● Real-time pattern validation ensures only high-probability setups are displayed
2. Signal Generation Process:
● Automated zone creation with precise boundary definitions for each pattern type
● Dynamic extension system maintains relevance until mitigation or invalidation occurs
● Alert system activation provides immediate notification of new pattern formations
3. Dashboard Update Cycle:
● Live status monitoring tracks all active patterns and module states continuously
● Pattern count updates provide instant feedback on current market condition density
● Commitment tracking for market structure analysis shows institutional engagement levels
💡Note:
This indicator represents institutional trading concepts and should be used as part of a comprehensive trading strategy. Pattern recognition accuracy improves with understanding of smart money principles. Combine with proper risk management and multiple confirmation methods for optimal results.
Consolidation Box1. Overview & Purpose
The "Faithful Box" is a powerful TradingView indicator designed to automatically identify and visualize high-quality price consolidation zones, often known as 'trading ranges' or 'boxes'.
This tool is a direct Pine Script translation of a specific, robust Python-based analysis strategy. Its primary goal is not just to find any sideways movement, but to qualify it based on a strict set of rules, ensuring that only meaningful and tradable consolidation patterns are highlighted on the chart.
2. Core Logic: How It Works
The indicator's intelligence is based on several key rules translated from the original Python script:
Box Definition (Based on Closing Prices): The most crucial rule is how the box is defined. Unlike many tools that use candle wicks (highs and lows), this indicator establishes the Ceiling (Resistance) and the Floor (Support) of the box using the highest Close price and the lowest Close price over the specified analysis period. This provides a more stable and representative view of the true consolidation zone, ignoring outlier price spikes.
Quality Filters: A consolidation is only considered valid and drawn on the chart if it meets two strict criteria:
Minimum Touches: The price must "test" the ceiling and floor a minimum number of times. A "touch" is counted with a tolerance — the High of a candle only needs to get close to the ceiling, and the Low close to the floor. This simulates how price interacts with support and resistance zones in the real world.
Maximum Height: The consolidation range cannot be excessively wide or volatile. The box will only be drawn if its total height, as a percentage of its price, is below a user-defined limit.
3. Visual Features on the Chart
When a valid consolidation pattern is detected, the indicator draws a semi-transparent box over the analysis period. The most powerful visual feature is its dynamic coloring, which functions as a built-in alert system:
🟥 Red Box: The box turns red when the price enters the upper "Action Zone" (e.g., the top 30% of the range). This visually signals that the price is near a key resistance level, alerting the trader to a potential reversal or breakout opportunity.
🟩 Green Box: The box turns green when the price enters the lower "Action Zone" (e.g., the bottom 30% of the range). This highlights that the price is testing a key support level.
⬜ Gray Box: The box remains a neutral gray when the price is trading in the middle of the range, which can often be considered a "no-trade" or "wait-and-see" zone.
4. Configuration (Indicator Inputs)
You have full control over the indicator's sensitivity through its inputs:
Analysis Period (days): Defines the lookback window (in trading days) to search for a consolidation pattern. Common values are 42 (approx. 2 months) or 63 (approx. 3 months).
Maximum Box Height (%): Filters out consolidations that are too volatile or wide. A lower percentage will find tighter, more compressed consolidations.
Minimum Ceiling/Floor Touches: Defines the "strength" of the support and resistance levels. Requiring more touches will result in fewer detected patterns, but likely of higher quality.
Touch Tolerance (%): Defines how close the High/Low needs to get to the edge of the box to be counted as a touch. A value of 2% means a touch is registered if the price comes within 2% of the box's total height from the edge.
Action Zone (%): Customizes the size of the red (resistance) and green (support) zones. A value of 30% means the top 30% of the box will be the red zone, and the bottom 30% will be the green zone.
Hann Window FIR Filter Ribbon [BigBeluga]🔵 OVERVIEW
The Hann Window FIR Filter Ribbon is a trend-following visualization tool based on a family of FIR filters using the Hann window function. It plots a smooth and dynamic ribbon formed by six Hann filters of progressively increasing length. Gradient coloring and filled bands reveal trend direction and compression/expansion behavior. When short-term trend shifts occur (via filter crossover), it automatically anchors visual support/resistance zones at the nearest swing highs or lows.
🔵 CONCEPTS
Hann FIR Filter: A finite impulse response filter that uses a Hann (cosine-based) window for weighting past price values, resulting in a non-lag, ultra-smooth output.
hannFilter(length)=>
var float hann = na // Final filter output
float filt = 0
float coef = 0
for i = 1 to length
weight = 1 - math.cos(2 * math.pi * i / (length + 1))
filt += price * weight
coef += weight
hann := coef != 0 ? filt / coef : na
Ribbon Stack: The indicator plots 6 Hann FIR filters with increasing lengths, creating a smooth "ribbon" that adapts to price shifts and visually encodes volatility.
Gradient Coloring: Line colors and fill opacity between layers are dynamically adjusted based on the distance between the filters, showing momentum expansion or contraction.
Dynamic Swing Zones: When the shortest filter crosses its nearest neighbor, a swing high/low is located, and a triangle-style level is anchored and projected to the right.
Self-Extending Levels: These dynamic levels persist and extend until invalidated or replaced by a new opposite trend break.
🔵 FEATURES
Plots 6 Hann FIR filters with increasing lengths (controlled by Ribbon Size input).
Automatically colors each filter and the fill between them with smooth gradient transitions.
Detects trend shifts via filter crossover and anchors visual resistance (red) or support (green) zones.
Support/resistance zones are triangle-style bands built around recent swing highs/lows.
Levels auto-extend right and adapt in real time until invalidated by price action.
Ribbon responds smoothly to price and shows contraction or expansion behavior clearly.
No lag in crossover detection thanks to FIR architecture.
Adjustable sensitivity via Length and Ribbon Size inputs.
🔵 HOW TO USE
Use the ribbon gradient as a visual trend strength and smooth direction cue.
Watch for crossover of shortest filters as early trend change signals.
Monitor support/resistance zones as potential high-probability reaction points.
Combine with other tools like momentum or volume to confirm trend breaks.
Adjust ribbon thickness and length to suit your trading timeframe and volatility preference.
🔵 CONCLUSION
Hann Window FIR Filter Ribbon blends digital signal processing with trading logic to deliver a visually refined, non-lagging trend tool. The adaptive ribbon offers insight into momentum compression and release, while swing-based levels give structure to potential reversals. Ideal for traders who seek smooth trend detection with intelligent, auto-adaptive zone plotting.
RED E Support & ResistanceThe “RED-E Support & Resistance” indicator is designed to assist traders in visualizing key levels of support and resistance on a chart by employing ATR (Average True Range) to create dynamic horizontal zones. This indicator automatically plots robust support and resistance bands that can help identify potential areas where price may reverse, consolidate, or react. These levels are particularly beneficial for traders who employ concepts like Smart Money analysis, as they illustrate zones where institutional trading activity might occur.
How It Works:
• The indicator uses ATR-based calculations to determine the placement of the support and resistance zones. This approach accounts for market volatility, making the zones adaptive to changing conditions.
• The Zone Thickness parameter allows users to customize the width of the plotted zones, enhancing visibility and fitting them to their specific trading style.
• The support and resistance zones extend horizontally across the chart, providing clear reference points for potential price reactions.
Practical Application:
• Trend Analysis: Identify areas of significant price resistance and support to understand potential turning points or trends in the market.
• Risk Management: Use these zones to better inform stop-loss placements or set profit targets.
• Confirmation Tool: Combine the indicator with other technical analysis tools for confirmation of potential trade entries or exits.
Customization Options:
• Change the colors of the support and resistance zones for better integration with different chart themes.
• Adjust the ATR Length and Multiplier to fine-tune the sensitivity of the zones based on personal preferences and the characteristics of the asset being analyzed.
Disclaimer:
This indicator is for educational and informational purposes only. It is not intended to serve as investment advice or a recommendation to buy or sell any financial instrument. Always perform your own research and consider consulting with a financial professional before making trading decisions. Trading involves significant risk, and past performance does not guarantee future results.
3 hours ago
Release Notes
The “RED-E Support & Resistance” indicator is designed to assist traders in visualizing key levels of support and resistance on a chart by employing ATR (Average True Range) to create dynamic horizontal zones. This indicator automatically plots robust support and resistance bands that can help identify potential areas where price may reverse, consolidate, or react. These levels are particularly beneficial for traders who employ concepts like Smart Money analysis, as they illustrate zones where institutional trading activity might occur.
How It Works:
• The indicator uses ATR-based calculations to determine the placement of the support and resistance zones. This approach accounts for market volatility, making the zones adaptive to changing conditions.
• The Zone Thickness parameter allows users to customize the width of the plotted zones, enhancing visibility and fitting them to their specific trading style.
• The support and resistance zones extend horizontally across the chart, providing clear reference points for potential price reactions.
Practical Application:
• Trend Analysis: Identify areas of significant price resistance and support to understand potential turning points or trends in the market.
• Risk Management: Use these zones to better inform stop-loss placements or set profit targets.
• Confirmation Tool: Combine the indicator with other technical analysis tools for confirmation of potential trade entries or exits.
Customization Options:
• Change the colors of the support and resistance zones for better integration with different chart themes.
• Adjust the ATR Length and Multiplier to fine-tune the sensitivity of the zones based on personal preferences and the characteristics of the asset being analyzed.
Disclaimer:
This indicator is for educational and informational purposes only. It is not intended to serve as investment advice or a recommendation to buy or sell any financial instrument. Always perform your own research and consider consulting with a financial professional before making trading decisions. Trading involves significant risk, and past performance does not guarantee future results.
Ultimate Market Structure [Alpha Extract]Ultimate Market Structure
A comprehensive market structure analysis tool that combines advanced swing point detection, imbalance zone identification, and intelligent break analysis to identify high-probability trading opportunities.Utilizing a sophisticated trend scoring system, this indicator classifies market conditions and provides clear signals for structure breaks, directional changes, and fair value gap detection with institutional-grade precision.
🔶 Advanced Swing Point Detection
Identifies pivot highs and lows using configurable lookback periods with optional close-based analysis for cleaner signals. The system automatically labels swing points as Higher Highs (HH), Lower Highs (LH), Higher Lows (HL), and Lower Lows (LL) while providing advanced classifications including "rising_high", "falling_high", "rising_low", "falling_low", "peak_high", and "valley_low" for nuanced market analysis.
swingHighPrice = useClosesForStructure ? ta.pivothigh(close, swingLength, swingLength) : ta.pivothigh(high, swingLength, swingLength)
swingLowPrice = useClosesForStructure ? ta.pivotlow(close, swingLength, swingLength) : ta.pivotlow(low, swingLength, swingLength)
classification = classifyStructurePoint(structureHighPrice, upperStructure, true)
significance = calculateSignificance(structureHighPrice, upperStructure, true)
🔶 Significance Scoring System
Each structure point receives a significance level on a 1-5 scale based on its distance from previous points, helping prioritize the most important levels. This intelligent scoring system ensures traders focus on the most meaningful structure breaks while filtering out minor noise.
🔶 Comprehensive Trend Analysis
Calculates momentum, strength, direction, and confidence levels using volatility-normalized price changes and multi-timeframe correlation. The system provides real-time trend state tracking with bullish (+1), bearish (-1), or neutral (0) direction assessment and 0-100 confidence scoring.
// Calculate trend momentum using rate of change and volatility
calculateTrendMomentum(lookback) =>
priceChange = (close - close ) / close * 100
avgVolatility = ta.atr(lookback) / close * 100
momentum = priceChange / (avgVolatility + 0.0001)
momentum
// Calculate trend strength using multiple timeframe correlation
calculateTrendStrength(shortPeriod, longPeriod) =>
shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)
separation = math.abs(shortMA - longMA) / longMA * 100
strength = separation * slopeAlignment
❓How It Works
🔶 Imbalance Zone Detection
Identifies Fair Value Gaps (FVGs) between consecutive candles where price gaps create unfilled areas. These zones are displayed as semi-transparent boxes with optional center line mitigation tracking, highlighting potential support and resistance levels where institutional players often react.
// Detect Fair Value Gaps
detectPriceImbalance() =>
currentHigh = high
currentLow = low
refHigh = high
refLow = low
if currentOpen > currentClose
if currentHigh - refLow < 0
upperBound = currentClose - (currentClose - refLow)
lowerBound = currentClose - (currentClose - currentHigh)
centerPoint = (upperBound + lowerBound) / 2
newZone = ImbalanceZone.new(
zoneBox = box.new(bar_index, upperBound, rightEdge, lowerBound,
bgcolor=bullishImbalanceColor, border_color=hiddenColor)
)
🔶 Structure Break Analysis
Determines Break of Structure (BOS) for trend continuation and Directional Change (DC) for trend reversals with advanced classification as "continuation", "reversal", or "neutral". The system compares pre-trend and post-trend states for each break, providing comprehensive trend change momentum analysis.
🔶 Intelligent Zone Management
Features partial mitigation tracking when price enters but doesn't fully fill zones, with automatic zone boundary adjustment during partial fills. Smart array management keeps only recent structure points for optimal performance while preventing duplicate signals from the same level.
🔶 Liquidity Zone Detection
Automatically identifies potential liquidity zones at key structure points for institutional trading analysis. The system tracks broken structure points and provides adaptive zone extension with configurable time-based limits for imbalance areas.
🔶 Visual Structure Mapping
Provides clear visual indicators including swing labels with color-coded significance levels, dashed lines connecting break points with BOS/DC labels, and break signals for continuation and reversal patterns. The adaptive zones feature smart management with automatic mitigation tracking.
🔶 Market Structure Interpretation
HH/HL patterns indicate bullish market structure with trend continuation likelihood, while LH/LL patterns signal bearish structure with downtrend continuation expected. BOS signals represent structure breaks in trend direction for continuation opportunities, while DC signals warn of potential reversals.
🔶 Performance Optimization
Automatic cleanup of old structure points (keeps last 8 points), recent break tracking (keeps last 5 break events), and efficient array management ensure smooth performance across all timeframes and market conditions.
Why Choose Ultimate Market Structure ?
This indicator provides traders with institutional-grade market structure analysis, combining multiple analytical approaches into one comprehensive tool. By identifying key structure levels, imbalance zones, and break patterns with advanced significance scoring, it helps traders understand market dynamics and position themselves for high-probability trade setups in alignment with smart money concepts. The sophisticated trend scoring system and intelligent zone management make it an essential tool for any serious trader looking to decode market structure with precision and confidence.
Advanced Range Theory - ART📊 Advanced Range Theory (ART): The Institutional Blueprint
Stop drawing lines. Start reading the blueprint of the market. Advanced Range Theory (ART) is not another support and resistance indicator; it is a military-grade market structure engine designed to decode the language of institutional capital. It operates on a single, powerful premise: markets move in phases of consolidation and expansion, and the key to anticipation lies in understanding the complete lifecycle of these phases.
ART provides a living, breathing map of the battlefield, identifying institutional accumulation zones and tracking them with unparalleled precision from their inception as "Pending" ranges to their ultimate classification after a breakout. This is your X-ray into the market's skeletal structure.
🔬 THEORETICAL FRAMEWORK: THE ARCHITECTURE OF PRICE ACTION
ART is built on a multi-layered system of logic that moves beyond static levels. It treats ranges as dynamic entities with a narrative—a beginning, a middle, and an end. The core of the system is the dynamic classification engine, which analyzes not just the range, but the character of the price action that resolves it.
1. The Range Lifecycle: From Accumulation to Classification
This is the revolutionary heart of ART. A range's true identity is only revealed by how it is broken.
Phase 1: PENDING (Yellow): A new range is identified based on a period of price consolidation (a "parent" candle followed by a minimum number of "inside" candles). At this stage, it is a neutral zone of potential energy—an area where institutions are likely building positions. It is a question the market has not yet answered.
Phase 2: MITIGATION & CLASSIFICATION: When price breaks out and reaches a calculated extension level, the range is considered "mitigated." At this exact moment, ART analyzes the breakout's DNA to classify the range's true intent:
TYPE 1 - BREAKOUT (Blue): Characterized by a strong, impulsive move with confirming volume. This is a high-conviction breakout, signaling aggressive institutional participation and the likely start of a new trend. It is a statement of intent.
TYPE 2 - REVERSAL (Orange): Occurs when price attempts to break one way but is aggressively rejected, reversing and breaking out the other side. This signals absorption and a "failed auction," often marking significant market turning points.
TYPE 3 - PIVOT (Green): A more balanced breakout, lacking the explosive momentum of a Type 1. This often represents a resolution after a period of indecision or a pivot within a larger trading range.
2. The Hierarchical Map: Source & S/R Levels
ART doesn't just draw boxes; it builds a genealogical map of market structure.
SOURCE LEVEL (Thick Gold Line): This is the "genesis" point—the most recently mitigated range. It acts as the primary point of origin for the current market swing and serves as a critical level for determining overall bias. Price action above the Source is generally bullish; below is bearish.
S/R LEVELS (Cyan Lines): When a range is mitigated, the price level where it broke becomes a key Support/Resistance zone for the future. ART tracks the two most recent S/R levels, as these often act as powerful magnets or rejection points for price.
3. The Multi-Factor Validation Engine
To eliminate noise and focus only on institutionally significant ranges, every potential range must pass a rigorous quality control check:
Time-Based Consolidation: Requires a minimum number of consecutive inside candles (minInsideCandles), ensuring a true period of balance.
Volatility-Based Significance: The range's size must be greater than a multiple of the Average True Range (minRangeSize), filtering out insignificant micro-consolidations.
Participation Confirmation: The parent candle of the range is checked against average volume to ensure there was meaningful activity during its formation.
⚙️ THE COMMAND CONSOLE: CONFIGURING YOUR ART ENGINE
Every input is designed to give you granular control over the detection engine, allowing you to tune ART to any market or timeframe with precision. Each tooltip in the script provides a deep dive, but here is a summary of the core controls.
🎯 ART Detection Engine
Minimum Inside Candles: The soul of the detection algorithm. It defines the minimum number of bars that must be contained within a single "parent" candle to qualify as a range. Higher values (3-4) find major, significant consolidation zones. Lower values (1-2) are more sensitive and will identify shorter-term accumulation patterns.
Extension Multiplier & Fibonacci Extension: These control the profit target projections. The Extension Multiplier uses a simple measured move (e.g., 1.0 = a 1:1 projection of the range's height). The Fibonacci Extension uses the golden ratio (1.618) for harmonically-derived targets.
Mitigation Method (Cross vs. Close): Determines how a breakout is confirmed. Cross is more responsive, triggering as soon as price touches the extension. Close is more conservative, requiring a full candle to close beyond the level, which helps filter out fake-outs from wicks.
Min Range Size (ATR): A crucial noise filter. It ensures that ART ignores tiny, insignificant ranges by requiring a range's height to be a certain multiple of the current market volatility (ATR).
📊 Display & Visual Configuration
These settings give you full control over the visual interface. You can toggle every single element—from the Webb Scanner to the S/R Levels—to create a clean or a comprehensive view. Choose a color theme that suits your charting environment or define a fully custom palette.
🕸️ Webb Analysis Scanner
This is a unique real-time flow analysis tool. It draws dynamic, animated lines from the current price to recent historical points. This visualization helps reveal hidden "tendrils" of momentum and short-term support/resistance that are not immediately obvious, acting as a "sonar" for immediate price flow.
📊 THE ANALYTICS HUB: YOUR DASHBOARD DECODED
The dashboard provides a real-time, at-a-glance intelligence briefing on the current state of market structure as seen by the ART engine.
RANGE METRICS: This section is a "census" of the market's structure. It tells you the total number of ranges identified, how many are still Pending (awaiting a breakout), how many are Unmitigated (active but not yet broken), and how many have been Mitigated (classified and complete).
TYPE BREAKDOWN: This is a powerful gauge of market character. A high count of Type 1 (Breakout) ranges suggests a strong, trending environment. A rising number of Type 2 (Reversal) ranges can signal market exhaustion and potential trend changes. A dominant Type 3 (Pivot) count indicates a balanced, rotational market.
KEY GUIDE: The Large dashboard includes a full legend, so you never have to guess what a line or color represents. It's your built-in user manual.
🎨 DECODING THE BLUEPRINT: A VISUAL INTERPRETATION GUIDE
Every line and color in ART is designed for instant, intuitive understanding.
The Range Lines:
Yellow Lines: A Pending range. This is an active zone of accumulation. Pay close attention.
Colored Lines (Blue/Orange/Green): An unmitigated, classified range. The color tells you its breakout character.
Dotted Lines: A Mitigated range. Its story has been told. These historical levels can still act as support or resistance.
The Identification Zones: These colored boxes appear at a range's origin point after it has been classified. They are the "birth certificate" of the range, permanently marking its type (Breakout, Reversal, or Pivot) and providing an immediate visual history of market behavior.
The Hierarchical Lines:
Thick Gold Line (Source): The most important line on your chart. It is the anchor for your bias.
Cyan Lines (S/R): High-probability decision points. Expect reactions here.
Purple Dotted Lines (Extensions): Logical, calculated profit targets for breaking ranges.
🔧 THE ARCHITECT'S VISION: THE DEVELOPMENT JOURNEY
ART was born from a deep frustration with the static and subjective nature of traditional market structure analysis. Drawing lines by hand is inconsistent, and most indicators are reactive, only confirming what has already happened. The goal was to create a proactive, objective, and dynamic framework that could think about the market in terms of phases and lifecycles.
The breakthrough came from a simple shift in perspective: a range's true character isn't defined when it forms, but by how it resolves. This led to the development of the "post-breakout classification engine," which waits for the market to show its hand before assigning a definitive type. The Webb Scanner was inspired by the desire to visualize the unseen, to create a tool that could feel the immediate "pull" and "push" of price flow. The result is not just an indicator; it is a new language for interpreting price action, built on a foundation of logic, clarity, and precision.
⚠️ RISK DISCLAIMER & BEST PRACTICES
Advanced Range Theory is a professional-grade analytical tool designed to enhance a trader's decision-making process. It does not provide direct buy or sell signals. The levels and classifications it generates are based on historical price action and mathematical probabilities. All trading involves substantial risk, and past performance is not indicative of future results. Always use this tool in conjunction with a robust risk management plan.
"I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times."
— Dskyz, Trade with insight. Trade with anticipation.
— Bruce Lee
Pivot Channel LevelsPivot Channel Levels
Indicator Description
“Pivot Channel Levels” is an advanced technical analysis tool that identifies key price pivots (highs and lows) and creates dynamic support and resistance levels based on the wicks of candles at these points (or bodies if wicks are minimal). The indicator analyzes the volume at the time of a pivot’s formation, displaying its value and percentage change relative to the volume’s simple moving average (SMA).
It does not generate buy/sell signals but provides a clear visualization of market structure, helping traders identify potential price reaction zones and assess the strength of market movements.
Why Are Wicks Important?
Candle wicks at price pivots indicate significant market reactions in key areas. Depending on the context, they may signal rejection, testing, or absorption of a support or resistance level. Long wicks often appear where large players are active, and the marked zones are frequently retested. The indicator allows for quick identification and observation of their impact on future price action.
Why Use It?
- Precise Support and Resistance Levels: The indicator draws price channels based on candle wicks at pivots (or bodies if wicks are absent), enabling better identification of zones where price may react.
- Volume Analysis: It shows how the volume at a pivot differs from the average, indicating potential activity by large players or key market moments.
- Visual Clarity: Colored lines, channel fills, and clear labels facilitate quick chart analysis, even on short timeframes.
- Flexibility: Adjustable pivot length, volume average, and label colors allow customization to various trading strategies.
How It Works
- Pivot Detection: Automatically identifies local highs and lows based on the “Pivot Length” parameter (default: 20 candles). This means a pivot appears on the chart with a 20-candle delay. Reducing this value allows faster pivot detection (after fewer candles), increasing their number but potentially generating more noise.
- Channel Creation: Draws support and resistance levels based on the wicks of candles at pivot points (or bodies if wicks are minimal) with a delay to confirm zones. A pivot channel is drawn until the next pivot is identified, but if not previously broken, it remains valid as active support or resistance.
- Volume Analysis: Displays the volume at the pivot’s formation and its percentage change relative to the volume’s SMA.
- Visualization: Pivot and channel levels are shown as lines with fills, and labels display volume and its deviation from the average.
Trading Applications
- Swing Trading: Use pivot levels and channels to identify price reversal points or consolidation zones.
- Scalping: Monitor price reactions to channels on short timeframes, especially with high volume.
- Faster Pivot Identification: Switch to a lower timeframe (e.g., from H1 to M15) to identify pivots more quickly, allowing earlier reactions to price changes.
- Market Context Analysis: High volume at pivots may indicate significant levels likely to be retested.
- Combining with Other Tools: The indicator pairs well with Fibonacci retracement, supply/demand zones, or oscillators like RSI.
Settings and Customization
- Pivot Length: Determines how many candles back and forward are analyzed to detect pivots (default: 20). A smaller value increases sensitivity, a larger one enhances stability.
- Volume Average: Length of the SMA for volume (default: 20). Adjust to better reflect market characteristics.
- Label Colors: Choose colors for bullish and bearish pivot labels to match your chart style.
Usage Examples
- Identifying Key Zones: If the price approaches a pivot level with high volume (e.g., +50% relative to SMA), it may signal strong support or resistance.
- Breakout Confirmation: A channel breakout with high volume can indicate trend continuation.
- Price Reaction Analysis: Long wicks at pivots with high volume may signal level rejection by large players.
Notes for Users
- The indicator performs best on highly liquid markets (e.g., Forex, indices, cryptocurrencies).
- On short timeframes (e.g., M1, M5), it may generate more noise—adjust “Pivot Length” to suit your needs.
- Consider combining with other indicators to confirm signals derived from pivot and volume analysis.
ICT Directional FVG Indicator (Buffered SL)This is the first indicator I have ever made, and I am very new to Pine Script. I’ve tried my best to create this as a strategy, but I’m still learning, so please be kind and constructive with your feedback!
ICT Directional FVG Indicator (Buffered SL)
This indicator is designed for traders who follow ICT (Inner Circle Trader) concepts, focusing on Fair Value Gaps (FVGs), liquidity sweeps, and session-based trading. It automatically detects bullish and bearish FVGs, highlights them on the chart, and identifies liquidity sweep events. The indicator features three customizable Kill Zones (London, New York, and Asia sessions), each with independent toggles and color-coded backgrounds for clear visual separation.
Key features:
Fair Value Gap Detection: Highlights bullish and bearish FVGs in real time.
Liquidity Sweep Alerts: Marks potential liquidity sweep events for both highs and lows.
Session Kill Zones: Toggle each Kill Zone (London, New York, Asia) independently; background color changes only in enabled zones.
Trade Signal Visualization: Plots entry, stop loss, and take profit levels based on FVG and sweep logic, with a user-defined stop loss buffer.
Customizable Display: Easily enable or disable FVGs, sweeps, trade levels, and each Kill Zone to suit your strategy.
This tool is ideal for ICT-based traders who want a clear, automated view of FVGs, sweeps, and session activity, with full control over which sessions and signals are displayed.
Time LevelsTime Levels is a customizable TradingView indicator designed to mark critical intraday price levels based on specific time inputs. This tool helps traders identify significant Open/High/Low/Close (OHLC) levels, support & resistance (S&R) zones, and potential Judas Swing manipulation points—aligned with selected timeframes and adjusted to any time zone via UTC offset.
🔧 Key Features:
OHLC/OLHC Levels: Automatically draws horizontal lines at the candle’s open price for up to four specified time points. Ideal for marking session opens, closes, or key intraday levels.
Support & Resistance Zones: Highlights two time-based S&R levels that can help identify discount and premium pricing zones.
Judas Swing Detection: Marks potential liquidity grab zones (Judas Swings) at three user-defined times, assisting in identifying manipulation and smart money entry points.
Global Timezone Support: Includes a UTC offset input to align levels accurately with your trading session, regardless of your location.
Full Customization: Personalize the color, style (solid, dashed, dotted), and thickness of each line independently for OHLC, S&R, and Judas levels.
🛠️ Use Cases:
New York / London open price tracking
ICT-based SMC level marking
Predefined time-based liquidity level visualizations
Institutional-level price reactions (e.g., during specific market opens)
This indicator is best suited for intraday and short-term (especially ICT) traders looking to bring precision and consistency into their technical analysis framework.
StochRSI Context EngineThe StochRSI Context Engine is a premium, logic-driven indicator built to provide comprehensive intraday momentum context using multi-timeframe Stochastic RSI analysis. Rather than issuing direct buy or sell signals, the tool is designed to give traders enhanced clarity on trend posture, overbought/oversold conditions, volatility states, and potential momentum reversals. It combines multiple layers of signal processing to deliver an intelligent overview of market conditions in real time.
What it does:
The indicator performs a multi-timeframe evaluation of the Stochastic RSI, sampling values from four customizable timeframes (default: 5m, 15m, 1h, 4h). These values are blended and processed through a series of analytical engines to provide the following:
1. StochRSI Multi-Timeframe Engine
* Computes a smoothed Stochastic RSI value on each selected timeframe.
* Applies user-defined smoothing (SMA, EMA, RMA, or WMA).
* Aggregates these into an average (sRSIavg) for further analysis.
2. Trend and Volatility Engine
* Uses EMA stacking logic (8, 21, 50) to determine directional alignment.
* Calculates linear regression slope for directional bias.
* Assesses volatility using ATR relative to price.
* Derives a trendScore based on EMA alignment, price position, and slope strength.
3. Bias and Slope Analysis
* Measures fast/slow EMA slope differentials to detect bias direction and strength.
* Computes slope deltas and volatility-weighted stacking to score bias conditions.
* Outputs a classification such as strong bullish, moderate bearish, or neutral.
4. Dynamic OB/OS Zone Detection
* Adapts overbought and oversold thresholds based on volatility and trend regime.
* Adjusts the zone boundaries if in a trending or high-volatility environment.
5. Microzone Proximity Detection
* Tracks whether the average StochRSI is approaching key OB/OS thresholds.
* Flags conditions like “Near Overbought,” “Near Oversold,” or “Mid Range.”
6. Velocity and Acceleration Detection
* Measures how quickly StochRSI values are changing.
* Uses delta calculations to gauge the momentum’s thrust or decay.
* Classifies shifts in RSI movement (e.g., flat, slow, fast, or thrusting).
7. Range Expansion / Compression Engine
* Evaluates whether StochRSI values across timeframes are diverging or compressing.
* Identifies regime changes in momentum coherence.
8. Momentum Scoring System
* Calculates a composite score based on bias, slope strength, volatility, and range.
* Labels momentum phases from dormant to full-throttle.
9. Confluence Detection
* Tallies how many of the 4 timeframes are currently overbought or oversold.
* High confluence increases the probability of valid reversal or continuation zones.
10. Support and Resistance Zone Memory
* Tracks and plots previous areas where StochRSI bounced or rejected near zones.
* Stores and updates these zones over time, acting as momentum-based S/R levels.
* Includes a proximity check to cluster zones that are close in value.
11. Divergence Detection Engine
* Detects classic bullish or bearish divergence between price and the aggregated StochRSI.
* Draws lines to show divergence structure and triggers real-time alerts.
12. Smart Background Highlighting
* Shades the background based on whether current StochRSI is in an overbought, oversold, or
neutral zone.
13. Real-Time Dashboard
* Displays trend, bias, confluence count, velocity, divergence state, momentum score, and
more.
* Dynamically updates and is optimized for top-right screen positioning with compact
formatting.
14. Smart Alerts
* Issues alerts for divergence detection and high-confluence reversal conditions.
15. Real-Time Labels on Curves
* Shows the selected timeframes alongside each plotted StochRSI line to clarify source data.
What it’s based on:
* Stochastic RSI as the core input signal, providing normalized momentum across timeframes.
* EMA stacking logic, adapted from institutional trend-following models.
* Volatility normalization using ATR to adapt thresholds in high vs. low volatility environments.
* Slope forecasting using linear regression to infer directional conviction.
* Bias analysis modeled on a composite of EMA distance, alignment, and directional thrust.
* Support/resistance zone memory derived from repeated interaction with dynamic OB/OS thresholds.
* Divergence logic based on localized price and oscillator peaks/troughs.
* Multi-factor confidence scoring, aggregating up to 6 inputs to rate market clarity.
This script is for educational and informational purposes only. It does not generate trade signals or provide financial advice. It is not intended to be used as a standalone system for trading or investment decisions. Use at your own discretion. Always confirm with your broader strategy and risk management practices.
C&B Auto MK5C&B Auto MK5.2ema BullBear
Overview
The C&B Auto MK5.2ema BullBear is a versatile Pine Script indicator designed to help traders identify bullish and bearish market conditions across various timeframes. It combines Exponential Moving Averages (EMAs), Relative Strength Index (RSI), Average True Range (ATR), and customizable time filters to generate actionable signals. The indicator overlays on the price chart, displaying EMAs, a dynamic cloud, scaled RSI levels, bull/bear signals, and market condition labels, making it suitable for swing trading, day trading, or scalping in trending or volatile markets.
What It Does
This indicator generates bull and bear signals based on the interaction of two EMAs, filtered by RSI thresholds, ATR-based volatility, a 50/200 EMA trend filter, and user-defined time windows. It adapts to market volatility by adjusting EMA lengths and RSI thresholds. A dynamic cloud highlights trend direction or neutral zones, with candlestick coloring in neutral conditions. Market condition labels (current and historical) provide real-time trend and volatility context, displayed above the chart.
How It Works
The indicator uses the following components:
EMAs: Two EMAs (short and long) are calculated on a user-selected timeframe (1, 5, 15, 30, or 60 minutes). Their crossover or crossunder triggers potential bull/bear signals. EMA lengths adjust based on volatility (e.g., 10/20 for volatile markets, 5/10 for non-volatile).
Dynamic Cloud: The area between the EMAs forms a cloud, colored green for bullish trends, red for bearish trends, or a user-defined color (default yellow) for neutral zones (when EMAs are close, determined by an ATR-based threshold). Users can widen the cloud for visibility.
RSI Filter: RSI is scaled to price levels and plotted on the chart (optional). Signals are filtered to ensure RSI is within volatility-adjusted bull/bear thresholds and not in overbought/oversold zones.
ATR Volatility Filter: An optional filter ensures signals occur during sufficient volatility (ATR(14) > SMA(ATR, 20)).
50/200 EMA Trend Filter: An optional filter restricts bull signals to bullish trends (50 EMA > 200 EMA) and bear signals to bearish trends (50 EMA < 200 EMA).
Time Filter: Signals are restricted to a user-defined UTC time window (default 9:00–15:00), aligning with active trading sessions.
Market Condition Labels: Labels above the chart display the current trend (Bullish, Bearish, Neutral) and optionally volatility (e.g., “Bullish Volatile”). Up to two historical labels persist for a user-defined number of bars (default 5) to show recent trend changes.
Visual Aids: Bull signals appear as green triangles/labels below the bar, bear signals as red triangles/labels above. Candlesticks in neutral zones are colored (default yellow).
The indicator ensures compatibility with standard chart types (e.g., candlestick or bar charts) to produce realistic signals, avoiding non-standard types like Heikin Ashi or Renko.
How to Use It
Add to Chart: Apply the indicator to a candlestick or bar chart on TradingView.
Configure Settings:
Timeframe: Choose a timeframe (1, 5, 15, 30, or 60 minutes) to match your trading style.
Filters:
Enable/disable the ATR volatility filter to focus on high-volatility periods.
Enable/disable the 50/200 EMA trend filter to align signals with the broader trend.
Enable the time filter and set custom UTC hours/minutes (default 9:00–15:00).
Cloud Settings: Adjust the cloud width, neutral zone threshold, color, and transparency.
EMA Colors: Use default trend-based colors or set custom colors for short/long EMAs.
RSI Display: Toggle the scaled RSI and its thresholds, with customizable colors.
Signal Settings: Toggle bull/bear labels and set signal colors.
Market Condition Labels: Toggle current/historical labels, include/exclude volatility, and adjust decay period.
Interpret Signals:
Bull Signal: A green triangle or “Bull” label below the bar indicates potential bullish momentum (EMA crossover, RSI above bull threshold, within time window, passing filters).
Bear Signal: A red triangle or “Bear” label above the bar indicates potential bearish momentum (EMA crossunder, RSI below bear threshold, within time window, passing filters).
Neutral Zone: Yellow candlesticks and cloud (if enabled) suggest a lack of clear trend; consider range-bound strategies or avoid trading.
Market Condition Labels: Check labels above the chart for real-time trend (Bullish, Bearish, Neutral) and volatility status to confirm market context.
Monitor Context: Use the cloud, RSI, and labels to assess trend strength and volatility before acting on signals.
Unique Features
Volatility-Adaptive EMAs: Automatically adjusts EMA lengths based on ATR to suit volatile or non-volatile markets, reducing manual configuration.
Neutral Zone Detection: Uses an ATR-based threshold to identify low-trend periods, helping traders avoid choppy markets.
Scaled RSI Visualization: Plots RSI and thresholds directly on the price chart, simplifying momentum analysis relative to price.
Flexible Time Filtering: Supports precise UTC-based trading windows, ideal for day traders targeting specific sessions.
Historical Market Labels: Displays recent trend changes (up to two) with a decay period, providing context for market shifts.
50/200 EMA Trend Filter: Aligns signals with the broader market trend, enhancing signal reliability.
Notes
Use on standard candlestick or bar charts to ensure accurate signals.
Test the indicator on a demo account to optimize settings for your market and timeframe.
Combine with other analysis (e.g., support/resistance, volume) for better decision-making.
The indicator is not a standalone system; use it as part of a broader trading strategy.
Limitations
Signals may lag in fast-moving markets due to EMA-based calculations.
Neutral zone detection may vary in extremely volatile or illiquid markets.
Time filters are UTC-based; ensure your platform’s timezone settings align.
This indicator is designed for traders seeking a customizable, trend-following tool that adapts to volatility and provides clear visual cues with robust filtering for bullish and bearish market conditions.






















