Liquidity Sweeps [LuxAlgo]The Liquidity Sweeps indicator detects the presence of liquidity sweeps on the user's chart, while also providing potential areas of support/resistance or entry when Liquidity levels are taken.
In the event of a Liquidity Sweep a Sweep Area is created which may provide further areas of interest.
🔶 USAGE
A Liquidity Sweep occurs when the price breaks through a liquidity level (further referred to as LqL ), after which the price returns below/above the liquidity level , forming a wick.
The script provides 2 options when this can happen:
A wick passes a LqL after which the price quickly returns.
First the closing price breaks through a LqL . After a while, the price retests the LqL and forms a wick in the opposite direction.
The examples above show a bullish and bearish scenario of "a wick passing through an LqL where the price quickly comes back". This type of Liquidity Sweep is represented by a dotted line.
The following example shows a broken LqL , where the price retests the Liquidity zone and bounces back.
Instead of a dotted line, this type of Liquidity Sweep is represented by a dashed line.
When a Liquidity Sweep takes place, this is indicated by highlighting the "wick- LqL " distance. This distance is also the basis for the Sweep Area (see next sub-section). A small 3-bar long dotted line starts from the opposite wick as an extra aid to determine potential support/resistance/entry, ...
Colors can be set in the settings (here yellow and aqua blue instead of default colors for clarity).
🔹 Sweep Areas
The distance between the LqL and the maximum limit of the wick forms a Sweep Area , which can provide a potential support/resistance or entry zone.
These examples show both types of Liquidity Sweeps , followed by a box indicating the Sweep Area .
When the Sweep Area is mitigated or a certain amount of bars has passed (Settings - 'Max bars'), the boxes will no longer be updated.
In this case, the 'Trigger' label shows the bar where the high crossed a LqL , after which a red box starts between LqL and high.
The low of the 'Trigger' bar is the starting point of a short dotted line. Next to the 'Trigger bar' the high touches the Sweep Area before returning, providing a potential short entry. One bar further, another entry opportunity presents itself when the price breaks the small dotted line.
In the following bullish example, not only do we see opportunities when the LqL has been swept, but the following Sweep Area provides some potential entries.
The small green dotted lines also act as a guide where the price breaks above, then forms a small range, after which the price continues in an upward direction.
Here, the initial trigger on the left forms a Sweep Area that is quickly broken. However, the small green line provides a potential entry area later on. The price moves in a short channel before breaking above the LqL (green dashed line), providing more potential entries. Price retests this LqL , and goes below this level. The price remained around the previously formed channel, after which the price resumed its upward trend.
🔶 SETTINGS
🔹 Liquidity Sweeps
Swings: Period used for the swing detection, with higher values returning longer term Liquidity Levels .
Options:
- Only Wicks: Only detects a Liquidity Sweep when a wick sweeps a previous wick
- Only Outbreaks & Retest: Only detects a Liquidity Sweep when the price breaks a Liquidity Level , returns & retests the Liquidity Level , and forms a wick in the opposite direction.
- Wicks + Outbreaks & Retest: Both options can be detected.
🔹 Sweep Area
Extend: Enables/Disables extension of the Sweep Area boxes.
Max Bars: Limit the extension to a certain number of bars.
Color Sweep Area box.
Luxalgo
Relative Strength Scatter Plot [LuxAlgo]The Relative Strength Scatter Plot indicator is a tool that shows the historical performance of various user-selected securities against a selected benchmark.
This tool is inspired by Relative Rotation Graphs®. Relative Rotation Graphs® is a registered trademark of JOOS Holdings B.V. This script is neither endorsed, nor sponsored, nor affiliated with them.
🔶 USAGE
This tool depicts a simple scatter plot using the relative strength ratio as the X-axis and its momentum as the Y-axis of the user-selected symbols against the selected benchmark.
The graph is divided into four quadrants, and the interpretation of the graph is done depending on where a point is situated on the graph:
A point in the green quadrant would indicate that the security is leading the benchmark in strength, with positive strength momentum.
A point in the yellow quadrant would indicate that the security is leading the benchmark in strength, with negative strength momentum.
A point in the blue quadrant would indicate that the security is lagging behind the benchmark in strength, with positive strength momentum.
A point in the red quadrant would indicate that the security is lagging behind the benchmark in strength, with negative strength momentum.
The trail of each symbol allows the user to see the evolution of the relative strength momentum relative to the relative strength ratio. The length of the trail can be controlled by the "Trail Length" setting.
🔶 DETAILS
Our relative strength ratio estimate is first obtained from the relative strength between the symbol of interest and the benchmark, the result is then smoothed using a linearly weighted moving average (wma). This result is then normalized with a wma of the smoothed relative strength, this ratio is again smoothed with the wma and multiplied by 100.
The relative strength momentum estimate is obtained from the ratio between the previously estimated RS-Ratio and its wma, this ratio is then multiplied by 100.
🔶 SETTINGS
Calculation Window: Calculation window of the RS-Ratio and RS-Momentum metrics.
Symbols: Symbols used for the computation of the graph, each settings line allows us to determine whether the symbol is to be displayed on the graph as well as its color.
Benchmark: Benchmark symbol used for the computation of the graph. Indices are commonly used as a benchmark.
🔹 Graph Settings
Trail Length: Number of past data points to display on the graph for each symbol.
Resolution: Controls the horizontal length of the graph.
Inversion Fair Value Gaps (IFVG) [LuxAlgo]The Inversion Fair Value Gaps (IFVG) indicator is based on the inversion FVG concept by ICT and provides support and resistance zones based on mitigated Fair Value Gaps (FVGs).
🔶 USAGE
Once mitigation of an FVG occurs, we detect the zone as an "Inverted FVG". This would now be looked upon for potential support or resistance.
Mitigation occurs when the price closes above or below the FVG area in the opposite direction of its bias.
Inverted Bullish FVGs Turn into Potential Zones of Resistance.
Inverted Bearish FVGs Turn into Potential Zones of Support.
After the FVG has been mitigated, returning an inversion FVG, a signal is displayed each time the price retests an IFVG zone and breaks below or above (depending on the direction of the FVG).
Keep in mind how IFVGs are calculated and displayed. Once price mitigates an IFVG, all associated graphical elements such as areas, lines, and signals will be deleted.
This indicator is not meant to be just a 'signal indicator'. Backtesting historical signals is incorrect as it does not consider the mitigation of IFVGs, which is a standard method for trading IFVGs & various concepts by ICT.
The signals displayed are meant for real-time analysis of current bars for discretionary analysis. Current confirmed retests of unmitigated IFVGs are still displayed to show which IFVGS have had significant reactions.
🔶 SETTINGS
Show Last: Specifies the number of most recent FVG Inversions to display in Bullish/Bearish pairs, starting at the current and looking back. Max 100 Pairs.
Signal Preference: Allows the user to choose to send signals based on the (Wicks) or (Close) Prices. This can be changed based on user preference.
ATR Multiplier: Filters FVGs based on ATR Width, The script will only detect Inversions that are greater than the ATR * ATR Width.
🔶 ALERTS
This script includes alert options for all signals.
🔹 Bearish Signal
A bearish signal occurs when the price returns to a bearish inversion zone and rejects to the downside.
🔹 Bullish Signal
A bullish signal occurs when the price returns to a bullish inversion zone and bounces out of the top.
Session Levels Predictor [LuxAlgo]The "Session Levels Predictor" indicator predicts the maximum/minimum levels that will be made within a user-specified session. Hit rate percentages are displayed to measure how often a specific level has been hit.
🔶 USAGE
The indicator can be used to estimate the expected maximum/minimum levels within a specified session, these are directly displayed at the start of a session. This operation can be useful to set take profits/stop losses levels when we expect to exit within a specific session.
Users can display up to 3 upper and lower extremities on their chart (by default only 2 upper and lower extremities are displayed), with their distance from the session opening price being determined by the user-set percentile setting, values closer to 100 will return levels farther away from the session opening price.
Predicting maximum/minimum levels effectively allows obtaining support/resistance levels for the user-defined session, with a breakout probability indicating how easy it can be for the price to reach the estimated levels. These levels can be extended outside the specified session, allowing to test their relevancy as support/resistance levels to prices outside the specified sessions.
🔶 DETAILS
To predict maximum/minimum levels made within a session we keep a record of the distance between a session's maximum/minimum value and the session opening price (opening price when the session starts).
By using the percentile_nearest_rank() on our recorded distances we draw levels from the session opening price. If a level is hit between 2 sessions, this is saved for further calculations.
Lastly, a % hit rate of these levels is shown at the sessions open, indicating the probability that these levels could be hit before the next session.
🔹 array.percentile_nearest_rank()
Returns the value for which the specified percentage of array values (percentile) is less than or equal to it, using the nearest-rank method.
For example, taking the 75th percentile from our recorded distances between the maximum session level and session opening price will return a new distance where 75% of the recorded distances are lower.
The same goes for the green session's open - low levels
🔶 SETTINGS
Session: User-defined session interval, uses the symbol timezone.
Percentile (1, 2, 3): K-th percentile used to estimate session max/min levels, higher values will return more distant levels.
Max Population: Maximum amount of recorded distance data for the calculation of percentiles.
🔹 Style
Extend Middle Line: Toggle to extend the blue Middle Line to the next session - Default disabled
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 .
Fair Value Gap Absorption Indicator [LuxAlgo]The Fair Value Gap Absorption Indicator aims to detect fair value gap imbalances and tracks the mitigation status of the detected fair value gap by highlighting the mitigation level till a new fair value gap is detected.
The Fair Value Gap (FVG) is a widely utilized tool among price action traders to detect market inefficiencies or imbalances. These imbalances arise when buying or selling pressure is significant, resulting in a large upward or downward move, leaving behind an imbalance in the market.
🔶 USAGE
A fair value gap appears in a triple-candle pattern when there is a large candle whose previous candle’s high and subsequent candle’s low do not fully overlap the large candle. The space between these wicks is known as the fair value gap.
Price can come back to these imbalance areas and mitigate them, however, this is sometimes a process involving multiple bars, the displayed imbalances by the indicator allow tracking the current mitigation level of a displayed imbalance.
Fair value gaps can become a magnet for the price before continuing in the same direction. Traders commonly wait for the price to revert toward the fair value gap to clear out the imbalance before continuing to move toward the prevailing trend.
🔶 SETTINGS
🔹Fair Value Gaps
Fair Value Gap Width Filter: defines the filtering multiplier, please refer to the tooltip of the input option for further details.
Bullish, Imbalance and Mitigation: color customization option.
Bearish, Imbalance and Mitigation: color customization option.
Display Percentage of Mitigation: Display the percentage of the mitigation areas.
Historical Fair Value Gaps: toggles the visibility of the historical fair value gaps.
🔶 LIMITATIONS
Please note that filtering cannot be applied for the first 144 (atr fixed-length) candles since the atr value won't be present that is used for filtering.
🔶 RELATED SCRIPTS
Fair-Value-Gap
HTF-Fair-Value-Gap
Liquidity-Voids-FVG
Christmas Toolkit [LuxAlgo]It's that time of the year... and what would be more appropriate than displaying Christmas-themed elements on your chart?
The Christmas Toolkit displays a tree containing elements affected by various technical indicators. If you're lucky, you just might also find a precious reindeer trotting toward the tree, how fancy!
🔶 USAGE
Each of the 7 X-mas balls is associated with a specific condition.
Each ball has a color indicating:
lime: very bullish
green: bullish
blue: holding the same position or sideline
red: bearish
darkRed: very bearish
From top to bottom:
🔹 RSI (length 14)
rsi < 20 - lime (+2 points)
rsi < 30 - green (+1 point)
rsi > 80 - darkRed (-2 points)
rsi > 70 - red (-1 point)
else - blue
🔹 Stoch (length 14)
stoch < 20 - lime (+2 points)
stoch < 30 - green (+1 point)
stoch > 80 - darkRed (-2 points)
stoch > 70 - red (-1 point)
else - blue
🔹 close vs. ema (length 20)
close > ema 20 - green (+1 point)
else - red (-1 point)
🔹 ema (length 20)
ema 20 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 50)
ema 50 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 100)
ema 100 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 200)
ema 200 rises - green (+1 point)
else - red (-1 point)
The above information can also be found on the right side of the tree.
You'll see the conditions associated with the specific X-mas ball and the meaning of color changes. This can also be visualized by hovering over the labels.
All values are added together, this result is used to color the star at the top of the tree, with a specific color indicating:
lime: very bullish (> 6 points)
green: bullish (6 points)
blue: holding the same position or sideline
red: bearish (-6 points)
darkRed: very bearish (< -6 points)
Switches to green/lime or red/dark red can be seen by the fallen stars at the bottom.
The Last Switch indicates the latest green/lime or red/dark red color (not blue)
🔶 ANIMATION
Randomly moving snowflakes are added to give it a wintry character.
There are also randomly moving stars in the tree.
Garland rotations, style, and color can be adjusted, together with the width and offset of the tree, put your tree anywhere on your chart!
Disabling the "static tree" setting will make the needles 'move'.
Have you happened to see the precious reindeer on the right? This proud reindeer moves towards the most recent candle. Who knows what this reindeer might be bringing to the tree?
🔶 SETTINGS
Width: Width of tree.
Offset: Offset of the tree.
Garland rotations: Amount of rotations, a high number gives other styles.
Color/Style: sets the color & style of garland stars.
Needles: sets the needle color.
Static Tree: Allows the tree needles to 'move' with each tick.
Reindeer Speed: Controls how fast the deer moves toward the most recent bar.
🔶 MESSAGE FROM THE LUXALGO TEAM
It has been an honor to contribute to the TradingView community and we are always so happy to see your supportive messages on our scripts.
We have posted a total of 78 script publications this year, which is no small feat & was only possible thanks to our team of Wizard developers @alexgrover + @dgtrd + @fikira , the development team behind Pine Script, and of course to the support of our legendary community.
Happy Holidays to you all, and we'll see ya next year! ☃️
Targets For Many Indicators [LuxAlgo]The Targets For Many Indicators is a useful utility tool able to display targets for many built-in indicators as well as external indicators. Targets can be set for specific user-set conditions between two series of values, with the script being able to display targets for two different user-set conditions.
Alerts are included for the occurrence of a new target as well as for reached targets.
🔶 USAGE
Targets can help users determine the price limit where the price might start deviating from an indication given by one or multiple indicators. In the context of trading, targets can help secure profits/reduce losses of a trade, as such this tool can be useful to evaluate/determine user take profits/stop losses.
Due to these essentially being horizontal levels, they can also serve as potential support/resistances, with breakouts potentially confirming new trends.
In the above example, we set targets 3 ATR's away from the closing price when the price crosses over the script built-in SuperTrend indicator using ATR period 10 and factor 3. Using "Long Position Target" allows setting a target above the price, disabling this setting will place targets below the price.
Users might be interested in obtaining new targets once one is reached, this can be done by enabling "New Target When Reached" in the target logic setting section, resulting in more frequent targets.
Lastly, users can restrict new target creation until current ones are reached. This can result in fewer and longer-term targets, with a higher reach rate.
🔹 Dashboard
A dashboard is displayed on the top right of the chart, displaying the amount, reach rate of targets 1/2, and total amount.
This dashboard can be useful to evaluate the selected target distances relative to the selected conditions, with a higher reach rate suggesting the distance of the targets from the price allows them to be reached.
🔶 DETAILS
🔹 Indicators
Besides 'External' sources, each source can be set at 1 of the following Build-In Indicators :
ACCDIST : Accumulation/distribution index
ATR : Average True Range
BB (Middle, Upper or Lower): Bollinger Bands
CCI : Commodity Channel Index
CMO : Chande Momentum Oscillator
COG : Center Of Gravity
DC (High, Mid or Low): Donchian Channels
DEMA : Double Exponential Moving Average
EMA : Exponentially weighted Moving Average
HMA : Hull Moving Average
III : Intraday Intensity Index
KC (Middle, Upper or Lower): Keltner Channels
LINREG : Linear regression curve
MACD (macd, signal or histogram): Moving Average Convergence/Divergence
MEDIAN : median of the series
MFI : Money Flow Index
MODE : the mode of the series
MOM : Momentum
NVI : Negative Volume Index
OBV : On Balance Volume
PVI : Positive Volume Index
PVT : Price-Volume Trend
RMA : Relative Moving Average
ROC : Rate Of Change
RSI : Relative Strength Index
SMA : Simple Moving Average
STOCH : Stochastic
Supertrend
TEMA : Triple EMA or Triple Exponential Moving Average
VWAP : Volume Weighted Average Price
VWMA : Volume-Weighted Moving Average
WAD : Williams Accumulation/Distribution
WMA : Weighted Moving Average
WVAD : Williams Variable Accumulation/Distribution
%R : Williams %R
Each indicator is provided with a link to the Reference Manual or to the Build-In Indicators page.
The latter contains more information about each indicator.
Note that when "Show Source Values" is enabled, only values that can be logically found around the price will be shown. For example, Supertrend , SMA , EMA , BB , ... will be made visible. Values like RSI , OBV , %R , ... will not be visible since they will deviate too much from the price.
🔹 Interaction with settings
This publication contains input fields, where you can enter the necessary inputs per indicator.
Some indicators need only 1 value, others 2 or 3.
When several input values are needed, you need to separate them with a comma.
You can use 0 to 4 spaces between without a problem. Even an extra comma doesn't give issues.
The red colored help text will guide you further along (Only when Target is enabled)
Some examples that work without issues:
Some examples that work with issues:
As mentioned, the errors won't be visible when the concerning target is disabled
🔶 SETTINGS
Show Target Labels: Display target labels on the chart.
Candle Coloring: Apply candle coloring based on the most recent active target.
Target 1 and Target 2 use the same settings below:
Enable Target: Display the targets on the chart.
Long Position Target: Display targets above the price a user selected condition is true. If disabled will display the targets below the price.
New Target Condition: Conditional operator used to compare "Source A" and "Source B", options include CrossOver, CrossUnder, Cross, and Equal.
🔹 Sources
Source A: Source A input series, can be an indicator or external source.
External: External source if 'External" is selected in "Source A".
Settings: Settings of the selected indicator in "Source A", entered settings of indicators requiring multiple ones must be comma separated, for example, "10, 3".
Source B: Source B input series, can be an indicator or external source.
External: External source if 'External" is selected in "Source B".
Settings: Settings of the selected indicator in "Source B", entered settings of indicators requiring multiple ones must be comma separated, for example, "10, 3".
Source B Value: User-defined numerical value if "value" is selected in "Source B".
Show Source Values: Display "Source A" and "Source B" on the chart.
🔹 Logic
Wait Until Reached: When enabled will not create a new target until an existing one is reached.
New Target When Reached: Will create a new target when an existing one is reached.
Evaluate Wicks: Will use high/low prices to determine if a target is reached. Unselecting this setting will use the closing price.
Target Distance From Price: Controls the distance of a target from the price. Can be determined in currencies/points, percentages, ATR multiples, ticks, or using multiple of external values.
External Distance Value: External distance value when "External Value" is selected in "Target Distance From Price".
Breakout Detector (Previous MTF High Low Levels) [LuxAlgo]The Breakout Detector (Previous MTF High Low Levels) indicator highlights breakouts of previous high/low levels from a higher timeframe.
The indicator is able to: display take-profit/stop-loss levels based on a user selected Win/Loss ratio, detect false breakouts, and display a dashboard with various useful statistics.
Do note that previous high/low levels are subject to backpainting, that is they are drawn retrospectively in their corresponding location. Other elements in the script are not subject to backpainting.
🔶 USAGE
Breakouts occur when the price closes above a previous Higher Timeframe (HTF) High or below a previous HTF Low.
On the advent of a breakout, the closing price acts as an entry level at which a Take Profit (TP) and Stop Loss (SL) are placed. When a TP or SL level is reached, the SL/TP box border is highlighted.
When there is a breakout in the opposite direction of an active breakout, previous breakout levels stop being updated. Not reaching an SL/TP level will result in a partial loss/win,
which will result in the box being highlighted with a dotted border (default). This can also be set as a dashed or solid border.
Detection of False Breakouts (default on) can be helpful to avoid false positives, these can also be indicative of potential trend reversals.
This indicator contains visualization when a new HTF interval begins (thick vertical grey line) and a dashboard for reviewing the breakout results (both defaults enabled; and can be disabled).
As seen in the example above, the active, open breakout is colored green/red.
You can enable the setting ' Cancel TP/SL at the end of HTF ', which will stop updating previous TP/SL levels on the occurrence of a new HTF interval.
🔶 DETAILS
🔹 Principles
Every time a new timeframe period starts, the previous high and low are detected of the higher timeframe. On that bar only there won't be a breakout detection.
A breakout is confirmed when the close price breaks the previous HTF high/low
A breakout in the same direction as the active breakout is ignored.
A breakout in the opposite direction stops previous breakout levels from being updated.
Take Profit/Stop Loss, partially or not, will be highlighted in an easily interpretable manner.
🔹 Set Higher Timeframe
There are 2 options for choosing a higher timeframe:
• Choose a specific higher timeframe (in this example, Weekly higher TF on a 4h chart)
• Choose a multiple of the current timeframe (in this example, 75 minutes TF on a 15 min chart - 15 x 5)
Do mind, that when using this option, non-standard TFs can give less desired timeframe changes.
🔹 Setting Win/Loss Levels
The Stop Loss (SL) / Take Profit (TP) setting has 2 options:
W%:L% : A fixed percentage is chosen, for TP and SL.
W:L : In this case L (Loss-part) is set through Loss Settings , W (Win-part) is calculated by multiplying L , for example W : L = 2 : 1, W will be twice as large as the L .
🔹 Loss Settings
The last drawing at the right is still active (colored green/red)
The Loss part can be:
A multiple of the Average True Range (ATR) of the last 200 bars.
A multiple of the Range Cumulative Mean (RCM).
The Latest Swing (with Length setting)
Range Cumulative Mean is the sum of the Candle Range (high - low) divided by its bar index.
🔹 False Breakouts
A False Breakout is confirmed when the price of the bar immediately after the breakout bar returns above/below the breakout level.
🔹 Dashboard
🔶 ALERTS
This publication provides several alerts
Bullish/Bearish Breakout: A new Breakout.
Bullish/Bearish False Breakout: False Breakout detected, 1 bar after the Breakout.
Bullish/Bearish TP: When the TP/profit level has been reached.
Bullish/Bearish Fail: When the SL/stop-loss level has been reached.
Note that when a new Breakout causes the previous Breakout to stop being updated, only an alert is provided of the new Breakout.
🔶 SETTINGS
🔹 Set Higher Timeframe
Option : HTF/Mult
HTF : When HTF is chosen as Option , set the Higher Timeframe (higher than current TF)
Mult : When Mult is chosen as Option , set the multiple of current TF (for example 3, curr. TF 15min -> 45min)
🔹 Set Win/Loss Level
SL/TP : W:L or W%:L%: Set the Win/Loss Ratio (Take Profit/Stop Loss)
• W : L : Set the Ratio of Win (TP) against Loss (SL) . The L level is set at Loss Settings
• W% : L% : Set a fixed percentage of breakout price as SL/TP
🔹 Loss Settings
When W : L is chosen as SL/TP Option, this sets the Loss part (L)
Base :
• RCM : Range Cumulative Mean
• ATR : Average True Range of last 200 bars
• Last Swing : Last Swing Low when bullish breakout, last Swing High when bearish breakout
Multiple : x times RCM/ATR
Swing Length : Sets the 'left' period ('right' period is always 1)
Colours : colour of TP/SL box and border
Borders : Style border when breakout levels stop being updated, but TP/SL is not reached. (Default dotted dot , other option is dashed dsh or solid sol )
🔹 Extra
Show Timeframe Change : Show a grey vertical line when a new Higher Timeframe interval begins
Detect False Outbreak
Cancel TP/SL at end of HTF
🔹 Show Dashboard
Location: Location of the dashboard (Top Right or Bottom Right/Left)
Size: Text size (Tiny, Small, Normal)
See USAGE/DETAILS for more information
Liquidity Price Depth Chart [LuxAlgo]The Liquidity Price Depth Chart is a unique indicator inspired by the visual representation of order book depth charts, highlighting sorted prices from bullish and bearish candles located on the chart's visible range, as well as their degree of liquidity.
Note that changing the chart's visible range will recalculate the indicator.
🔶 USAGE
The indicator can be used to visualize sorted bullish/bearish prices (in descending order), with bullish prices being highlighted on the left side of the chart, and bearish prices on the right. Prices are highlighted by dots, and connected by a line.
The displacement of a line relative to the x-axis is an indicator of liquidity, with a higher displacement highlighting prices with more volume.
These can also be easily identified by only keeping the dots, visible voids can be indicative of a price associated with significant volume or of a large price movement if the displacement is more visible for the price axis. These areas could play a key role in future trends.
Additionally, the location of the bullish/bearish prices with the highest volume is highlighted with dotted lines, with the returned horizontal lines being useful as potential support/resistances.
🔹 Liquidity Clusters
Clusters of liquidity can be spotted when the Liquidity Price Depth Chart exhibits more rectangular shapes rather than "V" shapes.
The steepest segments of the shape represent periods of non-stationarity/high volatility, while zones with clustered prices highlight zones of potential liquidity clusters, that is zones where traders accumulate positions.
🔹 Liquidity Sentiment
At the bottom of each area, a percentage can be visible. This percentage aims to indicate if the traded volume is more often associated with bullish or bearish price variations.
In the chart above we can see that bullish price variations make 63.89% of the total volume in the range visible range.
🔶 SETTINGS
🔹 Bullish Elements
Bullish Price Highest Volume Location: Shows the location of the bullish price variation with the highest associated volume using one horizontal and one vertical line.
Bullish Volume %: Displays the bullish volume percentage at the bottom of the depth chart.
🔹 Bearish Elements
Bearish Price Highest Volume Location: Shows the location of the bearish price variation with the highest associated volume using one horizontal and one vertical line.
Bearish Volume %: Displays the bearish volume percentage at the bottom of the depth chart.
🔹 Misc
Volume % Box Padding: Width of the volume % boxes at the bottom of the Liquidity Price Depth Chart as a percentage of the chart visible range
Liquidations Meter [LuxAlgo]The Liquidation Meter aims to gauge the momentum of the bar, identify the strength of the bulls and bears, and more importantly identify probable exhaustion/reversals by measuring probable liquidations.
🔶 USAGE
This tool includes many features related to the concept of liquidation. The two core ones are the liquidation meter and liquidation price calculator, highlighted below.
🔹 Liquidation Meter
The liquidation meter presents liquidations on the price chart by measuring the highest leverage value of longs and shorts that have been potentially liquidated on the last chart bar, hence allowing traders to:
gauge the momentum of the bar.
identify the strength of the bulls and bears.
identify probable reversal/exhaustion points.
Liquidation of low-leveraged positions can be indicative of exhaustion.
🔹 Liquidation Price Calculator
A liquidation price calculator might come in handy when you need to calculate at what price level your leveraged position in Crypto, Forex, Stocks, or any other asset class gets liquidated to add a protective stop to mitigate risk. Monitoring an open position gets easier if the trader can calculate the total risk in order for them to choose the right amount of margin and leverage.
Liquidation price is the distance from the trader's entry price to the price where trader's leveraged position gets liquidated due to a loss. As the leverage is increased, the distance from trader's entry price to the liquidation price shrinks.
While you have one or several trades open you can quickly check their liquidation levels and determine which one of the trades is closest to their liquidation price.
If you are a day trader that uses leverage and you want to know which trade has the best outlook you can calculate the liquidation price to see which one of the trades looks best.
🔹 Dashboard
The bar statistics option enables measuring and presenting trading activity, volatility, and probable liquidations for the last chart bar.
🔶 DETAILS
It's important to note that liquidation price calculator tool uses a formula to calculate the liquidation price based on the entry price + leverage ratio.
Other factors such as leveraged fees, position size, and other interest payments have been excluded since they are variables that don’t directly affect the level of liquidation of a leveraged position.
The calculator also assumes that traders are using an isolated margin for one single position and does not take into consideration the additional margin they might have in their account.
🔹Liquidation price formula
the liquidation distance in percentage = 100 / leverage ratio
the liquidation distance in price = current asset price x the liquidation distance in percentage
the liquidation price (longs) = current asset price – the liquidation distance in price
the liquidation price (shorts) = current asset price + the liquidation distance in price
or simply
the liquidation price (longs) = entry price * (1 – 1 / leverage ratio)
the liquidation price (shorts) = entry price * (1 + 1 / leverage ratio)
Example:
Let’s say that you are trading a leverage ratio of 1:20. The first step is to calculate the distance to your liquidation point in percentage.
the liquidation distance in percentage = 100 / 20 = 5%
Now you know that your liquidation price is 5% away from your entry price. Let's calculate 5% below and above the entry price of the asset you are currently trading. As an example, we assume that you are trading bitcoin which is currently priced at $35000.
the liquidation distance in price = $35000 x 0.05 = $1750
Finally, calculate liquidation prices.
the liquidation price (longs) = $35000 – $1750 = $33250
the liquidation price (short) = $35000 + $1750 = $36750
In this example, short liquidation price is $36750 and long liquidation price is $33250.
🔹How leverage ratio affects the liquidation price
The entry price is the starting point of the calculation and it is from here that the liquidation price is calculated, where the leverage ratio has a direct impact on the liquidation price since the more you borrow the less “wiggle-room” your trade has.
An increase in leverage will subsequently reduce the distance to full liquidation. On the contrary, choosing a lower leverage ratio will give the position more room to move on.
🔶 SETTINGS
🔹Liquidations Meter
Base Price: The option where to set the reference/base price.
🔹Liquidation Price Calculator
Liquidation Price Calculator: Toggles the visibility of the calculator. Details and assumptions made during the calculations are stated in the tooltip of the option.
Entry Price: The option where to set the entry price, a value of 0 will use the current closing price. Details are given in the tooltip of the option.
Leverage: The option where to set the leverage value.
Show Calculated Liquidation Prices on the Chart: Toggles the visibility of the liquidation prices on the price chart.
🔹Dashboard
Show Bar Statistics: Toggles the visibility of the last bar statistics.
🔹Others
Liquidations Meter Text Size: Liquidations Meter text size.
Liquidations Meter Offset: Liquidations Meter offset.
Dashboard/Calculator Placement: Dashboard/calculator position on the chart.
Dashboard/Calculator Text Size: Dashboard text size.
🔶 RELATED SCRIPTS
Here are some of the scripts that are related to the liquidation and liquidity concept, for more and other conceptual scripts you are kindly invited to visit LuxAlgo-Scripts .
Liquidation-Levels
Liquidations-Real-Time
Buyside-Sellside-Liquidity
Market Structure (Breakers) [LuxAlgo]The Market Structure (Breakers) indicator aims to detect "Breaker Market Structures", an original concept inspired by breaker blocks, and extend on the original concept of market structures by extending existing MS levels, providing supports/resistances as a result.
Various graphical elements are included that highlight the interactions between price and Breaker structures.
🔶 USAGE
Breaker structures occur when a market structure is confirmed (price breaking a previous swing level). The broken swing point is extended by a dotted line which can be used as potential support or resistance.
After a market structure, the price can eventually reverse and break one or multiple breaker structures at the same time, allowing for the detection of new trends in the price.
A market structure closer to the top/bottom of a trend can return Breaker structures breakouts more indicative of potential reversals.
Breakers MS breakouts can also be useful as exits for entries done using market market structures.
The script additionally highlights support/resistance events by highlighting candle borders, with a border using a green color indicating support events while a red color is indicative of a resistance event.
🔹 Breaker Structure Lifespan
The "lifespan" of Breaker structures, that is the amount of time the script will extend/evaluate them is determined by various user settings.
The Maximum Breaks setting determines the maximum amount of breaks a breaker structure can withstand before it is broken.
For example, a maximum amount of breaks of 3 for a bearish breaker structure would require the price to cross under that precise breaker structure level three times. Using higher values of this setting will also highlight more Breakers MS.
The Breaker Maximum Duration setting on the other hand determines how many bars a breaker structure can be evaluated without being broken. If a breaker structure is not broken after this amount of bars then it will stop being evaluated and will be removed.
🔶 SETTINGS
Swings Period: Period used for the swing detection, with higher values returning longer term markter structures.
Maximum Breaks: Amount of break required for a breaker block to be considered broken.
Breaker Maximum Duration: Maximum duration of a breaker block (in bars).
Machine Learning: Anchored Gaussian Process Regression [LuxAlgo]Machine Learning: Anchored Gaussian Process Regression is an anchored version of Machine Learning: Gaussian Process Regression .
It implements Gaussian Process Regression (GPR), a popular machine-learning method capable of estimating underlying trends in prices as well as forecasting them. Users can set a Training Window by choosing 2 points. GPR will be calculated for the data between these 2 points.
Do remember that forecasting trends in the market is challenging, do not use this tool as a standalone for your trading decisions.
🔶 USAGE
When adding the indicator to the chart, users will be prompted to select a starting and ending point for the calculations, click on your chart to select those points.
Start & end point are named 'Anchor 1' & 'Anchor 2', the Training Window is located between these 2 points. Once both points are positioned, the Training Window is set, whereafter the Gaussian Process Regression (GPR) is calculated using data between both Anchors .
The blue line is the GPR fit, the red line is the GPR prediction, derived from data between the Training Window .
Two user settings controlling the trend estimate are available, Smooth and Sigma.
Smooth determines the smoothness of our estimate, with higher values returning smoother results suitable for longer-term trend estimates.
Sigma controls the amplitude of the forecast, with values closer to 0 returning results with a higher amplitude.
One of the advantages of the anchoring process is the ability for the user to evaluate the accuracy of forecasts and further understand how settings affect their accuracy.
The publication also shows the mean average (faint silver line), which indicates the average of the prices within the calculation window (between the anchors). This can be used as a reference point for the forecast, seeing how it deviates from the training window average.
🔶 DETAILS
🔹 Limited Training Window
The Training Window is limited due to matrix.new() limitations in size.
When the 2 points are too far from each other (as in the latter example), the line will end at the maximum limit, without giving a size error.
The red forecasted line is always given priority.
🔹 Positioning Anchors
Typically Anchor 1 is located further in history than Anchor 2 , however, placing Anchor 2 before Anchor 1 is perfectly possibly, and won't give issues.
🔶 SETTINGS
Anchor 1 / Anchor 2: both points will form the Training Window .
Forecasting Length: Forecasting horizon, determines how many bars in the 'future' are forecasted.
Smooth: Controls the degree of smoothness of the model fit.
Sigma: Noise variance. Controls the amplitude of the forecast, lower values will make it more sensitive to outliers.
Liquidation Estimates (Real-Time) [LuxAlgo]The Liquidation Estimates (Real-Time) experimental indicator attempts to highlight real-time long and short liquidations on all timeframes. Here with liquidations, we refer to the process of forcibly closing a trader's position in the market.
By analyzing liquidation data, traders can gauge market sentiment, identify potential support and resistance levels, identify potential trend reversals, and make informed decisions about entry and exit points.
🔶 USAGE
Liquidation refers to the process of forcibly closing a trader's position. It occurs when a trader's margin account can no longer support their open positions due to significant losses or a lack of sufficient margin to meet the maintenance requirements.
Liquidations can be categorized as either a long liquidation or a short liquidation. A long liquidation is a situation where long positions are being liquidated, while short liquidation is a situation where short positions are being liquidated.
The green bars indicate long liquidations – meaning the number of long positions liquidated in the market. Typically, long liquidations occur when there is a sudden drop in the asset price that is being traded. This is because traders who were bullish on the asset and had opened long positions on the same will now face losses since the market has moved against them.
Similarly, the red bars indicate short liquidations – meaning the number of short positions liquidated in the futures market. Short liquidations occur when there is a sudden spike in the price of the asset that is being traded. This is because traders who were bearish on the asset and had opened short positions will now face losses since the market has moved against them.
Liquidation patterns or clusters of liquidations could indicate potential trend reversals.
🔹 Dominance
Liquidation dominance (Difference) displays the difference between long and short liquidations, aiming to help identify the dominant side.
🔹 Total Liquidations
Total liquidations display the sum of long and short liquidations.
🔹 Cumulative Liquidations
Cumulative liquidations are essentially the cumulative sum of the difference between short and long liquidations aiming to confirm the trend and the strength of the trend.
🔶 DETAILS
It's important to note that liquidation data is not provided on the Trading View's platform or can not be fetched from anywhere else.
Yet we know that the liquidation data is closely tied in with trading volumes in the market and the movement in the underlying asset’s price. As a result, this script analyzes available data sources extracts the required information, and presents an educated estimate of the liquidation data.
The data presented does not reflect the actual individual quantitative value of the liquidation data, traders and analysts shall look to the changes over time and the correlation between liquidation data and price movements.
The script's output with the default option values has been visually checked/compared with the liquidation chart presented on coinglass.com.
🔶 SETTINGS
🔹Liquidations Input
Mode: defines the presentation of the liquidations chart. Details are given in the tooltip of the option.
Longs Reference Price: defines the base price in calculating long liquidations.
Shorts Reference Price: defines the base price in calculating short liquidations.
🔶 RELATED SCRIPTS
Liquidation-Levels
Liquidity-Sentiment-Profile
Buyside-Sellside-Liquidity
SuperTrend Polyfactor Oscillator [LuxAlgo]The SuperTrend Polyfactor Oscillator is an oscillator based on the popular SuperTrend indicator that aims to highlight information returned by a collection of SuperTrends with varying factors inputs.
A general consensus is calculated from all this information, returning an indication of the current market sentiment.
🔶 USAGE
Multiple elements are highlighted by the proposed oscillator. A mesh of bars is constructed from the difference between the price and a total of 20 SuperTrends with varying factors. Brighter colors of the mesh indicate a higher amount of aligned SuperTrends indications.
The factor input of the SuperTrends is determined by the user from the Starting Factor setting which determines the factor of the shorter-term SuperTrend, and the Increment settings which control the step between each factor inputs.
Using higher values for these settings will return information for longer-term term price variations.
🔹 Consensus
From the collection of SuperTrends, a consensus is obtained. It is calculated as the median of all the differences between the price and the collection of SuperTrends.
This consensus is highlighted in the script by a blue and orange line, with a blue color indicating an overall bullish market, and orange indicating a bearish market.
Both elements can be used together to highlight retracements within a trend. If we see various red bars while the general consensus is bullish, we can interpret it as the presence of a retracement.
🔹 StDev Area
The indicator includes an area constructed from the standard deviation of all the differences between the price and the collection of SuperTrends.
This area can be useful to see if the market is overall trending or ranging, with a consensus over the area indicative of a trending market.
🔹 Normalization
Users can decide to normalize the results and constrain them within a specific range, this can allow obtaining a lower degree of variations of the indicator outputs. Two methods are proposed "Absolute Sum", and "Max-Min".
The "Absolute Sum" method will divide any output returned by the indicator by the absolute sum of all the differences between the price and SuperTrends. This will constrain all the indicator elements in a (1, -1) scale.
The "Max-Min" method will apply min-max normalization to the indicator outputs (with the exception of the stdev area). This will constrain all the indicator elements in a (0, 1) scale.
🔶 SETTINGS
Length: ATR Length of all calculated SuperTrends.
Starting Factor: Factor input of the shorter-term SuperTrend.
Increment: Step value between all SuperTrends factors.
Normalize: Normalization method used to rescale the indicator output.
Liquidation Levels [LuxAlgo]The Liquidation Levels indicator aims at detecting and estimating potential price levels where large liquidation events may occur.
By analyzing liquidation Levels, traders can identify potential support & resistance levels, identify stop-loss levels, and gauge market sentiment and potential areas of price volatility.
🔶 USAGE
Liquidation refers to the process of forcibly closing a trader's leveraged positions in the market. It occurs when a trader's margin account can no longer support their open positions due to significant losses or a lack of sufficient margin to meet the maintenance margin requirements.
Liquidation events happen at all times and the script focuses on detecting the most significant ones. Bubbles will appear on the relevant price bar when larger trading activity has been detected. Larger bubbles represent more significant potential liquidation levels. The lines attached to the bubbles represent the liquidation zones at that price.
These liquidation levels are based on clusters of price points where highly leveraged traders open long or short positions. High leverage is identified as 100x, 50x, and 25x leverages used for both long and short positions. The script allows users to either remove or customize leverage levels.
Price generally heads towards zones or clusters of liquidity.
🔶 SETTINGS
🔹Liquidation Levels
Reference Price: defines the base price in calculating liquidation levels.
Volume Threshold: The volume threshold is the primary factor in detecting the significant trading activities that could potentially lead to liquidating leveraged positions.
Volatility Threshold: The volatility threshold option is the secondary factor that aims at detecting significant movement in the underlying asset’s price with relatively lower trading activities that could potentially also lead to liquidating high-leveraged positions.
Leverage Options: The leverage options are where the trader will set the desired leverage value and customize the potential liquidation level colors.
Hide Liquidation Bubbles: Toggles the visibility of the bubbles.
Hide Liquidation Levels: Toggles the visibility of the lines.
🔶 RELATED SCRIPTS
Liquidity-Sentiment-Profile
Buyside-Sellside-Liquidity
Trend Lines [LuxAlgo]Our new "Trend Lines" indicator detects and highlights relevant trendlines on the user chart while keeping it free of as much clutter as possible.
The indicator is thought for real-time usage and includes several filters as well as the ability to estimate trendline angles.
🔶 USAGE
Trendlines can act as support/resistance, with a higher number of tests indicating a more significant support/resistance role.
A broken TrendLine can be indicative of a potential trend reversal. The script highlights breaks with a label.
Users can additionally filter trendlines, only showing trendlines whose angles fall within a user set range:
This allows for the removal of potential clutter from the chart but also helps keep steeper or more horizontal trendlines.
🔶 DETAILS
When a swing (pivot point) is found, a Trendline is drawn when certain conditions are fulfilled.
An essential condition is that a Bearish Trendline (red) always occurs on a lower high, while a Bullish Trendline (blue) occurs on a higher low.
Our implementation will first show an initial dotted-styled TrendLine on confirmation, after which a solid-styled secondary TrendLine will develop. The latter will be used for the real-time detection of breaks at that line:
Furthermore, the script allows you to add more conditions:
🔹 Length (Swings)
A swing develops when a high/low is the highest/lowest against x highs/lows on the left AND right of that bar. x can be set by "Length" in settings.
The following images clarify this. The script confirms a swing where the yellow flag is shown; the high (here visualized with a purple label) is the highest point against x bars left and right of that point.
At that moment, this swing is checked against the previous swing. If all conditions are fulfilled, an initial TrendLine is drawn on confirmation.
After that point, a secondary thicker solid line is seen which keeps progressing bar after bar, until:
• a new TrendLine is formed
• the TrendLine is broken
🔹 Breaks between Swings
Once there is confirmation that a TrendLine can be drawn, the script allows you to filter for breakthroughs on that line. This can be set with "Check breaks between"
Disabled : the initial TrendLine is allowed to be pierced:
Check breaks between point A - point B : no breaks are allowed between both Swing points:
Point A - Current bar : no breaks are allowed between the first Swing point and the point of confirmation ('current' bar):
🔹 TrendLine breaks
As mentioned, the secondary TrendLine (solid line) progresses bar after bar until a new TrendLine is formed or the TrendLine is broken. When a TrendLine is broken, the TrendLine stops progressing, but if there isn't a new TrendLine and price return back, the TrendLine will re-appear, potentially giving several signals when the TrendLine is broken again.
Minimal bars allow you to regulate the amount of signals when the TrendLine is broken.
-> The secondary TrendLine must be uninterrupted for at least x bars before a potential break can be considered.
The following example shows 1 signal against 3 by adjusting this setting from 2 to 5:
🔹 Angles
Angles should normally be calculated when the units of the X and Y axis are the same. However, on our charts, the unit of the X-axis is bar_index (bars), and on the Y-axis the unit is price (¥, €, £, $,...).
It is not easy to normalize and create reasonably valid angles. Often certain angle calculations can differ through price changes or volatility.
Our calculate_slope() function tries to make corresponding angles through all bars.
We do this by calculating the difference between the highest/lowest price values in a certain bar range. The bar range is our X-axis, and the price difference is our Y-axis.
Zooming in/out will not change the amount of bars or the price. Since it does change our view on the chart, and thereby how we see the angles, we have included a setting where you can personalize the ratio between X and Y-axis (Angles -> Ratio X-Y axis).
Settings: Angles - Ratio X-Y axis:
🔶 SETTINGS
🔹 Swings
Length: Lookback period for the detection of swing points.
🔹 Trendline validation
Check breaks between :
Disabled : the initial TrendLine is allowed to be pierced
Check breaks between point A - point B : no breaks are allowed between both Swing points
Point A - Current bar : no breaks are allowed between the first Swing point and the point of confirmation ('current' bar)
Source (breaks) : Source which invalidates TrendLine, default: close
🔹 TrendLine breaks
Minimal bars : The secondary TrendLine must be uninterrupted for at least x bars before a potential break can be considered.
🔹 Angles
Show : Toggle labels.
Ratio X-Y axis : Every user has his preferences regarding zoom, chart layout,...
If the shown angles are not according to your expectations, you can adjust this number.
Only TrendLine between : Only allow TrendLines between the minimum and maximum degrees. Set only the minimal and maximum values above 0.
Predictive Channels [LuxAlgo]The Predictive Channels indicator is a real-time estimate of a trend channel. The indicator returns 2 resistances, 2 supports, and an average line.
🔶 USAGE
The Predictive Channels attempt to find a real-time estimate of an underlying linear trend in the price, the returned supports/resistances are constructed from this estimate.
The area between the price and the estimated trend is also highlighted, with a green color when the price is above the estimated trend, indicating a bullish variation relative to the trend, and a red color indicating a bearish variation.
Price deviating significantly from an estimated trend will return new channels. The Factor setting controls the allowed distance between the price and the trend estimate, with higher values allowing for greater distances and less frequent channels.
The Slope setting will affect the steepness of the channels, with lower values returning steeper channels, this can cause the price to more quickly deviate from the estimated trend, increasing the frequency at which new channels are created.
🔶 SETTINGS
Factor: Multiplicative factor, determines the allowed distance between the price and an estimated trend before a new channel is constructed.
Slope: Controls the line steepness of the channels, with lower values returning steeper lines.
Machine Learning: Gaussian Process Regression [LuxAlgo]We provide an implementation of the Gaussian Process Regression (GPR), a popular machine-learning method capable of estimating underlying trends in prices as well as forecasting them.
While this implementation is adapted to real-time usage, do remember that forecasting trends in the market is challenging, do not use this tool as a standalone for your trading decisions.
🔶 USAGE
The main goal of our implementation of GPR is to forecast trends. The method is applied to a subset of the most recent prices, with the Training Window determining the size of this subset.
Two user settings controlling the trend estimate are available, Smooth and Sigma . Smooth determines the smoothness of our estimate, with higher values returning smoother results suitable for longer-term trend estimates.
Sigma controls the amplitude of the forecast, with values closer to 0 returning results with a higher amplitude. Do note that due to the calculation of the method, lower values of sigma can return errors with higher values of the training window.
🔹 Updating Mechanisms
The script includes three methods to update a forecast. By default a forecast will not update for new bars (Lock Forecast).
The forecast can be re-estimated once the price reaches the end of the forecasting window when using the "Update Once Reached" method.
Finally "Continuously Update" will update the whole forecast on any new bar.
🔹 Estimating Trends
Gaussian Process Regression can be used to estimate past underlying local trends in the price, allowing for a noise-free interpretation of trends.
This can be useful for performing descriptive analysis, such as highlighting patterns more easily.
🔶 SETTINGS
Training Window: Number of most recent price observations used to fit the model
Forecasting Length: Forecasting horizon, determines how many bars in the future are forecasted.
Smooth: Controls the degree of smoothness of the model fit.
Sigma: Noise variance. Controls the amplitude of the forecast, lower values will make it more sensitive to outliers.
Update: Determines when the forecast is updated, by default the forecast is not updated for new bars.
Donchian MA Bands [LuxAlgo]The Donchian MA Bands script is a complete trend indicator derived from the popular Donchian channel indicator as well as various customizable moving averages to estimate trend direction and build support/resistance levels & zones.
🔶 USAGE
The indicator outputs various elements, the main ones being a lower dynamic zone (blue by default), an upper dynamic zone (in orange by default), and one support and resistance level/zones (red/green by default).
A prominent lower zone is indicative of an uptrend, while a prominent upper zone is indicative of a downtrend. These zones can be used as support/resistance as well.
Support/resistance zones and levels can be used using a breakout methodology or to determine price bounced if a level was tested multiple times.
The indicator contains various modes affecting the output of the indicator, described below.
🔹 Clouds
Clouds return one upper/lower dynamic zone and look/act similarly to a trailing stop. Price over the lower zone is indicative of an uptrend, and price under the upper zone is indicative of a downtrend.
🔹 Upper Band
The upper band mode returns a dynamic zone closer to prices during an uptrend, and farther away during a downtrend.
This band can act as a support during uptrends.
🔹 Lower Band
The lower band mode returns a dynamic zone closer to prices during an uptrend, and farther away during a downtrend.
This band can act as a resistance during downtrends.
🔹 Bands
Bands return both upper and lower zones, the zones are more apparent depending on the price trend direction, with uptrends being indicated by a more visible lower zone, and downtrends being indicated by a more visible upper zone.
Breakout dots are highlighted when price breakout the indicator displayed extremities, and can be indicative of a confirmed trend reversal.
These breakouts can be more effective for trend following during trending markets. Ranging markets might return breakouts highlighting the top/bottom.
🔶 DETAILS
The core of this script is the highest / lowest mean average (MA) value for a given number of bars back ( Donchian lines).
This is repeated a few times with the obtained values.
When Bands are chosen ( Style ) this will be repeated 1 more time.
The type of mean average can be customized ( Type MA ), as well as the number of bars back ( Length ).
Depending on the choice of bands ( Style ) the script will focus on certain area's of interest.
When the option Clouds , Upper band or Lower band is chosen, an extra feature, support/resistance (S/R), will be shown.
These color-filled areas are visible when there is a difference between the 2nd and 3rd highest/lowest values.
The lines/areas can be used for stop loss, entry, exit,...
You can set the type of MA and Length separately ( Settings -> S/R ).
If you don't need this feature, simply set Type ( Settings -> S/R ) -> NONE
The shape sometimes resembles triangles, indicating a potential direction
Default the average of the highest and lowest values is plotted (Style -> Mid Donchian)
This can act as potential support/resistance or visualization of the trend, the mean average is not plotted but can be (Style -> MA)
🔹 Note
When the option Bands is chosen, an indication is plotted when the closing price breaks above the highest band or breaks below the lower band. This isn't necessarily a buy/sell signal, it is merely a signal that these lines are broken.
Users should decide on their own how they use the bands/lines/areas as entry, exit, trailing stop, stop loss, profit taking,...
🔶 SETTINGS
🔹 Bands
Style: Clouds (default), Upper band, Lower band, Bands
Type MA: choose between SMA, EMA, RMA, HullMA, WMA, VWMA (default), DEMA, TEMA, NONE (off)
Length: Length of moving average and Donchian calculations (default 20)
Colour Bands
🔹 S/R (Support/Resistance, visible with Clouds, Upper band or Lower band)
Type MA: choose between SMA, EMA, RMA, HullMA, WMA, VWMA (default), DEMA, TEMA, NONE (off)
Length: Length of moving average and Donchian calculations (default 20)
Colour S/R
Range Detector [LuxAlgo]The Range Detector indicator aims to detect and highlight intervals where prices are ranging. The extremities of the ranges are highlighted in real-time, with breakouts being indicated by the color changes of the extremities.
🔶 USAGE
Ranging prices are defined by a period of stationarity, that is where prices move within a specific range.
Detecting ranging markets is a common task performed manually by traders. Price breaking one of the extremities of a range can be indicative of a new trend, with an uptrend if price breaks the upper range extremity, and a downtrend if price breaks the lower range extremity.
Ranges are highlighted as zones and are set retrospectively, that is the starting point of a range is offset in the past. The exact moment a range is detected is highlighted by a gray background color. The average between the maximum/minimum of a zone is also highlighted as a dotted line and is also set retrospectively.
The range extremities are set in real-time, blue extremities indicate the range extremities were not broken, green extremities indicate that price broke the upper range extremity, while red extremities indicate price broke the lower range extremity.
Extremities are extended until a new range is detected, allowing past ranges extremities can be used as future support/resistances.
🔶 DETAILS
The detection algorithm used to detect ranges tests if all the prices within a user-set window are all within two extremities. These extremities are determined by the mean of the detection window plus/minus an ATR value.
When a new range is detected, the script checks if this new range overlaps with a previously detected range, if this is the case, both ranges are merged into one; updating the extremities of the previous range.
This can be observed with the real-time extremities changing within a highlighted zone.
🔶 SETTINGS
Minimum Range Length: Minimum amount of bars needed to detect a range.
Range Width: Multiplicative factor for the ATR used to detect new ranges. Lower values detect ranges with a lower width. Using higher values might return false positives.
ATR Length: ATR length used to determine the range width.
Volumetric Toolkit [LuxAlgo]The Volumetric Toolkit is a complete and comprehensive set of tools that display price action-related analysis methods from volume data.
A total of 4 features are included within the toolkit. Symbols that do not include volume data will not be supported by the script.
🔶 USAGE
The volumetric toolkit puts a heavy focus on price action, returning support/resistance levels, ranges, volume divergences...etc.
The main premise between each feature is that volume has a direct relationship with market participants level of interest over a specific symbol, and that this interest is not constant over time.
Each individual feature is detailed below.
🔹 Ranges Of Interest
The Ranges Of Interest construct a range from a surge of high liquidity in the market. This range is constructed from the price high and price low of the candle with the associated significant liquidity.
The returned extremities can be used as support and resistance, with breakouts often being accompanied by significant liquidity as well, suggesting potential trend continuations.
The length setting associated with this feature determines how sensitive the range detection algorithm is to volume, with higher values requiring more significant volume in order to display a new range.
🔹 Impulses
Impulses highlight times when volume makes a new higher high while the price makes a new higher high or lower low, suggesting increased market participation.
When this occurs when the price makes a new higher high the impulse is considered bullish (green), if the price makes a new lower low the impulse is bearish (red).
Impulses occurring within an established trend opposite to it (e.g a bearish impulse on an uptrend) might be indicative of reversals.
The length setting works similarly to the previously described ranges of interest, with higher values requiring longer-term volume higher high and price higher high/lower low, highlighting more significant impulse and potentially longer-term reversals.
🔹 Levels Of Interest
Levels of interest display price levels of significant trading activity, contrary to the range of interest only the closing price is taken into account, also volume peaks are used to detect significant trading activity.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
Users can determine the amount of most recent levels to display on the chart. These can be used as classical support/resistances.
🔹 Volume Divergence
We define volume divergence as a decreased market participation while a trend is still developing.
More precisely volume divergences are highlighted if volume makes a lower high while price is making a new higher high/lower low.
This can be indicative of a lack of further participation in the current trend, indicating a potential reversal.
Using higher length values will return longer-term divergences.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
🔶 SETTINGS
🔹 Ranges Of Interest
Show Ranges Of Interest: Display Ranges Of Interest.
Length: Ranges Of Interest sensitivity to volume.
🔹 Impulses
Show Impulses: Display Ranges Of Interest.
Length: Impulses sensitivity to volume.
🔹 Levels Of Interest
Show: Determine if Levels Of Interest are displayed, and how many from the most recent.
Length: Level detection sensitivity to volume.
🔹 Volume Divergences
Show Divergences: Determine if Volume Divergences are displayed.
Length: Period for the detection of price tops/bottoms and volume peaks.
Range Breakout Signals (Intrabar) [LuxAlgo]The Range Breakout Signals (Intrabar) is a novel indicator highlighting trending/ranging intrabar candles and providing signals when the price breaks the extremities of a ranging intrabar candles.
🔶 USAGE
The indicator highlights candles with trending intrabar prices, with uptrending candles being highlighted in green, and down-trending candles being highlighted in red.
This highlighting is affected by the selected intrabar timeframe, with a lower timeframe returning a more precise estimation of a candle trending/ranging state.
When a candle intrabar prices are ranging the body of the candle is hidden from the chart, and one upper & lower extremities are displayed, the upper extremity is equal to the candle high and the lower extremity to the candle low. Price breaking one of these extremities generates a signal.
The indicator comes with two modes, "Trend Following" and "Reversal", these modes determine the extremities that need to be broken in order to return a signal. The "Trend Following" mode as its name suggests will provide trend-following signals, while "Reversal" will aim at providing early signals suggesting a potential reversal.
🔶 DETAILS
To determine if intrabar prices are trending or ranging we calculate the r-squared of the intrabar data, if the r-squared is above 0.5 it would suggest that lower time frame prices are trending, else ranging.
This approach allows almost obtaining a "settings" free indicator, which is uncommon. The intrabar timeframe setting only controls the intrabar precision, with a timeframe significantly lower than the chart timeframe returning more intrabar data as a result, this however might not necessarily affect the displayed information by the indicator.
🔶 SETTINGS
Intrabar Timeframe: Timeframe used to retrieve the intrabar data within a chart candle. Must be lower than the user chart timeframe.
Auto: Select the intrabar timeframe automatically. This setting is more adapted to intraday charts.
Mode: Signal generation mode.
Filter Out Successive Signals: Allows removing successive signals of the same type, returning a more easily readable chart.