Session Sweeps [LuxAlgo]The Session Sweeps indicator combines ICT-based features for a complete trading methodology involving market sessions, market structure, and fair value gaps to find optimal entry conditions for trading price action.
Traders frequently tend to place stop/limit orders at the high and low points of major trading sessions such as Asian (Tokyo), European (London), and North American (New York), resulting in the establishment of liquidity pools at those particular levels. The Session Sweeps indicator is crafted to recognize and underscore occurrences of session sweeps or liquidity sweeps during these major trading sessions.
🔶 USAGE
Default settings utilize major forex trading sessions, yet users can select their preferred opening and closing times, rename the sessions, or adjust the colors. It's important to note that the specified times for each session align with the respective local timezones: Asian (Tokyo) UTC+9, European (London) UTC, and North American (New York) UTC-5.
If the price briefly crosses either the highest or lowest point of a market session. These movements, aiming at triggering stop losses, suggest potential shifts in the market direction. Detecting such movements is the fundamental purpose and core functionality of the script.
🔹Market Structure Shifts
A Market Structure Shift refers to a change in market direction, either from an uptrend to a downtrend or vice versa. A part of a common entry model when using session sweeps is waiting for the formation of a CHoCH after a session sweep.
🔹Fair Value Gaps
A Fair Value Gap (FVG) holds particular appeal for price action traders, emerging when there are inefficiencies or imbalances in the market, often a result of uneven buying and selling activity. The underlying concept of FVGs is that the market tends to revisit these inefficiencies before resuming its trajectory in alignment with the initial impulsive move.
After the formation of a CHoCH traders can enter a position when the price enters the area of a Fair Value Gap (FVG).
🔹Setup Examples
This entry setup is commonly used by ICT traders and is shared for informational & educational purposes only.
Long Positions (5-Minute Timeframe):
Wait for the previous session's low to be swept.
Look for a Bullish Choch.
Find a Bullish FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the session high or aim for a 1:2 Risk-Reward Ratio.
Stop Loss (SL): At the session low or nearest Swing Low.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
Short Positions (5-Minute Timeframe):
Wait for the previous session's high to be swept.
Look for a Bearish Choch.
Find a FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the previous session's low or aim for a 1:2 RR.
Stop Loss (SL): At the session high or nearest Swing High.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
🔶 SETTINGS
🔹Session Sweeps
Buyside Sweep Zones, Color, and Margin: toggles the visibility of bullside sweep zones, customizes the associated color, and sets the margin value defining the range of a bullside sweep zone.
Sellside Sweep Zones, Color, and Margin: toggles the visibility of sell-side sweep zones, customizes the associated color, and sets the margin value defining the range of a sell-side sweep zone.
Sweep Margin Length: specifies the maximum allowed length of a sweep zone invalidation, the length over which the price slightly invalidated the margin range.
Detect Sweeps Once per Session: if enabled will detect only once a sweep zone within a session.
Hide Fake Sweep Zones, and Color: controls the visibility and color of the fake sweep zones.
🔹Sessions
Session (Asia, London, New York AM, and New York PM), Start Time, and End Time: enables or disables the visibility of the named market session range, and customization of the session hours.
Color: color customization option of the named session.
Extend Max/Min: extends the highest and lowest price levels of the named session until the end of the next enabled session. This option is recommended to be enabled when sweep zone detection is activated to observe the relationship between the sweep zone and previous session extreme levels.
Extend Mid: extends the mean price levels of the named session until the end of the next enabled session. The extended line may serve as potential support and resistance levels.
Fill: enables/disables background coloring of the named session.
New York DST | London DST: enabling this option initiates Daylight Saving Time (DST) for New York or London. Note: Daylight Saving Time is not applied to the Asian (Tokyo) session.
Sessions Extreme Lines | Sessions Names: toggles the visibility of the highest and lowest price levels, as well as the names, for all market sessions.
Session Lines Width: sets the width of the lines for all sessions.
Session Fill Transparency: sets the background color transparency of the range for all sessions.
🔹Market Structure Shifts
Market Structure Shifts: toggles the visibility of market structure shifts, also known as change of character (CHoCH).
Detection Length: specifies the detection length.
Market Structure Shifts; Bull & Bear: color customization options.
🔹Fair Value Gaps
Fair Value Gaps: toggles the visibility of the fair value gaps.
Fair Value Gap Width Filter: specifies the filtering multiplier; additional details can be found in the tooltip of the respective input option.
Bullish & Bearish Imbalance: color customization options.
🔹Sessions Tabular View
Sessions Tabular View: toggles the visibility of the tabular view of the sessions, displaying date &time, status, and countdown counter.
Hide if not Forex Market Instrument: checks the market and automatically enables/disables the option based on the market instrument.
Table Text Size & Position: size and placement customization options
🔶 LIMITATIONS
Please be aware that fair value gap filtering cannot be applied to the initial 144 candles (with a fixed-length ATR) as the ATR value necessary for filtering won't be available during this period.
🔶 RELATED SCRIPTS
Buyside-Sellside-Liquidity
Sessions
Liquidity-Voids-FVG
Thank you to our community for the recommendation of this script. To explore additional conceptual scripts and related content, we invite you to visit >>> LuxAlgo-Scripts .
Recherche dans les scripts pour "zone"
Support Resistance with Touch HighlightDescription:
Support Resistance with Touch Highlight is a powerful technical analysis tool designed to help traders identify key support and resistance levels in the market. Unlike traditional support and resistance indicators, this indicator utilizes a unique approach by considering multiple periods simultaneously, enhancing its accuracy and reliability.
Key Features:
- **Multi-Period Analysis:** The indicator analyzes multiple user-defined periods, allowing for a comprehensive view of support and resistance levels.
- **Average Calculation:** It calculates the average of the highest and lowest prices within the specified periods, providing a balanced representation of support and resistance zones.
- **Dynamic Highlighting:** Bars touching the support or resistance lines are highlighted, aiding traders in spotting potential reversal points.
- **Alert System:** Set custom alerts to be notified when the price touches the support or resistance lines, enabling timely decision-making.
Why It's Superior:
1. **Accuracy Through Multiple Periods:** By considering multiple periods, the indicator provides a more accurate depiction of support and resistance levels, minimizing false signals.
2. **Dynamic Highlighting:** The indicator dynamically highlights relevant bars, making it easy for traders to identify significant price interactions with support and resistance zones.
3. **Customizable Alerts:** Tailor alerts to your trading strategy, ensuring you never miss crucial market movements.
How to Use:
- **Support Zones:** Prices often bounce off the support line. Look for buying opportunities when the price touches or approaches the green support line.
- **Resistance Zones:** Prices tend to reverse near the resistance line. Consider selling or tightening stops when the price touches or nears the red resistance line.
Disclaimer:
Trading involves risk, and past performance is not indicative of future results. Always perform your analysis and consider risk management strategies before making trading decisions.
GDCA ScreenerThis is upgrated system for Screener to DCA from "Grospector DCA V.3".
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.
Price Type: Allows the user to select the price type (open, high, low, close) for calculations.
ALL SET
Length MA for normal zone: The length of the moving average used in the normal zone.
Length for strong zone: The length of the moving average used in the strong zone, which is averaged from the normal zone moving average.
Multiple for Short: The multiplication factor applied to determine the threshold for the short zone.
Multiple for Strong Sell: The multiplication factor applied to determine the threshold for the strong sell zone.
Multiple for Sell Zone: The multiplication factor applied to determine the threshold for the sell zone.
Multiple for Buy Zone: The multiplication factor applied to determine the threshold for the buy zone.
Multiple for Strong Buy: The multiplication factor applied to determine the threshold for the strong buy zone.
Multiple for Long: The multiplication factor applied to determine the threshold for the long zone.
ZONE
Start Short Zone %: The start percentage of the short zone.
End Short Zone %: The end percentage of the short zone.
Start Sell Zone %: The start percentage of the sell zone.
End Sell Zone %: The end percentage of the sell zone.
Start Normal Zone %: The start percentage of the normal zone.
End Normal Zone %: The end percentage of the normal zone.
Start Buy Zone %: The start percentage of the buy zone.
End Buy Zone %: The end percentage of the buy zone.
Start Long Zone %: The start percentage of the long zone.
End Long Zone %: The end percentage of the long zone.
DISPLAY
Show Price: Controls the visibility of the price column in the display table.
Show Mode: Controls the visibility of the mode column in the display table.
Show GDCA: Controls the visibility of the GDCA column in the display table.
Show %: Controls the visibility of the percentage column in the display table.
Show Short: Controls the visibility of the short column in the display table.
Show Strong Sell: Controls the visibility of the strong sell column in the display table.
Show Sell: Controls the visibility of the sell column in the display table.
Show Buy: Controls the visibility of the buy column in the display table.
Show Strong Buy: Controls the visibility of the strong buy column in the display table.
Show Long: Controls the visibility of the long column in the display table.
Show Suggestion Trend: Controls the visibility of the suggestion trend column in the display table.
Show Manual Custom Code: Controls the visibility of the manual custom code column in the display table.
Show Dynamic Trend: Controls the visibility of the dynamic trend column in the display table.
Symbols: Boolean parameters that control the visibility of individual symbols in the display table.
Mode: Integer parameters that determine the mode for each symbol, specifying different settings or trends.
My mindset has been customed = AAPL , MSFT
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
Volume Orderbook (Expo)█ Overview
The Volume Orderbook indicator is a volume analysis tool that visually resembles an order book. It's used for displaying trading volume data in a way that may be easier to interpret or more intuitive for certain traders, especially those familiar with order book analysis.
This indicator aggregate and display the total trading volume at different price levels over the entire range of data available on the chart, similar to how an order book displays current buy and sell orders at different price levels. However, unlike a real-time order book, it only considers historical trading data, not current bid and ask orders. This provides a 'historical order book' of sorts, indicating where most trading activities have taken place.
Summary
This is a volume-based indicator that shows the volume traded at specific price levels, highlighting areas of high and low activity.
█ Calculations
The algorithm operates by calculating the cumulative volume traded in each specific price zone within the range of data displayed on the chart. The length of each horizontal bar corresponds to the total volume of trades that occurred within that particular price zone.
In essence, when the price is in a specific zone, the volume is added to the bar representing that zone. A thicker bar implies a larger price zone, meaning that more volume is accumulated within that bar. Therefore, the thickness of the bar visually indicates the amount of trading activity that took place within the associated price zone.
█ How to use
The Volume Orderbook indicator serves as a beneficial tool for traders by identifying key price levels with a significant amount of trading activity. These high-volume areas could represent potential support or resistance levels due to the large number of orders situated there. The indicator's ability to spotlight these zones might be particularly advantageous in pinpointing breakouts or breakdowns when prices move beyond these high-volume regions. Moreover, the indicator could also assist traders in recognizing anomalies, such as when an unusually large volume of trades occurs at unconventional price levels.
Identify Key Price Levels: The indicator highlights high-volume areas where a significant number of trades have occurred, which could act as potential support or resistance levels. This is based on the notion that many traders have established positions at these prices, so these levels may serve as significant areas for market activity in the future.
Volume Nodes: These are the peaks (high-volume areas) and troughs (low-volume areas) seen on the indicator. High-volume nodes represent price levels at which a large amount of volume has been traded, typically areas of strong support or resistance. Conversely, low-volume nodes, where very little volume has been traded, indicate price levels that traders have shown little interest in the past and could potentially act as barriers to price. It's important to note that while high trading volume can imply significant market interest, it doesn't always mean the price will stop or reverse at these levels. Sometimes, prices can quickly move through high-volume areas if there are no current orders (demand) to match with the new orders (supply).
Analyze Market Psychology: The distribution of volume across different price levels can provide insights into the market's psychology, revealing the balance of power between buyers and sellers.
Highlight Potential Reversal Points: The indicator can help identify price levels with high traded volume where the market might be more likely to reverse since these levels have previously attracted significant interest from traders.
Validate Breakouts or Breakdowns: If the price moves convincingly past a high-volume node, it could indicate a strong trend, suggesting a potential breakout or breakdown. Conversely, if the price struggles to move past a high-volume node, it could suggest that the trend is weak and might potentially reverse.
Trade Reversals: High-volume areas could also indicate potential turning points in the market. If the price reaches these levels and then starts to move away, it might suggest a possible price reversal.
Confirm Other Signals: As with all technical indicators, the "Volume Orderbook" should ideally be used in conjunction with other forms of technical and fundamental analysis to confirm signals and increase the odds of successful trades.
Summary
The Volume Orderbook indicator allows traders to identify key price levels, analyze market psychology, highlight potential reversal points, validate breakouts or breakdowns, confirm other trading signals, and anticipate possible trade reversals, thereby serving as a robust tool for trading analysis.
█ Settings
Source: The user can select the source, the default of which is "close." This implies that volume is added to the volume order book when the closing price falls within a specific zone. Users can modify this to any indicator present on their chart. For example, if it's set to an SMA (Simple Moving Average) of 20, the volume will be added to the volume order book when the SMA 20 falls within the specific zone.
Rows and width: These settings allow users to adjust the representation of volume order book zones. "ROWS" pertains to the number of volume order book zones displayed, while "WIDTH" refers to the breadth of each zone.
Table and Grid: These settings allow traders to customize the Volume order-book's position and appearance. By adjusting the "left" parameter, users can shift the position of the Volume order book on the chart; a higher value pushes the order book further to the right. Additionally, users can enable "Table Border" and "Table Grid" options to add gridlines or borders to the Volume order book for easier viewing and interpretation.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
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!
NX - ICT PD Arrays (Enhanced) FVG & ORDER BLOCKS # NX - ICT PD Arrays (Enhanced) - Algorithm Explainer
This indicator identifies high-probability Fair Value Gaps (FVGs) and Order Blocks (OBs) using Inner Circle Trader concepts with intelligent filtering to show only the most significant institutional footprints.
## How It Works
**Smart Filtering System:**
The algorithm uses a multi-factor scoring system (0-100 points) to evaluate each potential zone:
**For FVGs (Fair Value Gaps):**
- Gap size relative to ATR volatility (0-40 pts)
- Price displacement strength (0-40 pts)
- Formation at swing high/low structure (bonus 20 pts)
- Only displays zones scoring 25+ points
**For Order Blocks:**
- Block size relative to ATR (0-30 pts)
- Displacement momentum (0-35 pts)
- Swing point formation (bonus 15 pts)
- Market structure break confirmation (bonus 20 pts)
- Only displays zones scoring 30+ points
**Key Features:**
- ATR-normalized sizing filters out noise across all timeframes
- Swing detection identifies structurally significant levels
- Displacement percentage measures institutional momentum
- Optional structure break requirement for highest-probability OBs
- Zones extend until price fills them completely
**Adjustable Controls:**
Fine-tune sensitivity via displacement %, ATR multiples, and swing lookback parameters to match your trading style and market conditions.
Multi-Timeframe Levels (Daily & Weekly)// ═══════════════════════════════════════════════════════════════════════════════
// 📊 MULTI-TIMEFRAME LEVELS INDICATOR
// ═══════════════════════════════════════════════════════════════════════════════
//
// ┌─────────────────────────────────────────────────────────────────────────────┐
// │ 🎯 LEVEL COLORS & MEANING │
// ├─────────────────────────────────────────────────────────────────────────────┤
// │ 🟡 YELLOW (PDH/PDL) = Previous Day High/Low - PRIMARY intraday S/R │
// │ 🟣 PURPLE (PD2H/PD2L) = 2 Days Ago High/Low - SECONDARY confluence │
// │ 🔴 RED (PWH/PWL) = Previous Week High/Low - MAJOR swing levels │
// └─────────────────────────────────────────────────────────────────────────────┘
//
// ═══════════════════════════════════════════════════════════════════════════════
// ⚡ SCALPING STRATEGY (1-5 min charts)
// ═══════════════════════════════════════════════════════════════════════════════
//
// 📍 ENTRY ZONES:
// • Look for price entering 🟡 YELLOW zones (PDH/PDL)
// • Best setups: Price rejects from zone with strong candle pattern
// • Extra confirmation: Zone overlaps with 🟣 PURPLE (confluence)
//
// ✅ BUY SCALP:
// 1. Price touches PDL zone (yellow) from above
// 2. Wait for bullish rejection candle (hammer, engulfing)
// 3. Enter long with stop below the zone
// 4. Target: Mid-range or PDH zone
//
// ❌ SELL SCALP:
// 1. Price touches PDH zone (yellow) from below
// 2. Wait for bearish rejection candle (shooting star, engulfing)
// 3. Enter short with stop above the zone
// 4. Target: Mid-range or PDL zone
//
// 💡 SCALP TIPS:
// • Avoid trading THROUGH zones - wait for rejection
// • Tighter stops when trading during high volume (9:30-11:00 AM)
// • Skip setups if price is choppy inside the zone
//
// ═══════════════════════════════════════════════════════════════════════════════
// 📈 SWING TRADING STRATEGY (15min - Daily charts)
// ═══════════════════════════════════════════════════════════════════════════════
//
// 📍 HIGH PROBABILITY ZONES:
// • 🔴 RED zones (PWH/PWL) = Primary swing entries
// • Best setups: 🔴 RED + 🟡 YELLOW confluence (weekly + daily align)
// • Monster setups: All 3 colors stack at same price area
//
// ✅ SWING LONG:
// 1. Price drops into PWL zone (red) - weekly support
// 2. Bonus: PDL (yellow) is nearby = confluence
// 3. Wait for daily/4H bullish reversal pattern
// 4. Enter with stop below the zone cluster
// 5. Target: PWH or next major resistance
//
// ❌ SWING SHORT:
// 1. Price rallies into PWH zone (red) - weekly resistance
// 2. Bonus: PDH (yellow) is nearby = confluence
// 3. Wait for daily/4H bearish reversal pattern
// 4. Enter with stop above the zone cluster
// 5. Target: PWL or next major support
//
// 💡 SWING TIPS:
// • Weekly levels (red) have highest reversal probability
// • More confluence = higher win rate, use larger position
// • Let winners run when breaking through weekly levels
//
// ═══════════════════════════════════════════════════════════════════════════════
// 🚀 BREAKOUT STRATEGY
// ═══════════════════════════════════════════════════════════════════════════════
//
// 📍 BREAKOUT SIGNALS:
// • Price closes ABOVE PDH/PWH with volume = Bullish breakout
// • Price closes BELOW PDL/PWL with volume = Bearish breakout
//
// ✅ TRADING BREAKOUTS:
// 1. Wait for candle CLOSE beyond the level (not just wick)
// 2. Volume should be above average
// 3. Enter on retest of broken level (now becomes support/resistance)
// 4. Stop: Below/above the breakout candle
//
// ⚠️ AVOID FALSE BREAKOUTS:
// • Don't chase - wait for pullback to broken level
// • Skip if breakout happens on low volume
// • Be cautious of breakouts into higher timeframe zones
//
// ═══════════════════════════════════════════════════════════════════════════════
// 📋 QUICK REFERENCE
// ═══════════════════════════════════════════════════════════════════════════════
//
// │ Level │ Color │ Best For │ Hold Time │ Stop Size │
// ├──────────┼────────┼─────────────────┼──────────────┼─────────────┤
// │ PDH/PDL │ 🟡 │ Scalps/Day │ Minutes-Hours│ Tight │
// │ PD2H/PD2L│ 🟣 │ Confluence │ Hours │ Medium │
// │ PWH/PWL │ 🔴 │ Swings │ Days-Weeks │ Wide │
//
// 🔥 GOLDEN RULE: Never fight the weekly level (red) - it's the boss!
//
// ═══════════════════════════════════════════════════════════════════════════════
ICT OTE - Clean v6 (Indicator)ICT OTE — Indicator (Pine v6)
Comprehensive Guide & Rule-Based Trade Plan
This guide explains how to read and trade the Pine v6 indicator version of ICT’s Optimal Trade Entry (OTE). It covers chart elements, the 62–79% OTE zone (with 70.5% mid), confirmation logic, kill-zone gating, rule-based entries/stops/targets, and practical workflows.
1. Overview
The Optimal Trade Entry (OTE) is a core ICT concept that locates high-probability entries inside a Fibonacci retracement window between 62% and 79%, with 70.5% often used as a precise mid level. The indicator highlights that zone for the latest impulse (swing low to swing high for bullish, swing high to swing low for bearish), prints signal labels when price retraces into the box and a confirmation candle forms, and plots visual stop-loss and 1R/2R targets from your chosen entry line (62/70.5/79).
2. What the Indicator Draws
• OTE Box (62–79%): A green box for bullish OTE (drawn between 62% and 79% of the latest bullish impulse) and a red box for bearish OTE (drawn between 62% and 79% retracement of the latest bearish impulse).
• 70.5% Mid Line: A horizontal line through the OTE box at 70.5% (optional).
• Entry Line: Your selected entry reference: Top 62%, Mid 70.5%, or Bottom 79%.
• Signal Labels: ‘OTE Long’ appears when price touches the bullish OTE box and a confirmation candle prints; ‘OTE Short’ for the bearish side.
• Stop-Loss Guide: For longs: swing low of the dealing range; for shorts: swing high of the dealing range (visual plot).
• 1R/2R Target Lines: Two projected lines from the chosen entry to visualize 1R and 2R objectives (purely visual).
• Kill-Zone Shading (optional): Grey shading during London, NY-AM, and NY-PM windows, if gating is enabled.
3. Inputs & Settings
• Pivot Left/Right: Swing detection for impulses using pivot highs/lows (default 3/3).
• Draw OTE Box: Toggle drawing the 62–79% zone.
• Plot 70.5% Mid Line: Toggle the mid-line inside OTE.
• Entry Line: Choose the visual entry anchor (62% / 70.5% / 79%).
• Confirmation: Require a strong candle (default: close > open + continuation vs prior bar for longs; inverse for shorts).
• Stop/Targets: Toggle plotting the swing SL and 1R/2R targets.
• Kill-Zone Gating: If enabled, signals only fire in London (02:00–05:00 NY), NY-AM (08:00–11:00 NY), and NY-PM (13:00–15:00 NY).
• OTE Box Opacity: Adjust visual opacity of the box (default 85).
4. Rule-Based Entry Model
Use these steps exactly; do not skip.
1. Window: Optional — ensure you are inside an ICT kill-zone (London / NY-AM / NY-PM) if gating is enabled.
2. Impulse: Confirm the latest dealing range (pivot-based). Bullish = last swing low precedes last swing high; bearish = last swing high precedes last swing low.
3. OTE Box: Ensure price retraces into the 62–79% zone for the active impulse.
4. Confirmation: Wait for the required confirmation candle (strong or basic, per setting).
5. Entry Anchor: Use your selected line (62/70.5/79) as the reference for planning the fill.
6. Stops: Place SL at the swing extreme of the dealing range (longs: swing low; shorts: swing high).
7. Targets: Map 1R and 2R visual levels from the entry. Optionally prefer opposite liquidity or prior swing if closer (manual).
5. How to Read the Chart Step-by-Step
• Check background shading: are you inside a kill-zone (if enabled)?
• Identify the latest swing high/low markers (dealing range).
• Locate the OTE box for that impulse; confirm price retraced into the box.
• Inspect the confirmation candle: strong body and continuation (for longs: close > open AND close > prior high; for shorts: mirror).
• Use the entry line (62/70.5/79) as the reference; map SL and 1R/2R lines.
• If a signal label prints (‘OTE Long’ or ‘OTE Short’), you have alignment: timing, retracement, and confirmation.
6. Examples
Example Long (NY-AM): Price makes an impulse up (swing low then swing high). During NY-AM kill-zone, price retraces into the green OTE box. A strong bullish candle forms. Entry reference: 70.5% mid. SL at the swing low. Visual TP1/TP2 at 1R/2R.
Example Short (London): Price makes a bearish impulse (swing high then swing low). During London kill-zone, price retraces into the red OTE box. A strong bearish candle forms. Entry reference: 62%. SL at the swing high. Visual TP1/TP2 at 1R/2R.
7. Risk Management
• Fixed percent per trade: e.g., 1% risk relative to account equity (visual targets help sizing).
• One signal per kill-zone window: avoid overtrading inside the same hour.
• Respect invalidations: if a full body closes through the entire box or structure fails, stand down.
• Favor time/volatility windows for execution; avoid thin hours unless testing.
8. Common Pitfalls
• Forcing entries outside OTE: wait for a proper 62–79% retrace.
• Ignoring impulse definition: use confirmed pivots to avoid measuring from noise.
• Skipping confirmation: entries without a qualifying candle are lower quality.
• Inconsistent stops: SL belongs at the impulse extreme; avoid random micro-level stops.
• No timing discipline: kill-zone gating exists to filter low-probability periods.
9. Indicator Parameters — Quick Reference
• Pivot Left/Right: controls swing detection sensitivity (higher = stricter).
• Entry line: choose between 62%, 70.5%, and 79% for your signal anchor.
• Confirmation strength: toggle strong vs basic candle validation.
• Kill-zone gating: optional session-based signal filtering.
• Opacity/colors: cosmetic; adjust to your chart style.
10. Workflow Checklist
• Is the impulse correctly identified (pivot low/high order)?
• Is price inside the OTE box (62–79%)?
• Did the confirmation candle print?
• Is signal gating satisfied (if enabled)?
• Is SL mapped to the impulse extreme?
• Are 1R/2R levels clear from the entry?
• Any scheduled macro events in the window? (avoid surprise volatility).
11. References (ICT OTE & Kill-Zones)
• ICT Fibonacci / OTE levels: 62–79% with 70.5% mid — multiple tutorials and guides.
• ICT Kill-Zones: commonly used London / New York windows for timing entries.
Supply & Demand (10-MTF) | StableThe Supply & Demand (10-MTF) indicator is a sophisticated technical analysis tool designed to identify high-probability institutional "buy" and "sell" zones across ten different timeframes simultaneously.
Core Functionality
The indicator works by scanning for displacement—sharp, aggressive price movements that leave behind "unfilled orders."
Zone Identification: It identifies a "Base" (the candle before the move) and a "Leg-out" (the momentum candles). If the leg-out meets your momentum strength requirements, a zone is drawn.
Multi-Timeframe Aggregation: Instead of switching between charts, a trader can see 1H Supply, 4H Demand, and Daily Supply zones all layered on a 5-minute chart.
Real-Time Invalidation: The indicator tracks whether price has "mitigated" (broken) a zone. Once a zone is breached by a wick or a close (depending on your settings), it can be hidden or marked as historic.
Why It’s Useful for Traders
1. Confluence Mapping (The "Nest" Strategy)
The most powerful use of this tool is finding Nested Zones. When a 15-minute Demand zone resides inside a 4-hour Demand zone, the probability of a reversal is significantly higher. This indicator makes these high-confluence areas visually obvious.
2. Institutional Footprint Tracking
Institutions do not buy or sell everything at once; they leave footprints in the form of supply and demand imbalances. This tool helps retail traders avoid "buying the top" or "selling the bottom" by showing where the big money actually entered the market.
3. Dynamic Stop Loss & Take Profit
Stop Loss: Traders can place stops just outside the structural boundary of a zone.
Take Profit: Traders can use the opposing HTF (Higher Timeframe) supply zone as a natural target for a long trade.
4. Time Efficiency
Managing 10 timeframes manually is mentally exhausting. This indicator automates the "top-down analysis" process, allowing you to focus on execution rather than chart flipping.
KTBB Intel: Multi-Timeframe ContextKabroda Intel
This is the official structural companion tool for the Kabroda System. While the "BattleBox Command" script handles specific intraday execution levels, this Kabroda Intel utility visualizes Multi-Timeframe Market Structure to provide broader context.
How It Works (Technical Logic): This script automates the analysis of higher-timeframe structure using standard Pivot High/Low logic, preventing the need for traders to manually switch timeframes.
Scanning: It utilizes request.security() to scan the user-defined Primary (default: 4H) and Secondary (default: 1H) timeframes.
Calculation: It identifies significant structural pivots using ta.pivothigh and ta.pivotlow functions with a customizable lookback period.
Data Integrity: It uses barmerge.lookahead_on with specific index offsets to ensure the data is non-repainting and represents confirmed closed-candle structure only.
Key Features:
Macro Context: Projects 4-Hour Supply & Demand zones directly onto your 5m or 15m execution chart.
Intraday Structure: Highlights 1-Hour breakdown/breakout levels that often act as "speed bumps" for intraday trends.
Zone Visualization:
Red Zones: 4H Supply / Major Resistance.
Green Zones: 4H Demand / Major Support.
Orange/Blue Zones: 1H Intraday Pivots.
Usage Guide:
Step 1: Add this indicator to your chart.
Step 2: Ensure it is running alongside the Kabroda BattleBox Command script.
Step 3: Use these zones as "Caution Areas." Do not execute trades directly into a Red 4H Zone, even if your lower timeframe triggers suggest a breakout. Context overrides execution.
Disclaimer: This tool is for structural analysis only. It identifies historical pivot points and projects them forward as potential areas of interest.
Ultimate MACD [captainua]Ultimate MACD - Comprehensive MACD Trading System
Overview
This indicator combines traditional MACD calculations with advanced features including divergence detection, volume analysis, histogram analysis tools, regression forecasting, strong top/bottom detection, and multi-timeframe confirmation to provide a comprehensive MACD-based trading system. The script calculates MACD using configurable moving average types (EMA, SMA, RMA, WMA) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
Core Calculations
MACD Calculation:
The script calculates MACD using the standard formula: MACD Line = Fast MA - Slow MA, Signal Line = Moving Average of MACD Line, Histogram = MACD Line - Signal Line. The default parameters are Fast=12, Slow=26, Signal=9, matching the traditional MACD settings. The script supports four moving average types:
- EMA (Exponential Moving Average): Standard and most responsive, default choice
- SMA (Simple Moving Average): Equal weight to all periods
- RMA (Wilder's Moving Average): Smoother, less responsive
- WMA (Weighted Moving Average): Recent prices weighted more heavily
The price source can be configured as Close (standard), Open, High, Low, HL2, HLC3, or OHLC4. Alternative sources provide different sensitivity characteristics for various trading strategies.
Configuration Presets:
The script includes trading style presets that automatically configure MACD parameters:
- Scalping: Fast/Responsive settings (8,18,6 with minimal smoothing)
- Day Trading: Balanced settings (10,22,7 with minimal smoothing)
- Swing Trading: Standard settings (12,26,9 with moderate smoothing)
- Position Trading: Smooth/Conservative settings (15,35,12 with higher smoothing)
- Custom: Full manual control over all parameters
Histogram Smoothing:
The histogram can be smoothed using EMA to reduce noise and filter minor fluctuations. Smoothing length of 1 = raw histogram (no smoothing), higher values (3-5) = smoother histogram. Increased smoothing reduces noise but may delay signals slightly.
Percentage Mode:
MACD values can be converted to percentage of price (MACD/Close*100) for cross-instrument comparison. This is useful when comparing MACD signals across instruments with different price levels (e.g., BTC vs ETH). The percentage mode normalizes MACD values, making them comparable regardless of instrument price.
MACD Scale Factor:
A scale factor multiplier (default 1.0) allows adjusting MACD display size for better visibility. Use 0.3-0.5 if MACD appears too compressed, or 2.0-3.0 if too small.
Dynamic Overbought/Oversold Levels:
Overbought and oversold levels are calculated dynamically based on MACD's mean and standard deviation over a lookback period. The formula: OB = MACD Mean + (StdDev × OB Multiplier), OS = MACD Mean - (StdDev × OS Multiplier). This adapts to current market conditions, widening in volatile markets and narrowing in calm markets. The lookback period (default 20) controls how quickly the levels adapt: longer periods (30-50) = more stable levels, shorter (10-15) = more responsive.
OB/OS Background Coloring:
Optional background coloring can highlight the entire panel when MACD enters overbought or oversold territory, providing prominent visual indication of extreme conditions. The background colors are drawn on top of the main background to ensure visibility.
Divergence Detection
Regular Divergence:
The script uses the MACD line (not histogram) for divergence detection, which provides more reliable signals. Bullish divergence: Price makes a lower low while MACD line makes a higher low. Bearish divergence: Price makes a higher high while MACD line makes a lower high. Divergences often precede reversals and are powerful reversal signals.
Pivot-Based Divergence:
The divergence detection uses actual pivot points (pivotlow/pivothigh) instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and MACD line. The pivot-based method compares two recent pivot points: for bullish divergence, price makes a lower low while MACD makes a higher low at the pivot points. This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period.
The pivot lookback parameters (left and right) control how many bars on each side of a pivot are required for confirmation. Higher values = more conservative pivot detection.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low but MACD makes a lower low. Bearish hidden divergence: Price makes a lower high but MACD makes a higher high. These patterns indicate the trend is likely to continue in the current direction.
Zero-Line Filter:
The "Don't Touch Zero Line" option ensures divergences occur in proper context: for bullish divergence, MACD must stay below zero; for bearish divergence, MACD must stay above zero. This filters out divergences that occur in neutral zones.
Range Filtering:
Minimum and maximum lookback ranges control the time window between pivots to consider for divergence. This helps filter out divergences that are too close together (noise) or too far apart (less relevant).
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 1.0 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired. Volume confirmation significantly increases divergence and signal reliability.
Volume Climax and Dry-Up Detection:
The script can mark bars with extremely high volume (volume climax) or extremely low volume (volume dry-up). Volume climax indicates potential reversal points or strong momentum continuation. Volume dry-up indicates low participation and may produce unreliable signals. These markers use standard deviation multipliers to identify extreme volume conditions.
Zero-Line Cross Detection
MACD zero-line crosses indicate momentum shifts: above zero = bullish momentum, below zero = bearish momentum. The script includes alert conditions for zero-line crosses with cooldown protection to prevent alert spam. Zero-line crosses can provide early warning signals before MACD crosses the signal line.
Histogram Analysis Tools
Histogram Moving Average:
A moving average applied to the histogram itself helps identify histogram trend direction and acts as a signal line for histogram movements. Supports EMA, SMA, RMA, and WMA types. Useful for identifying when histogram momentum is strengthening or weakening.
Histogram Bollinger Bands:
Bollinger Bands are applied to the MACD histogram instead of price. The calculation: Basis = SMA(Histogram, Period), StdDev = stdev(Histogram, Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around the histogram that adapt to histogram volatility. When the histogram touches or exceeds the bands, it indicates extreme conditions relative to recent histogram behavior.
Stochastic MACD (StochMACD):
Stochastic MACD applies the Stochastic oscillator formula to the MACD histogram instead of price. This normalizes the histogram to a 0-100 scale, making it easier to identify overbought/oversold conditions on the histogram itself. The calculation: %K = ((Histogram - Lowest Histogram) / (Highest Histogram - Lowest Histogram)) × 100. %K is smoothed, and %D is calculated as the moving average of smoothed %K. Standard thresholds are 80 (overbought) and 20 (oversold).
Regression Forecasting
The script includes advanced regression forecasting that predicts future MACD values using mathematical models. This helps anticipate potential MACD movements and provides forward-looking context for trading decisions.
Regression Types:
- Linear: Simple trend line (y = mx + b) - fastest, works well for steady trends
- Polynomial: Quadratic curve (y = ax² + bx + c) - captures curvature in MACD movement
- Exponential Smoothing: Weighted average with more weight on recent values - responsive to recent changes
- Moving Average: Uses difference between short and long MA to estimate trend - stable and smooth
Forecast Horizon:
Number of bars to forecast ahead (default 5, max 50 for linear/MA, max 20 for polynomial due to performance). Longer horizons predict further ahead but may be less accurate.
Confidence Bands:
Optional upper/lower bands around forecast show prediction uncertainty based on forecast error (standard deviation of prediction vs actual). Wider bands = higher uncertainty. The confidence level multiplier (default 1.5) controls band width.
Forecast Display:
Forecast appears as dotted lines extending forward from current bar, with optional confidence bands. All forecast values respect percentage mode and scale factor settings.
Strong Top/Bottom Signals
The script detects strong recovery from extreme MACD levels, generating "sBottom" and "sTop" signals. These identify significant reversal potential when MACD recovers substantially from overbought/oversold extremes.
Strong Bottom (sBottom):
Triggered when:
1. MACD was at or near its lowest point in the bottom period (default 10 bars)
2. MACD was in or near the oversold zone
3. MACD has recovered by at least the threshold amount (default 0.5) from the lowest point
4. Recovery persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the oversold zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Strong Top (sTop):
Triggered when:
1. MACD was at or near its highest point in the top period (default 7 bars)
2. MACD was in or near the overbought zone
3. MACD has declined by at least the threshold amount (default 0.5) from the highest point
4. Decline persists for confirmation bars (default 2 consecutive bars)
5. MACD has moved out of the overbought zone
6. Volume is above average
7. All enabled filters pass
8. Minimum bars have passed since last signal (reset period, default 5 bars)
Label Placement:
sTop/sBottom labels appear on the historical bar where the actual extreme occurred (not on current bar), showing the exact MACD value at that extreme. Labels respect the unified distance checking system to prevent overlaps with Buy/Sell Strength labels.
Signal Strength Calculation
The script calculates a composite signal strength score (0-100) based on multiple factors:
- MACD distance from signal line (0-50 points): Larger separation indicates stronger signal
- Volume confirmation (0-15 points): Volume above average adds points
- Secondary timeframe alignment (0-15 points): Higher timeframe agreement adds points
- Distance from zero line (0-20 points): Closer to zero can indicate stronger reversal potential
Higher scores (70+) indicate stronger, more reliable signals. The signal strength is displayed in the statistics table and can be used as a filter to only accept signals above a threshold.
Smart Label Placement System
The script includes an advanced label placement system that tracks MACD extremes and places Buy/Sell Strength labels at optimal locations:
Label Placement Algorithm:
- Labels appear on the current bar at confirmation (not on historical extreme bars), ensuring they're visible when the signal is confirmed
- The system tracks pending signals when MACD enters OB/OS zones or crosses the signal line
- During tracking, the system continuously searches for the true extreme (lowest MACD for buys, highest MACD for sells) within a configurable historical lookback period
- Labels are only finalized when: (1) MACD exits the OB/OS zone, (2) sufficient bars have passed (2x minimum distance), (3) MACD has recovered/declined by a configurable percentage from the extreme (default 15%), and (4) tracking has stopped (no better extreme found)
Label Spacing and Overlap Prevention:
- Minimum Bars Between Labels: Base distance requirement (default 5 bars)
- Label Spacing Multiplier: Scales the base distance (default 1.5x) for better distribution. Higher values = more spacing between labels
- Effective distance = Base Distance × Spacing Multiplier (e.g., 5 × 1.5 = 7.5 bars minimum)
- Unified distance checking prevents overlaps between all label types (Buy Strength, Sell Strength, sTop, sBottom)
Strength-Based Filtering:
- Label Strength Minimum (%): Only labels with strength at or above this threshold are displayed (default 75%)
- When multiple potential labels are close together, the system automatically compares strengths and keeps only the strongest one
- This ensures only the most significant signals are displayed, reducing chart clutter
Zero Line Polarity Enforcement:
- Enforce Zero Line Polarity (default enabled): Ensures labels follow traditional MACD interpretation
- Buy Strength labels only appear when the tracked extreme MACD value was below zero (negative territory)
- Sell Strength labels only appear when the tracked extreme MACD value was above zero (positive territory)
- This prevents counter-intuitive labels (e.g., Buy labels above zero line) and aligns with standard MACD trading principles
Recovery/Decline Confirmation:
- Recovery/Decline Confirm (%): Percent move away from the extreme required before finalizing (default 15%)
- For Buy labels: MACD must recover by at least this percentage from the tracked bottom
- For Sell labels: MACD must decline by at least this percentage from the tracked top
- Higher values = more confirmation required, fewer but more reliable labels
Historical Lookback:
- Historical Lookback for Label Placement: Number of bars to search for true extremes (default 20)
- The system searches within this period to find the actual lowest/highest MACD value
- Higher values analyze more history but may be slower; lower values are faster but may miss some extremes
Cross Quality Score
The script calculates a MACD cross quality score (0-100) that rates crossover quality based on:
- Cross angle (0-50 points): Steeper crosses = stronger signals
- Volume confirmation (0-25 points): Volume above average adds points
- Distance from zero line (0-25 points): Crosses near zero line are stronger
This score helps identify high-quality crossovers and can be used as a filter to only accept signals meeting minimum quality threshold.
Filtering System
Histogram Filter:
Requires histogram to be above zero for buy signals, below zero for sell signals. Ensures momentum alignment before generating signals.
Signal Strength Filter:
Requires minimum signal strength score for signals. Higher threshold = only strongest signals pass. This combines multiple confirmation factors into a single filter.
Cross Quality Filter:
Requires minimum cross quality score for signals. Rates crossover quality based on angle, volume, momentum, and distance from zero. Only signals meeting minimum quality threshold will be generated.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
Multi-Timeframe Analysis
The script can display MACD from a secondary (higher) timeframe and use it for confirmation. When secondary timeframe confirmation is enabled, signals require the higher timeframe MACD to align (bullish/bearish) with the signal direction. This ensures signals align with the larger trend context, reducing counter-trend trades.
Secondary Timeframe MACD:
The secondary timeframe MACD uses the same calculation parameters (fast, slow, signal, MA type) as the main MACD but from a higher timeframe. This provides context for the current timeframe's MACD position relative to the larger trend. The secondary MACD lines are displayed on the chart when enabled.
Noise Filtering
Noise filtering hides small histogram movements below a threshold. This helps focus on significant moves and reduces chart clutter. When enabled, only histogram movements above the threshold are displayed. Typical threshold values are 0.1-0.5 for most instruments, depending on the instrument's price range and volatility.
Signal Debounce
Signal debounce prevents duplicate MACD cross signals within a short time period. Useful when MACD crosses back and forth quickly, creating multiple signals. Debounce ensures only one signal per period, reducing signal spam during choppy markets. This is separate from alert cooldown, which applies to all alert types.
Background Color Modes
The script offers three background color modes:
- Dynamic: Full MACD heatmap based on OB/OS conditions, confidence, and momentum. Provides rich visual feedback.
- Monotone: Soft neutral background but still allows overlays (OB/OS zones). Keeps the chart clean without overpowering candles.
- Off: No MACD background (only overlays and plots). Maximum chart cleanliness.
When OB/OS background colors are enabled, they are drawn on top of the main background to ensure visibility.
Statistics Table
A real-time statistics table displays current MACD values, signal strength, distance from zero line, secondary timeframe alignment, volume confirmation status, and all active filter statuses. The table dynamically adjusts to show only enabled features, keeping it clean and relevant. The table position can be configured (Top Left, Top Right, Bottom Left, Bottom Right).
Performance Statistics Table
An optional performance statistics table shows comprehensive filter diagnostics:
- Total buy/sell signals (raw crossover count before filters)
- Filtered buy/sell signals (signals that passed all filters)
- Overall pass rates (percentage of signals that passed filters)
- Rejected signals count
- Filter-by-filter rejection diagnostics showing which filters rejected how many signals
This table helps optimize filter settings by showing which filters are most restrictive and how they impact signal frequency. The diagnostics format shows rejections as "X B / Y S" (X buy signals rejected, Y sell signals rejected) or "Disabled" if the filter is not active.
Alert System
The script includes separate alert conditions for each signal type:
- MACD Cross: MACD line crosses above/below Signal line (with or without secondary confirmation)
- Zero-Line Cross: MACD crosses above/below zero
- Divergence: Regular and hidden divergence detections
- Secondary Timeframe: Higher timeframe MACD crosses
- Histogram MA Cross: Histogram crosses above/below its moving average
- Histogram Zero Cross: Histogram crosses above/below zero
- StochMACD: StochMACD overbought/oversold entries and %K/%D crosses
- Histogram BB: Histogram touches/breaks Bollinger Bands
- Volume Events: Volume climax and dry-up detections
- OB/OS: MACD entry/exit from overbought/oversold zones
- Strong Top/Bottom: sTop and sBottom signal detections
Each alert type has its own cooldown system to prevent alert spam. The cooldown requires a minimum number of bars between alerts of the same type, reducing duplicate alerts during volatile periods. Alert types can be filtered to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom).
How Components Work Together
MACD crossovers provide the primary signal when the MACD line crosses the Signal line. Zero-line crosses indicate momentum shifts and can provide early warning signals. Divergences identify potential reversals before they occur.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Histogram analysis tools (MA, Bollinger Bands, StochMACD) provide additional context for signal reliability and identify significant histogram zones.
Signal strength combines multiple confirmation factors into a single score, making it easy to filter for only the strongest signals. Cross quality score rates crossover quality to identify high-quality setups. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Usage Instructions
Getting Started:
The default configuration shows MACD(12,26,9) with standard EMA calculations. Start with default settings and observe behavior, then customize settings to match your trading style. You can use configuration presets for quick setup based on your trading style.
Customizing MACD Parameters:
Adjust Fast Length (default 12), Slow Length (default 26), and Signal Length (default 9) based on your trading timeframe. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. You can change the moving average type: EMA for responsiveness, RMA for smoothness, WMA for recent price emphasis.
Price Source Selection:
Choose Close (standard), or alternative sources (HL2, HLC3, OHLC4) for different sensitivity. HL2 uses the midpoint of the high-low range, HLC3 and OHLC4 incorporate more price information.
Histogram Smoothing:
Set smoothing to 1 for raw histogram (no smoothing), or increase (3-5) for smoother histogram that reduces noise. Higher smoothing reduces false signals but may delay signals slightly.
Percentage Mode:
Enable percentage mode when comparing MACD across instruments with different price levels. This normalizes MACD values, making them directly comparable.
Dynamic OB/OS Levels:
The dynamic thresholds automatically adapt to volatility. Adjust the multipliers (default 1.5) to fine-tune sensitivity: higher values (2.0-3.0) = more extreme thresholds (fewer signals), lower (1.0-1.5) = more frequent signals. Adjust the lookback period to control how quickly levels adapt. Enable OB/OS background colors for visual indication of extreme conditions.
Volume Confirmation:
Set volume threshold to 1.0 (default, effectively disabled) or higher (1.2-1.5) for standard confirmation. Higher values require more volume for confirmation. Set to 0.1 to completely disable volume filtering.
Filters:
Enable filters gradually to find your preferred balance. Start with histogram filter for basic momentum alignment, then add signal strength filter (threshold 50+) for moderate signals, then cross quality filter (threshold 50+) for high-quality crossovers. Combine filters for highest-quality signals but expect fewer signals.
Divergence:
Enable divergence detection and adjust pivot lookback parameters. Pivot-based divergence provides more accurate detection using actual pivot points. Hidden divergence is useful for trend-following strategies. Adjust range parameters to filter divergences by time window.
Zero-Line Crosses:
Zero-line cross alerts are automatically available when alerts are enabled. These provide early warning signals for momentum shifts.
Histogram Analysis Tools:
Enable Histogram Moving Average to see histogram trend direction. Enable Histogram Bollinger Bands to identify extreme histogram zones. Enable Stochastic MACD to normalize histogram to 0-100 scale for overbought/oversold identification.
Multi-Timeframe:
Enable secondary timeframe MACD to see higher timeframe context. Enable secondary confirmation to require higher timeframe alignment for signals.
Signal Strength:
Signal strength is automatically calculated and displayed in the statistics table. Use signal strength filter to only accept signals above a threshold (e.g., 50 for moderate, 70+ for strong signals only).
Smart Label Placement:
Configure label placement settings to control label appearance and quality:
- Label Strength Minimum (%): Set threshold (default 75%) to show only strong signals. Higher = fewer, stronger labels
- Label Spacing Multiplier: Adjust spacing (default 1.5x) for better distribution. Higher = more spacing between labels
- Recovery/Decline Confirm (%): Set confirmation requirement (default 15%). Higher = more confirmation, fewer labels
- Enforce Zero Line Polarity: Enable (default) to ensure Buy labels only appear when tracked extreme was below zero, Sell labels only when above zero
- Historical Lookback: Adjust search period (default 20 bars) for finding true extremes. Higher = more history analyzed
Cross Quality:
Cross quality score is automatically calculated for crossovers. Use cross quality filter to only accept high-quality crossovers (threshold 50+ for moderate, 70+ for high quality).
Alerts:
Set up alerts for your preferred signal types. Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types (All, MACD Cross, Zero Line, Divergence, Secondary Timeframe, Histogram MA, Histogram Zero, StochMACD, Histogram BB, Volume Events, OB/OS, Strong Top/Bottom). Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- MACD Line: Green when above signal (bullish), red when below (bearish) if dynamic colors enabled. Optional black outline for enhanced visibility
- Signal Line: Orange line with optional black outline for enhanced visibility
- Histogram: Color-coded based on direction and momentum (green for bullish rising, lime for bullish falling, red for bearish falling, orange for bearish rising)
- Zero Line: Horizontal reference line at MACD = 0
- Fill to Zero: Green/red semi-transparent fill between MACD line and zero line showing bullish/bearish territory
- Fill Between OB/OS: Blue semi-transparent fill between overbought/oversold thresholds highlighting neutral zone
- OB/OS Background Colors: Background coloring when MACD enters overbought/oversold zones
- Background Colors: Dynamic or monotone backgrounds indicating MACD state, or custom chart background
- Divergence Labels: "🐂" for bullish, "🐻" for bearish, "H Bull" for hidden bullish, "H Bear" for hidden bearish
- Divergence Lines: Colored lines connecting pivot points when divergences are detected
- Volume Climax Markers: ⚡ symbol for extremely high volume
- Volume Dry-Up Markers: 💧 symbol for extremely low volume
- Buy/Sell Strength Labels: Show signal strength percentage (e.g., "Buy Strength: 75%")
- Strong Top/Bottom Labels: "sTop" and "sBottom" for extreme level recoveries
- Secondary MACD Lines: Purple lines showing higher timeframe MACD
- Histogram MA: Orange line showing histogram moving average
- Histogram BB: Blue bands around histogram showing extreme zones
- StochMACD Lines: %K and %D lines with overbought/oversold thresholds
- Regression Forecast: Dotted blue lines extending forward with optional confidence bands
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. MACD Cross with Multiple Filters - Highest priority: Requires MACD crossover plus all enabled filters (histogram, signal strength, cross quality) and secondary timeframe confirmation if enabled. These are the most reliable signals.
2. Zero-Line Cross - High priority: Indicates momentum shift. Can provide early warning signals before MACD crosses the signal line.
3. Divergence Signals - Medium-High priority: Pivot-based divergence is more reliable than simple divergence. Hidden divergence indicates continuation rather than reversal.
4. MACD Cross with Basic Filters - Medium priority: MACD crosses signal line with basic histogram filter. Less reliable alone but useful when combined with other confirmations.
Best practice: Wait for multiple confirmations. For example, a MACD crossover combined with divergence, volume confirmation, and secondary timeframe alignment provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate MACD " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- Calculations use efficient Pine Script functions (ta.ema, ta.sma, etc.) which are optimized by TradingView
- Conditional execution: Features only calculate when enabled
- Label management: Old labels are automatically deleted to prevent accumulation
- Array management: Divergence label arrays are limited to prevent memory accumulation
The script should perform well on all timeframes. On very long historical data with many enabled features, performance may be slightly slower, but it remains usable.
Known Limitations and Considerations
- Dynamic OB/OS levels can vary significantly based on recent MACD volatility. In very volatile markets, levels may be wider; in calm markets, they may be narrower.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe MACD uses request.security() which may have slight delays on some data feeds.
- Stochastic MACD requires the histogram to have sufficient history. Very short periods on new charts may produce less reliable StochMACD values initially.
- Divergence detection requires sufficient historical data to identify pivot points. Very short lookback periods may produce false positives.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading:
Use MACD(12,26,9) with secondary timeframe confirmation. Enable divergence detection. Use signal strength filter (threshold 50+) and cross quality filter (threshold 50+) for higher-quality signals. Enable histogram analysis tools for additional context.
Day Trading:
Use MACD(8,17,7) or use "Day Trading" preset with minimal histogram smoothing for faster signals. Enable zero-line cross alerts for early signals. Use volume confirmation with threshold 1.2-1.5. Enable histogram MA for momentum tracking.
Trend Following:
Use MACD(12,26,9) or longer periods (15,30,12) for smoother signals. Enable secondary timeframe confirmation for trend alignment. Hidden divergence signals are useful for trend continuation entries. Use cross quality filter to identify high-quality crossovers.
Reversal Trading:
Focus on divergence detection (pivot-based for accuracy) combined with zero-line crosses. Enable volume confirmation. Use histogram Bollinger Bands to identify extreme histogram zones. Enable StochMACD for overbought/oversold identification.
Multi-Timeframe Analysis:
Enable secondary timeframe MACD to see context from larger timeframes. For example, use daily MACD on hourly charts to understand the larger trend context. Enable secondary confirmation to require higher timeframe alignment for signals.
Practical Tips and Best Practices
Getting Started:
Start with default settings and observe MACD behavior. The default configuration (MACD 12,26,9 with EMA) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style. Consider using configuration presets for quick setup.
Reducing Repainting:
All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality:
MACD crosses with multiple filters provide the highest-quality signals because they require alignment across multiple indicators. These signals have lower frequency but higher reliability. Use signal strength scores to identify the strongest signals (70+). Use cross quality scores to identify high-quality crossovers (70+).
Filter Combinations:
Start with histogram filter for basic momentum alignment, then add signal strength filter for moderate signals, then cross quality filter for high-quality crossovers. Combining all filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering:
Set volume threshold to 1.0 (default, effectively disabled) or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
MACD Period Selection:
Standard MACD(12,26,9) provides balanced signals suitable for most trading. Shorter periods (8,17,7) for faster signals, longer (15,30,12) for smoother signals. Adjust based on your timeframe and trading style. Consider using configuration presets for optimized settings.
Moving Average Type:
EMA provides balanced responsiveness with smoothness. RMA is smoother and less responsive. WMA gives more weight to recent prices. SMA gives equal weight to all periods. Choose based on your preference for responsiveness vs. smoothness.
Divergence:
Pivot-based divergence is more reliable than simple divergence because it uses actual pivot points. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Adjust pivot lookback parameters to control sensitivity.
Dynamic Thresholds:
Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the multipliers to fine-tune sensitivity. Enable OB/OS background colors for visual indication.
Zero-Line Crosses:
Zero-line crosses indicate momentum shifts and can provide early warning signals before MACD crosses the signal line. Enable alerts for zero-line crosses to catch these early signals.
Alert Management:
Enable alert cooldown (default enabled, 5 bars) to prevent alert spam. Use alert type filter to only evaluate specific alert types. Signal debounce (default enabled, 3 bars) prevents duplicate MACD cross signals during choppy markets.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with conditional execution. Features only calculate when enabled.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Alert cooldowns and signal debounce handle edge cases where conditions never occurred or values are NA.
Technical Notes
- All MACD values respect percentage mode conversion when enabled
- Volume confirmation uses cached volume SMA for performance
- Label arrays (divergence) are automatically limited to prevent memory accumulation
- Background coloring: OB/OS backgrounds are drawn on top of main background to ensure visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Signal strength calculation combines multiple factors into a single score for easy filtering
- Cross quality calculation rates crossover quality based on angle, volume, and distance from zero
- Secondary timeframe MACD uses request.security() for higher timeframe data access
- Histogram analysis features (Bollinger Bands, MA, StochMACD) provide additional context beyond basic MACD signals
- Statistics table dynamically adjusts to show only enabled features, keeping it clean and relevant
- Divergence detection uses MACD line (not histogram) for more reliable signals
- Configuration presets automatically optimize MACD parameters for different trading styles
- Smart label placement: Labels appear on current bar at confirmation, using strength from tracked extreme point
- Label spacing uses effective distance (base distance × spacing multiplier) for better distribution
- Zero line polarity enforcement ensures Buy labels only appear when tracked extreme MACD < 0, Sell labels only when tracked extreme MACD > 0
- Label finalization requires MACD exit from OB/OS zone, sufficient bars passed, and recovery/decline percentage confirmation
- Strength-based filtering automatically compares and keeps only the strongest label when multiple signals are close together
- Enhanced visualization: Line outlines drawn behind main lines for superior visibility (black default, configurable)
- Enhanced visualization: Fill between MACD and zero line provides instant visual feedback (green above, red below)
- Enhanced visualization: Fill between OB/OS thresholds highlights neutral zone when dynamic levels are active
- Custom chart background overrides background mode when enabled, allowing theme-consistent indicator panels
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
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.
Bitcoin CME gaps multi-timeframe auto finder1. Overview
The Bitcoin CME Gap Multi-Timeframe Detector automatically identifies price gaps in the Bitcoin CME (Chicago Mercantile Exchange) futures market and visually displays them on the TradingView chart.
Because the CME futures market closes for about an hour after each weekday session and remains closed over the weekend, price gaps frequently appear when trading resumes on Monday.
This indicator analyzes gaps across six major timeframes, from 5-minute to 1-day charts, allowing traders to easily identify structural imbalances and potential support/resistance zones.
It is the most accurate and feature-rich CME gaps indicator available on TradingView.
2. Key Features
■ Multi-Timeframe Gap Detection
Analyzes 5m, 15m, 30m, 1h, 4h, and 1D charts simultaneously.
This enables traders to observe both short-term volatility and mid-to-long-term structure, providing a multi-dimensional view of market dynamics.
■ Gap Direction Classification
Up Gap: When the next candle’s open is higher than the previous candle’s high (default color: green tone)
Down Gap: When the next candle’s open is lower than the previous candle’s low (default color: red tone)
Gaps are color-coded to intuitively visualize potential support and resistance zones.
■ Highlight Function
Gaps exceeding a user-defined threshold (%) are highlighted (default color: yellow).
This helps quickly identify zones with abnormal volatility or sharp price dislocations.
■ Labels and Box Extension
Each gap displays a percentage label indicating its relative size and significance.
Gap zones are extended to the right as boxes, allowing traders to visually track when and how the gap gets filled over time.
■ Alert System
When a gap forms on the selected timeframe (or across all timeframes), a TradingView alert is triggered.
This enables real-time response to significant gap events.
3. Trading Strategies
■ Gap Fill Behavior
CME gaps statistically tend to get filled over time.
Gap boxes help distinguish between filled and unfilled gaps at a glance.
Up Gap: Price tends to decline to fill the previous high–next open zone.
Down Gap: Price often rises later to fill the previous low–next open zone.
■ Support & Resistance Levels
Gap zones frequently act as strong support or resistance.
When price retests a gap area, observing the reaction of buyers and sellers can provide valuable trading insights.
Overlapping gap boxes across multiple timeframes indicate high-confidence support/resistance zones.
■ Market Sentiment & Volatility Analysis
Large gaps usually result from shifts in market sentiment or major news events.
This indicator allows traders to detect volatility spikes early and prepare for potential trend reversals.
■ Combination with Other Technical Tools
While fully functional on its own, this indicator works even better when combined with tools like moving averages (MA), RSI, MACD, or Fibonacci retracements.
For example, if the bottom of a gap coincides with the 0.618 Fibonacci level, it may signal a strong rebound zone.
4. Settings Options
Minimum Gap % | Sets the minimum percentage movement required to detect a gap (lower values show smaller gaps)
Display Timeframes | Choose which timeframes to display (5m, 15m, 30m, 1h, 4h, 1D)
Box Colors | Assign colors for up and down gaps
Box Extension (Bars) | Number of bars to extend gap boxes to the right
Show Labels | Toggle display of gap percentage labels
Label Position / Size | Adjust label position and size
Highlight Gap ≥ % | Highlight gaps exceeding a specified percentage
Highlight Colors | Set highlight color for labels and boxes
Enable Alerts | Enable or disable alerts
Alert Timeframe | Select timeframe(s) for alerts (“All” = all timeframes)
5. Summary
This indicator is a professional trading tool that provides quantitative and visual analysis of price gaps in the Bitcoin CME futures market.
By combining multi-timeframe detection, highlighting, and alert systems, it helps traders clearly identify zones of market imbalance and potential reversal areas.
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.






















