Sequencer [LuxAlgo]The Sequencer indicator is a tool that is able to highlight sequences of prices based on their relative position to past prices, which allows a high degree of customization from the user.
Two phases are included in this script, a "Preparation" phase and a "Lead-Up" phase, each with a customizable amount of steps, as well as other characteristics.
Users can also highlight the last step leading to each phase completion with a level, this level can eventually be used as a key price point.
🔶 USAGE
The script highlights two phases, each being based on a sequence of events requiring prices to be higher/lower than prices various bars ago.
The completion of the preparation phase will lead to the evaluation of the lead-up phase, however, it isn't uncommon to see a reversal occurring after the completion of a preparation phase. In the script, bullish preparations are highlighted in green, while bearish preparations are highlighted in red.
Completion of a "Lead-Up" phase is indicative of a potential reversal, with a bullish reversal for the completion of a bullish lead-up (in blue), and a bearish reversal for the completion of a bearish lead-up (in orange).
Using a higher length for the preparation/lead-up phases can allow the detection of longer-term reversals.
Users wishing to display levels based on specific phases completion can do so from the settings in the "Preparation/Lead-Up Completion Levels" settings group.
The "Show Last" settings determine the amount of respective levels to display on the chart.
🔶 PREPARATION PHASE
The "Preparation" phase precedes the "Lead-Up" phase. The completion of this phase requires N successive prices to be lower than the closing price P bars ago for a bullish phase, and for prices to be higher than the closing price P bars ago for a bearish phase, where N is the user set "Preparation Phase Length" and P the user set "Comparison Period".
🔹 Refined Preparations
Sequences of the preparation phase can either be "Standard" or "Refined". Unlike the standard preparation previously described a refined preparation requires the low prices from the user-specified steps in "Refined Preparation Steps" to be above the low price of the last step for a bullish preparation phase, and for the high prices specified in the refined preparation steps to be below the high price of the last step for a bearish preparation phase.
🔶 LEAD-UP PHASE
The "Lead-Up" phase is initiated by the completion of the "Preparation" phase.
Completion of this phase requires the price to be lower than the low price P bars ago N times for a bullish phase, and for prices to be higher than the high price P bars ago N times for a bearish phase, where N is the user set "Lead-Up Phase Length" and P the user set "Comparison Period".
Unlike with the "Preparation" phase these conditions don't need to be successive for them to be valid and can occur at any time.
🔹 Lead-Up Cancellation
Incomplete "Lead-Up" phases can be canceled and removed from the chart once a preparation of the opposite sentiment is completed, avoiding lead-ups to be evaluated after completion of complete preparations.
This can be disabled by toggling off "Apply Cancellation".
🔹 Lead-Up Suspension
Like with refined preparations, we can require specific steps from the lead-up phase to be higher/lower than the price on the last step. This can be particularly important since we do not require lead-up steps to be successive.
For a bullish lead-up, the low of the last step must be lower than the minimum closing prices of the user-specified steps for it to be valid, while for a bearish lead-up, the high of the last step must be higher than the maximum closing prices of the user-specified steps for it to be valid.
This effectively allows for eliminating lead-up phases getting completed on opposite trends.
🔶 SETTINGS
🔹 Preparation Phase
Preparation Phase Length: Length of the "Preparation" phase.
Comparison Period: Offset used to compare current prices to past ones.
Preparation Type: Type of preparation to evaluate, options include "Standard" or "Refined"
Refined Preparations Steps: Steps to evaluate when preparation type is "Refined"
🔹 Lead-Up Phase
Lead-Up Phase Length: Length of the "Lead-Up" phase.
Comparison Period: Offset used to compare current prices to past ones.
Suspension: Applies suspension rule to evaluate lead-up completion.
Suspension Steps: Specifies the steps evaluated to determine if the lead-up referral is respected. Multiple steps are supported and should be comma-separated.
Apply Cancellation: Cancellation will remove any incomplete lead-up upon the completion of a new preparation phase of the opposite sentiment.
🔹 Levels
Bullish Preparations Levels: When enabled display price levels from completed bullish preparations.
Show Last: Number of most recent bullish preparations levels to display.
Bearish Preparations Levels: When enabled display price levels from completed bearish preparations.
Show Last: Number of most recent bearish preparations levels to display.
Komut dosyalarını "luxalgo" için ara
Periodic Activity Tracker [LuxAlgo]The Periodic Activity Tracker tool periodically tracks the cumulative buy and sell volume in a user-defined period and draws the corresponding matching bars and volume delta for each period.
Users can select a predefined aggregation period from the following options: Hourly, Daily, Weekly, and Monthly.
🔶 USAGE
This tool provides a simple and clear way of analyzing volumes for each aggregated period and is made up of the following elements:
Buy and sell volumes by period as red and green lines with color gradient area
Delta (difference) between buy & sell volume for each period
Buy & sell volume bars for each period
Separator between lines and bars, and period tags below each pair of bars for ease of reading
On the chart above we can see all the elements displayed, the volume level on the lines perfectly matches the volume level on the bars for each period.
In this case, the tool has the default settings so the anchor period is set to Daily and we can see how the period tag (each day of the week) is displayed below each pair of bars.
Users can disable the delta display and adjust the bar size.
🔹 Reading The Tool
In trading, assessing the strength of the bulls (buyers) and bears (sellers) is key to understanding the current trading environment. Which side, if any, has the upper hand? To answer this question, some traders look at volume in relation to price.
This tool provides you with a view of buy volume versus sell volume, allowing you to compare both sides of the market.
As with any volume tool, the key is to understand when the forces of the two groups are balanced or unbalanced.
As we can observe on the chart:
NOV '23: Buy volume greater than sell volume, both moving up close together, flat delta. We can see that the price is in range.
DEC '23: Buy volume bigger than Sell volume, both moving up but with a bigger difference, bigger delta than last month but still flat. We can see the price in the range above last month's range.
JAN '24: Buy and sell volume tied together, no delta whatsoever. We can see the price in range but testing above and below last month's range.
FEB '24: Buy volume explodes higher and sell volume cannot keep up, big growing delta. Price explodes higher above last month's range.
Traders need to understand that there is always an equal number of buyers and sellers in a liquid market, the quality here is how aggressive or passive they are. Who is 'attacking' and who is 'defending', who is using market orders to move prices, and who is using limit orders waiting to be filled?
This tool gives you the following information:
Lines: if the top line is green, the buyers are attacking, if it is red, the sellers are attacking.
Delta: represents the difference in their strength, if it is above 0 the buyers are stronger, if it is below 0 the sellers are stronger.
Bars: help you to see the difference in strength between buyers and sellers for each period at a glance.
🔹 Anchor Period
By default, the tool is set to Hourly. However, users can select from a number of predefined time periods.
Depending on the user's selection, the bars are displayed as follows:
Hourly : hours of the current day
Daily : days of the current week
Weekly : weeks of the current month
Monthly : months of the current year
On the chart above we can see the four periods displayed, starting at the top left and moving clockwise we have hourly, daily, weekly, and monthly.
🔶 DETAILS
🔹 Chart TimeFrame
The chart timeframe has a direct impact on the visualization of the tool, and the user should select a chart timeframe that is compatible with the Anchor period in the tool's settings panel.
For the chart timeframe to be compatible it must be less than the Anchor period parameter. If the user selects an incompatible chart timeframe, a warning message will be displayed.
As a rule of thumb, the smaller the chart timeframe, the more data the tool will collect, returning indications for longer-term price variations.
These are the recommended chart timeframes for each period:
Hourly : 5m charts or lower
Daily : 1H charts or lower
Weekly : 4H charts or lower
Monthly : 1D charts or lower
🔹 Warnings
This chart shows both types of warnings the user may receive
At the top, we can see the warning that is given when the 'Bar Width' parameter exceeds the allowed value.
At the bottom is the incompatible chart timeframe warning, which prompts the user to select a smaller chart timeframe or a larger "Anchor Period" parameter.
🔶 SETTINGS
🔹 Data Gathering
Anchor period: Time period representing each bar: hours of the day, days of the week, weeks of the month, and months of the year. The timeframe of the chart must be less than this parameter, otherwise a warning will be displayed.
🔹 Style
Bars width: Size of each bar, there is a maximum limit so a warning will be displayed if it is reached.
Volume color
Delta: Enable/Disable Delta Area Display
Delta ZigZag [LuxAlgo]The Delta ZigZag indicator is focused on volume analysis during the development of ZigZag lines. Volume data can be retrieved from a Lower timeframe (LTF) or real-time Tick data.
Our Delta ZigZag publication can be helpful in detecting indications of a trend reversal or potential weakening/strengthening of the trend.
This indicator by its very nature backpaints, meaning that the displayed components are offset in the past.
🔶 USAGE
The ZigZag line is formed by connecting Swings , which can be set by adjusting the Left and Right settings.
Left is the number of bars for evaluation at the left of the evaluated point.
Right is the number of bars for evaluation at the right of the evaluated point.
A valid Swing is a value higher or lower than the bars at the left/right .
A higher Left or Right set number will generally create broader ZigZag ( ZZ ) lines, while the drawing of the ZZ line will be delayed (especially when Right is set higher). On the other hand, when Right is set at 0, ZZ line are drawn quickly. However, this results in a hyperactive switching of the ZZ direction.
To ensure maximum visibility of values, we recommend using " Bars " from the " Bar's style " menu.
🔹 Volume examination
The script provides two options for Volume examination :
Examination per ZigZag line
Examination per bar
Bullish Volume is volume associated with a green bar ( close > open )
Bearish Volume is volume associated with a red bar ( close < open )
Neutral Volume (volume on a " close == open" bar) is not included in this publication.
🔹 Examination per ZigZag line
As long as the price moves in the same direction, the present ZZ line will continue. When the direction of the price changes, the bull/bear volume of the previous ZZ line is evaluated and drawn on the chart.
The ZZ line is divided into two parts: a bullish green line and a bearish red line.
The intercept of these two lines will depend on the ratio of bullish/bearish volume
This ratio is displayed at the intercept as % bullish volume (Settings -> Show % Bullish Volume)
* Note that we cannot draw between 2 bars. Therefore, if a ZZ line is only 1 bar long, the intercept will be at one of those 2 bars and not in between. The percentage can be helpful in interpreting bull/bear volume.
In the example above (2 most right labels), you can see that an overlap of 2 labels is prevented, ensuring the ability to evaluate the bullish % volume of the ZZ line .
The percentage will be colored green when more than 50%, red otherwise. The color will fade when the direction is contradictory; for example, 40% when the ZZ line goes up or 70% when the ZZ line falls.
More details can be visualized by enabling " Show " and choosing 1 of 3 options:
Average Volume Delta/bar
Average Volume/bar
Normalised Volume Delta
For both 'averages', the sum of " Volume "/" Volume Delta " of every bar on the ZZ line is divided by the number of bars (per ZZ line ).
The " Normalised Volume Delta " is calculated by dividing the sum of " Delta Volume " by the sum of " Volume " (neutral volume not included), which is displayed as a percentage.
All three options will display a label at the last point of the ZZ line and be coloured similarly: green when the ratio bullish/bearish volume of the ZZ line is bullish and red otherwise. Here, the colour also fades when it is bullish, but the ZZ line falls or when it is bearish with a rising ZZ line .
A tooltip at each label hints at the chosen option.
You can pick one of the options or combine them together.
🔹 Examination per bar
Besides information about what's happening during the ZZ line , information per bar can be visualized by enabling " Show Details " in Settings .
Split Volume per bar : show the sum of bullish (upV) and bearish (dnV) volume per bar
Volume (bar) : Total Volume per bar (bullish + bearish volume, neutral volume not included)
Δ Volume (bar) : Show Delta Volume (bullish - bearish volume)
🔹 Using Lower Timeframe Data
The ZigZag lines using LTF data are colored brighter. Also note the vertical line where the LTF data starts and the gap between ZZ lines with LTF data and without.
When " LTF " is chosen for the " Data from: " option in Settings , data is retrieved from Lower Timeframe bars (default 1 minute). When the LTF setting is higher than the current chart timeframe, the LTF period will automatically be adjusted to the current timeframe to prevent errors.
As there is a 100K limit to the number of LTF intrabars that can be analyzed by a script, this implies the higher the difference between LTF and current TF; the fewer ZZ lines will be seen.
🔹 Using real-time tick data
The principles are mostly the same as those of LTF data. However, in contrast with LTF data, where you already have LTF ZZ lines when loading the script, real-time tick data-based ZZ lines will only start after loading the chart.
Changing the settings of a ticker will reset everything. However, returning to the same settings/ticker would show the cached data again.
Here, you can see that changing settings reset everything, but returning after 2 minutes to the initial settings shows the cached data. Don't expect it to be cached for hours or days, though.
🔶 DETAILS
The timeframe used for LTF data should always be the same or lower than the current TF; otherwise, an error occurs. This snippet prevents the error and adjusts the LTF to the current TF when LTF is too high:
res = input.timeframe('1')
res := timeframe.from_seconds( math.min( timeframe.in_seconds(timeframe.period), timeframe.in_seconds(res) ) )
🔶 SETTINGS
Data from: LTF (Lower TimeFrame) or Ticks (Real-time ticks)
Res: Lower TimeFrame (only applicable when choosing LTF )
Option: choose " high/low " or " close " for Swing detection
🔹 ZigZag
Left: Lookback period for Swings
Right: Confirmation period after potential Swing
🔹 ZigZag Delta
Show % Bullish Volume : % bullish volume against total volume during the ZZ line
Show:
Average Volume Delta/bar
Average Volume/bar
Normalised Volume Delta
See USAGE for more information
🔹 Bar Data
Split Volume per bar: shows the sum of bullish ( upV ) and bearish ( dnV ) volume per bar
Volume (bar): Total Volume per bar (bullish + bearish volume, neutral volume not included)
Δ Volume (bar): Show Volume Delta (bullish - bearish volume)
Historical Correlation [LuxAlgo]The Historical Correlation tool aims to provide the historical correlation coefficients of up to 10 pairs of user-defined tickers starting from a user-defined point in time.
Users can choose to display the historical values as lines or the most recent correlation values as a heat map.
🔶 USAGE
This tool provides historical correlation coefficients, the correlation coefficient between two assets highlight their linear relationship and is always within the range (-1, 1).
It is a simple and easy to use statistical tool, with the following interpretation:
Positive correlation (values close to +1.0): the two assets move in sync, they rise and fall at the same time.
Negative correlation (values close to -1.0): the two assets move in opposite directions: when one goes up, the other goes down and vice versa.
No correlation (values close to 0): the two assets move independently.
The user must confirm the selection of the anchor point in order for the tool to be executed; this can be done directly on the chart by clicking on any bar, or via the date field in the settings panel.
For the parameter Anchor period , the user can choose between the following values NONE, HOURLY, DAILY, WEEKLY, MONTHLY, QUARTERLY and YEARLY. If NONE is selected, there will be no resetting of the calculations, otherwise the calculations will start from the first bar of the new period.
There is a wide range of trading strategies that make use of correlation coefficients between assets, some examples are:
Pair Trading: Traders may wish to take advantage of divergences in the price movements of highly positively correlated assets; even highly positively correlated assets do not always move in the same direction; when assets with a correlation close to +1.0 diverge in their behavior, traders may see this as an opportunity to buy one and sell the other in the expectation that the assets will return to the likely same price behavior.
Sector rotation: Traders may want to favor some sectors that are expected to perform in the next cycle, tracking the correlation between different sectors and between the sector and the overall market.
Diversification: Traders can aim to have a diversified portfolio of uncorrelated assets. From a risk management perspective, it is useful to know the correlation between the assets in your portfolio, if you hold equal positions in positively correlated assets, your risk is tilted in the same direction, so if the assets move against you, your risk is doubled. You can avoid this increased risk by choosing uncorrelated assets so that they move independently.
Hedging: Traders may want to hedge positions with correlated assets, from a hedging perspective, if you are long an asset, you can hedge going long a negative correlated asset or going short a positive correlated asset.
Traders generally need to develop awareness, a key point is to be aware of the relationships between the assets we hold or trade, the historical correlation is an invaluable tool in our arsenal which allows us to make better informed decisions.
On this chart we have an example of historical correlations for several futures markets.
We can clearly see how positively correlated the Nasdaq100 and Dow30 are with the SP500 over the whole period, or how the correlation between the Euro and the SP500 falls from almost +85% to almost -4% since 2021.
As we can see, correlations, like everything else in the market, are not static and vary over time depending on many factors, from macro to technical and everything in between.
🔹 Heatmap
The chart above shows the tool with the default settings and the Drawing Mode set to 'HEATMAP'.
We can see the current correlation between the assets, in this case the FX pairs.
The highest positive correlation is +90% (+0.90) between EURUSD and GBPUSD.
The highest negative correlation is -78% (-0.78) between EURUSD and USDJPY.
The pair with no correlation is AUDUSD and EURCAD with 1% (0.01)
On the above chart we can see the current correlations for the futures markets.
Currently, the assets that are less correlated to the SP500 are NaturalGas and the Euro, the more positive correlations are Nasdaq100 and Dow20, and the more negative correlations are the Yen, Treasury Bonds and 10-Year Notes.
🔶 DETAILS
🔹 Anchor Period
This chart shows the standard FX correlations with the Anchor Period set to `MONTHLY`.
We can clearly see how the calculations restart with the new month, in this case we can clearly see the differences between the correlations from month to month.
Let us look at the correlation coefficient between GBPUSD and USDJPY
In January, their correlation started at close to -100%, rose to close to +50%, only to fall to close to 0% and remain there for the second half of the month.
In February it was -90% in the first few days of the month and is now around -57%.
And between AUDUSD and EURCAD
Last month their correlation was negative for most of the month, reaching -70% and ending around -14%.
This month their correlation has never gone below +21% and at the time of writing is close to +53%.
🔶 SETTINGS
Anchor point: Starting point from which the tool is executed
Anchor period: At the beginning of each new period, the tool will reset the calculations
Pairs from 1 to 10: For each pair of tickers, you can: enable/disable the pair, select the color and specify the two tickers from which you wish to obtain the correlation
🔹 Style
Drawing Mode: Output style, `LINES` will show the historical correlations as lines, `HEATMAP` will show the current correlations with a color gradient from green for correlations near 1 to red for correlations near -1.
All Time High (ATH) Levels [LuxAlgo]The All Time High (ATH) Levels indicator displays a user-set amount of historical all-time high levels made on the user's chart, highlighting potential key price levels.
Displayed levels can be filtered out based on their duration, as well as their relative distance from each other.
The script also evaluates the role a level might have as a support or resistance using a percentage, classifying ATH levels as either support or resistance depending on the result.
🔶 USAGE
On certain assets market participants give a high level of attention to all-time highs made by an asset, with the most pertinent example being Bitcoin.
Previous all-time highs can play important roles as psychological price levels, with the most recent ones often offering major resistance points, and older ones being used as support.
Users can filter out temporary ATHs using the ATH Minimum Duration setting, removing any ATH that lasts less than the user-specified number of bars. Higher values of this setting effectively preserve ATHs that become distinguishable peaks. These can offer more significant support/resistance levels.
When displaying each historical level some of them can be very close to each other. Users can use the "Minimum Distance Between ATH" setting to filter out levels too close to each other, with higher values of this setting returning more spaced levels. Distances are first evaluated from the most recent ATH. Note that this setting can cause repainting.
🔹 SR Classification
The script evaluates the ability of an ATH level to act as a support or resistance since its occurrence, and measures its strength as a percentage, with higher percentage values suggesting a stronger support or resistance.
Levels classified with "R" suggest that the price was located below the level most of the time, indicative of a resistance, while a level classified with "S" suggests that the price was located above the level most of the time, indicative of a support.
Percentages between 99% to 50% are often indicative of supports/resistances being tested, while values below 50% reflect more centered levels. A value of 100% suggests that an ATH level was not tested enough. users can filter out any level with a percentage below the "Minimum %" setting.
🔶 SETTINGS
Show Last ATH: Specify the amount of most recent ATH's to display.
ATH Minimum Duration: Minimum duration (in bars) of an ATH, that is the minimum number of bars that must elapse before another ATH can be made.
Minimum Distance Between ATH: Minimum distance between displayed ATH levels, starting from the most recent ATH. This distance is a multiple of the average true range.
🔹 SR Classification
Show SR%: Show percentage as well as ATH level classification.
Minimum %: Minimum percentage values required to display an ATH level.
Historical Price Projection [LuxAlgo]The Historical Price Projection tool aims to project future price behavior based on historical price behavior plus a user defined growth factor.
The main feature of this tool is to plot a future price forecast with a surrounding area that exactly matches the price behavior of the selected period, with or without added drift.
Other features of the tool include:
User-selected period up to 500 bars anywhere on the chart within 5000 bars
User selected growth factor from 0 (no growth) to 100, this is the percentage of drift to be used in the forecast.
User selected area wide
Show/hide forecast area
🔶 USAGE
This tool generates a price projection with exactly the same price behavior over the period selected by the user, plus a growth factor .
The user must confirm the selection of the anchor point in order for the tool to be executed; this can be done directly on the chart by clicking on any bar, or via the date field in the settings panel.
As we can see on this chart, the four phases of the market cycle are clearly defined and marked, so we choose the distribution phase as our anchor point because in our analysis, we want to see how the market would behave if we were currently at the same point in the cycle.
In the image above, the growth factor parameter is set to 0 so that the projection matches the selection. The tool will use up to 500 bars after the selection point.
The growth factor is defined as the percentage of drift that the tool will use.
Drift is defined as follows:
For periods with a positive return: average negative return within the period
For negative return periods: average positive return within the period
On the chart above, we have selected the same period but added a growth factor of 10, so that the tool uses a 10% drift in its calculations of future prices.
As the return in the selected period is negative, the added drift will make the projection more bearish than the prices from the selection.
On this chart we have changed the selected period, we have chosen the accumulation phase of the last cycle as the anchor point, again with a growth factor of 10%.
As we can see, prices explode higher, making the projection very bullish, as the added effect of both the bullish selected period and the 10% drift is taken into account.
This last chart is a long-term chart, a quarterly chart of the Dow, and it will serve as a review exercise.
What if... everything goes south and the crash of '29 is repeated?
The answer is in the chart, and it is not for the faint of heart
In this case we have chosen a growth factor of 0 to see exactly the same price behaviour projected into the future.
🔶 SETTINGS
🔹 Data Gathering
Anchor point: Starting point for data collection, up to 500 bars will be used.
🔹 Data Transformation
Growth Factor: Values from 0 to 100, is the amount of drift used to calculate the next price in the series.
Area Width: Values from 0 to 100, controls the width of the area around the forecast as an increment/decrement of the growth factor.
🔹 Style
Price line width: Size of the price line.
Bullish color
Bearish color
Show Area: Show forecast area.
Area color
Fair Value Gaps Mitigation Oscillator [LuxAlgo]The Fair Value Gaps Mitigation Oscillator is an oscillator based on the traditional Fair Value Gaps (FVGs) imbalances. The oscillator displays the current total un-mitigated values for the number of FVGs chosen by the user.
The indicator also displays each New FVG as a bar representing the current ratio of the New FVG in relation to the current un-mitigated total for its direction.
🔶 USAGE
When an FVG forms, it is often interpreted as strong market sentiment in the direction of the gap. For example, an upward FVG during an uptrend is typically seen as a confirmation of the strength and continuation of the trend, as it indicates that buyers are willing to purchase at higher prices without much resistance, suggesting strong demand and positive sentiment.
By analyzing the mitigation (or lack thereof), we can visualize the increase of directional strength in a trend. This is where the proposed oscillator is useful.
🔶 DETAILS
The oscillator's values are expressed as Percentages (%). Each FVG is allocated 100% of the total of its width with a max potential value of 100 and minimum potential value of 0.
Based on the "FVG Lookback" Input, the FVGs are scaled to fit within the range of +1 to -1. Using a higher "FVG Lookback" value will allow you to get indications of longer-term trends.
A higher value of the normalized bullish FVG areas suggest a stronger and cleaner uptrend, while lower values of the bearish the normalized bullish FVG areas suggest a stronger and cleaner downtrend.
+1 or -1 indicates that there is a Full Lookback of FVGs, and each one is fully un-mitigated, and the opposite direction of FVGs is entirely Mitigated.
When the price closes over/under or within an FVG it begins to get mitigated, when this happens the % of mitigation is subtracted from the total.
When a New FVG is formed, a Histogram bar is created representing the ratio of the current FVG's width to the total width off all un-mitigated FVGs.
The entire bar represents 100% of total un-mitigated FVG Width.
The filled area represents the current FVG's width relative to the whole.
A 50% hash mark is also displayed for reference.
🔶 SETTINGS
FVG Lookback - Determines the number of FVGs (Bullish and Bearish Pairs) to keep in memory for analysis.
Market Structure with Inducements & Sweeps [LuxAlgo]The Market Structure with Inducements & Sweeps indicator is a unique take on Smart Money Concepts related market structure labels that aims to give traders a more precise interpretation considering various factors.
Compared to traditional market structure scripts that include Change of Character (CHoCH) & Break of Structures (BOS) -- this script also includes the detection of Inducements (IDM) & Sweeps which are major components of determining other structures labeled on the chart.
SMC & price action traders have historically considered this a more accurate representation of market structure by including these components.
🔶 USAGE
Below we can see a diagram for how market structure is displayed within the Market Structure with Inducements & Liquidity indicator.
Change of Characters (CHoCH) are based on swing points detection, while Break of Structures (BOS) are based on trailing maximum & minimums from the detected Change of Characters. We do this for a more dynamic & timely display of market structure.
🔹 Inducements (IDM)
Traders that consider inducements as a part of their analysis of Change of Characters & Break of Structures can more easily avoid fakeouts within trends as shown below.
In this script IDM's are always required between each market structures.
🔹 Sweeps of Liquidity (x)
SMC traders looking to properly analyze market structure need to look for sweeps of liquidity to ensure levels that are wicked are noted as sweeps, while levels that are fully closed above / below are labeled as confirmed market structures.
In the chart below we can see a Sweep of Liquidity which typically can occur on the longer term price action and indicate a potential reversal.
Notably, since labels such as CHoCH or BOS's can occur at the same level as a Sweep of liquidity, we have allowed the indicator to display the market structure label at the current bar in the event this happens.
The Sweeps of Liquidity are also based on trailing maximum / minimum, which allows for a continuous evaluation of areas for liquidity sweeps to occur.
This can be helpful for traders looking for longer term & shorter term sweeps.
🔶 SETTINGS
CHoCH Detection Period: Detection period for CHoCH's, higher values will return longer term CHoCH's.
IDM Detection Period: Detection period for IDM's, higher values will return longer term IDM's.
Thank you all for 500k followers on TradingView! Enjoy!
Daily Chess Puzzles [LuxAlgo]Play Chess Puzzles right on your Chart!
Daily Chess Puzzles brings you a new 1-Move chess puzzle straight to your chart every day.
🔶 USAGE
Submit your answer to see if your solution is correct! For quick access to the settings, Double-Click on the Chess board to open the settings interface.
The current active color (Who's move it is) is represented by the color of the information bar, and the corner board squares.
This game uses long algebraic notation without pieces names for submitting moves.
This method for determining moves is perfect for simplicity and clarity, and is standard for the Universal Chess Interface (UCI).
🔹 How to Notate
Long algebraic notation (without pieces name) is simple to understand. This notation does not use capture symbols or check/checkmate symbols; it uses only the squares involved in the move and any promotion occurring.
{Starting Square}{Ending Square}{Promotion Piece(if needed)}
Locate the starting square and the ending square of the piece being moved, without mentioning the piece itself.
Identify the column letters (a-h) and row numbers (1-8) that align with your desired move.
If a pawn reaches the opposite end of the board the pawn gets promoted, add the letter representing the piece it is promoted to at the end of the move.
Put it all together and you've got your notation!
Piece Notations for Pawn Promotions:
'n' for Knight ('k' is reserved for the King in chess notation)
'b' for Bishop
'r' for Rook
'q' for Queen
Normal Move Example: Moving a piece from e2 to e4 is notated as "e2e4".
Pawn Promotion Example: Promoting a pawn to a queen is notated as "e7e8q".
🔶 DETAILS
Miss a day? Yesterday's puzzle can be re-played, check the box for 'View Yesterday's Puzzle' in the settings.
This indicator makes use of Tooltips! . Hover over a square to see that square's notation.
This script makes use of 5 libraries, each storing 2 years worth of daily chess puzzles amounting to 10 years of unique daily chess puzzles.
"timenow" is used to determine which day it is, so even on a closed ticker or weekend or holiday a new chess puzzle will be displayed.
Users have the option to choose from 5 different board themes.
MACD Based Price Forecasting [LuxAlgo]The MACD Based Price Forecasting tool is an innovative price forecasting method based on signals generated by the MACD indicator.
The forecast includes an area which can help traders determine the area where price can develop after a MACD signal.
🔶 USAGE
The forecast returned by the tool allows users to obtain a general picture of how price tends to progress after a specific MACD signal. The forecast is constructed based on percentiles of previous price progressions done after a specific MACD signal is generated.
Users can change which condition is used to generate MACD signals from the "Trend Determination" dropdown menu, with "MACD" determining trends based on whether the MACD is positive (uptrend) or negative (downtrend) and "MACD-Signal" determining trends based on the position of the MACD relative to its signal line, with an MACD above the signal line indicating an uptrend, else a downtrend.
Users can introduce bias to the forecast by changing the "Average Percentage" setting, with values above 50% introducing bullish bias, and below bearish bias.
It can be possible for the forecast to highlight potential reversals depending on the selected forecasting horizon as long as reversals can be observed on trends detected by the MACD.
🔹 Forecasting Area
The forecasting area can help visualize the area that will likely contain price after a specific signal. The area width is based on the "Top/Bottom Percentiles" settings, with a higher "Top Percentile" value returning a higher top bound and a lower "Bottom Percentile" value returning a lower bottom bound.
These areas can also serve as potential support/resistance areas.
🔶 SETTINGS
Fast Length: Fast length of the moving average used to compute the MACD
Slow Length: Slow length of the moving average used to compute the MACD
Signal Length: Length of the MACD moving average.
Trend Determination: Method used to determine a trend direction from the MACD.
🔹 Forecast
Maximum Memory: Determines the maximum amount of prices recorded at each steps succeeding a signal. Lower values will return forecasts with a higher degree of variability.
Forecasting Length: Forecasting horizon in bars, this value only serves as a limit of the forecasting horizon and might not be reached depending on user selected MACD settings.
Top Percentile: Percentile value used to determine the upper bound of the forecasting area.
Average Percentile: Percentile value used to determine the forecast.
Lower Percentile: Percentile value used to determine the lower bound of the forecasting area.
Stablecoin Dominance [LuxAlgo]The Stablecoin Dominance tool displays the evolution of the relative supply dominance of major stablecoins such as USDT, USDC, BUSD, DAI, and TUSD.
Users can disable supported stablecoins to only show the supply dominance relative to the ones enabled.
🔶 USAGE
The stablecoin space is subject to constant change due to new arriving stablecoins, regulation, collapse of coins...etc.
Studying the evolution in supply dominance can help see the effect that certain events can have on the stablecoin sphere.
This dominance graph is displayed over the user price chart to easily observe the correlation between stablecoin dominances and market prices. Users can still move the tool to a new pane below if having it on the price chart is not desired.
🔶 DETAILS
Supported stablecoins include:
Tether (USDT)
USD Coin (USDC)
Binance USD (BUSD)
Dai (DAI)
TrueUSD (TUSD)
Supply dominance of a stablecoin is calculated by dividing the total supply of that stablecoin by the total supply of all enabled stablecoins. That is for N stablecoins:
sd(stablecoin A) = supply(stablecoin 1) / [supply(stablecoin 1) + supply(stablecoin 2) + supply(stablecoin 3) + ... + supply(stablecoin N)
🔹 Display
Users can control the fill style of the displayed areas, with "Gradient" enabled by default. Using "Solid" will use a solid color for each area:
This can improve the performance of the script.
Selecting "None" will not display areas.
🔶 SETTINGS
Fill Style: Fill style of the areas between each returned supply dominance. "Gradient" will color the areas using a gradient, while "Solid" will use a solid color.
Stablecoins List: List of stablecoins used for the supply dominance calculation, disabling one stablecoin will exclude it from all calculations.
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.
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
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
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).
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.
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.