Squeeze Index [LuxAlgo]The Squeeze Index aims to measure the action of price being squeezed, and is expressed as a percentage, with higher values suggesting prices are subject to a higher degree of compression.
Settings
Convergence Factor: Convergence factor of exponential envelopes.
Length: Period of the indicator.
Src: Source input of the indicator.
Usage
Prices being squeezed refer to the action of price being compressed within a tightening area. Prices in a tight area logically indicate a period of stationarity, price breaking out of this area will generally indicate the trader whether to buy or sell depending on the breakout direction.
The convergence factor and length settings both play an important role in the returned indicator values. A convergence factor greater than the period value will detect more squeezed prices area, while a period greater than the convergence will return fewer detected squeezed areas.
We recommend using a convergence factor equal to the period setting or a convergence factor twice as high.
The above chart makes use of a convergence factor of 100 and a period of 10.
Due to the calculation method, it is possible to see retracements being interpreted as price squeezing. This effect can be emphasized with higher convergence factor values.
Details
In order to measure the effect of price being squeezed in a tighter area we refer to damping, where the oscillations amplitude of a system decrease over time. If the envelopes of a damped system can be estimated, then getting the difference between the upper and lower extremity of these envelopes would return a decreasing series of values.
This approach is used here. First the difference between the exponential envelopes extremities is obtained, the logarithm of this difference if obtained due to the extremities converging exponentially toward their input.
We then use the correlation oscillator to get a scaled measurement.
Luxalgo
Signal Moving Average [LuxAlgo]The following script returns a moving average designed to be used as a signal line in a moving average crossover system. The moving average will diverge from the price during ranging markets and reach the value of a regular moving average during trending markets.
Settings
Length: Moving average period
Src: Source input of the indicator
Usage
Moving average crossover strategies often rely on a "signal" line, a slower moving average used to determine a general trend. This signal line is paired with a faster moving average to filter out potential whipsaw trades that would have been given from crosses between the regular price and the signal line.
The proposed indicator will avoid crossing the price by diverging from it during more ranging periods, thus effectively reducing the number of crosses produced between the price and the signal line.
The color of the area between the price and the signal line is determined by the position of the price relative to the signal line, with a green color indicator a price superior to the signal line.
The color of the signal line, however, is taking into account whether market is trending or ranging, only changing once the market is trending.
The chart above shows the cumulated number of crosses between the price and the signal line (green) and a regular simple moving average of the same period (red) on AMD 15m, a lowered number of crosses can effectively reduce the impact of frictional costs introduced by whipsaw trades.
Candlestick Channels [LuxAlgo]Candlestick Channels return channels whose extremities converge towards the price when a corresponding candlestick pattern is detected. This allows for us to obtain more reactive extremities in the presence of a cluster of candlestick patterns.
The detected candlestick patterns are also highlighted with labels on your chart automatically.
Settings
Trend Length: Period of the stochastic oscillator used to determine trend sentiment; this sentiment is used to detect certain candlestick patterns.
Convergence: Convergence percentage of the channel extremities used during the occurrence of a candlestick pattern. A lower value will return extremities converging more slowly toward the price.
Smooth: Determines the degree of smoothness of the channel extremities.
Patterns
This category determines which patterns are detected by the indicator. Patterns toggled off will not be detected and won't affect the channels.
Usage
Candlesticks patterns are commonly used by traders to detect potential reversals or continuation periods in the price. It can be of interest to use them as core elements in the calculation of more classical indicators, this can allow us to filter out potential false signals returned by candlestick patterns by shifting the source of interpretation towards the channel extremities instead.
In this indicator extremities converge towards the price when a corresponding pattern is detected. As such bullish patterns will make the upper extremity converge towards the price, facilitating a cross with price. Using a lower convergence percentage will require a greater number of patterns to make the extremity converge closer towards the price.
Users can use the channel like most indicators returning extremities, with an uptrend being detected when price cross over the upper extremity and a downtrend being detected when price cross under the lower extremity.
An approach solely making use of crosses between the price and the average line can be used but the user should expect further whipsaws signals.
Users can eventually use the candlestick patterns as entries and use the extremities for confirmation. For example, users can follow a candlestick pattern return an indication in accordance with the detected trend by the channels.
This approach would lead to the following of bullish patterns when they occur in an uptrend, that is when the price is above the average line (in orange). The same logic applies to bearish patterns.
The chart above highlights the candlesticks patterns in accordance with a detected trend.
Notes
- Bullish/Bearish engulfing patterns are turned off by default due their more frequent appearance.
- Candlestick patterns relying on gaps were not included, since they would be more uncommon in cryptocurrencies, thus leading to a disparity between the indicator performance on the cryptocurrency and stock market.
Fair Value Gap [LuxAlgo]Fair value gaps (FVG) highlight imbalances areas between market participants and have become popular amongst technical analysts. The following script aims to display fair value gaps alongside the percentage of filled gaps and the average duration (in bars) before gaps are filled.
Users can be alerted when an FVG is filled using the alerts built into this script.
🔶 USAGE
In practice, FVG's highlight areas of support (bullish FVG) and resistances (bearish FVG). Once a gap is filled, suggesting the end of the imbalance, we can expect the price to reverse.
This approach is more contrarian in nature, users wishing to use a more trend-following approach can use the identification of FVG as direct signals, going long with the identification of a bullish FVG, and short with a bearish FVG.
🔹 Mitigation
By default, the script highlights the areas of only unmitigated FVG's. Users can however highlight the mitigation level of mitigated FVG's, that is the lower extremity of bullish FVG's and the upper extremity of bearish FVG's.
The user can track the evolution of a mitigated FVG's using the "Dynamic" setting.
🔹 Threshold
The gap height can be used to determine the degree of imbalance between buying and selling market participants. Users can filter fair value gaps based on the gap height using the "Threshold %" setting. Using the "Auto" will make use of an automatic threshold, only keeping more volatile FVG's.
🔶 DETAILS
We use the following rules for detecting FVG's in this script:
Bullish FVG
low > high(t-2)
close(t-1) > high(t-2)
(low - high(t-2)) / high(t-2) > threshold
Upper Bullish FVG = low
Lower Bullish FVG = high(t-2)
Bearish FVG
high < low(t-2)
close(t-1) < low(t-2)
(low(t-2) - high) / high < -threshold
Upper Bearish FVG = low(t-2)
Lower Bearish FVG = high
🔶 SETTINGS
Threshold %: Threshold percentage used to filter our FVG's based on their height.
Auto Threshold: Use the cumulative mean of relative FVG heights as threshold.
Unmitigatted Levels: Extent the mitigation level of the number of unmitigated FVG's set by the user.
Mitigation Levels: Show the mitigation levels of mitigated FVG's.
Timeframe : Timeframe of the price data used to detect FVG's.
Moving Averages Proximity Oscillator [LuxAlgo]This indicator returns the percentage or count of prices greater than simple moving averages with periods in a user set range, as well as the moving average period that is the closest to price values.
Settings
Minimum Length: Minimum SMA period
Maximum Length: Maximum SMA period
Smooth: Control the degree of smoothness of the indicator outputs
Normalized: Normalize the indicator outputs in a range (0, 100)
Src: Input source of the indicator
Usage
The indicator returns two outputs.
The "Price Above MA's" output returns for a current price value the number of times this one is greater than simple moving averages with periods ranging from Minimum Length to Maximum Length . This oscillator can be expressed as a percentage if Normalized is selected.
This oscillator allows identifying the direction of an underlying trend in the price. Higher Minimum Length and Maximum Length settings will return indications regarding longer term price variations, while shorter ranges will return less detailed outputs. This can be seen in the chart above where Minimum Length = 80 to Maximum Length = 100 .
The "Proximity Index" output on the other end does not return information regarding the direction of an underlying trend but the period of the simple moving average with periods ranging from Minimum Length to Maximum Length that is the closest to the current price value.
For various simple moving averages of differing periods, we can see that SMA's with shorter periods will tend to stay closer to the price, when price start reverting it will reach higher periods moving averages.
As such, this second indicator output can help identify the start of new trends, with higher values indicating price is reverting toward longer-term moving averages, suggesting a new trend forming.
TF Segmented Polynomial Regression [LuxAlgo]This indicator displays polynomial regression channels fitted using data within a user selected time interval.
The model is fitted using the same method described in our previous script:
Settings
Degree: Degree of the fitted polynomial
Width: Multiplicative factor of the model RMSE. Controls the width of the polynomial regression's channels
Timeframe: Fits the polynomial regression using data within the selected timeframe interval
Show fit for new bars: If selected, will fit the regression model for newly generated bars, else the previous fitted value is displayed.
Src: Input source
Usage
Segmented (or piecewise) models yield multiple fits by first partitioning the data into multiple intervals from specific partitioning conditions. In this script this partitioning condition is for a user selected timeframe to change.
Segmented models can be particularly pertinent for market prices, which often describes a series of local trends.
Segmented polynomial regressions can describe the nature of underlying trends in the price from their fit, such as if an underlying trend is more linear (trending) or constant (ranging), and if a trend is monotonic.
The above chart shows a monthly partitioning on SPX 15m, using a polynomial regression of degree 3. Channel extremities allows highlighting local tops/bottoms.
For real time applications users can choose to fit a current model to incoming price data using the Show fit for new bars settings.
Details
The script does not make use of line.new to display the segmented linear regressions, which allows showing a higher number of historical fits. Each channel extremity as well as the model fit is displayed from the plot function, as such user can more easily set alerts on them.
It is important to note that achieving this requires accessing future price data, as such this script is subject to lookahead bias, historical results differ from the results one could have obtained in real-time.
Moving Average Converging [LuxAlgo]This indicator returns a moving average converging toward the price the more a trend makes new higher-highs or lower-lows depending on the detected trend.
Settings
Length: Controls the initial moving average smoothing factor ( 2 / (Length + 1) ), as well as the period of rolling maximums/minimums.
Increment: Smoothing factor increment ( 2 / (Increment+ 1) ) for new higher-high/lower-low, lower values would return a faster converging moving average.
Fast: Fast moving average smoothing factor.
Usage
The proposed moving average can be used like most slow moving averages.
Having a moving average able to converge closer to the price the longer a trend lasts allows users to obtain more timely crosses. This practice can remind us of the Parabolic SAR or our TRAMA indicator:
Notice on the chart above how the moving average converges at an increasing rate with the occurrence of new high-highs/lower-lows.
Visible Range Mean Deviation Histogram [LuxAlgo]This script displays a histogram from the mean and standard deviation of the visible price values on the chart. Bin counting is done relative to high/low prices instead of counting the price values within each bin, returning a smoother histogram as a result.
Settings
Bins Per Side: Number of bins computed above and below the price mean
Deviation Multiplier: Standard deviation multiplier
Style
Relative: Determines whether the bins length is relative to the maximum bin count, with a length controlled with the width settings to the left.
Bin Colors: Bin/POC Lines colors
Show POCs: Shows point of controls
Usage
Histograms are generally used to estimate the underlying distribution of a series of observations, their construction is generally done taking into account the overall price range.
The proposed histogram construct N intervals above*below the mean of the visible price, with each interval having a size of: σ × Mult / N , where σ is the standard deviation and N the number of Bins per side and is determined by the user. The standard deviation multipliers are highlighted at the left side of each bin.
A high bin count reflects a higher series of observations laying within that specific interval, this can be useful to highlight ranging price areas.
POCs highlight the most significant bins and can be used as potential support/resistances.
Parabolic SAR Oscillator [LuxAlgo]This indicator is a detrended price series using the Parabolic Stop and Reverse (SAR) trailing stop, resulting in a bounded oscillator in the range (-100, 100). The SAR output is also normalized to obtain a noiseless oscillator which can complement the detrended price.
Settings
Start: Initial value of the convergence factor used when a new trend is detected by the SAR
Increment: Increment value of the convergence factor
Maximum: Maximum value of the convergence factor
Usage
The price is detrended by subtracting the closing price to the SAR, this result is then normalized.
An up-trending market is indicated once the normalized SAR reaches -100, while a value of 100 indicates a down-trending market. One can anticipate trends when the normalized SAR crosses above/under 0.
The converging nature of the SAR trailing stop allows for the trader to obtain a very apparent leading oscillator.
Polynomial Regression Extrapolation [LuxAlgo]This indicator fits a polynomial with a user set degree to the price using least squares and then extrapolates the result.
Settings
Length: Number of most recent price observations used to fit the model.
Extrapolate: Extrapolation horizon
Degree: Degree of the fitted polynomial
Src: Input source
Lock Fit: By default the fit and extrapolated result will readjust to any new price observation, enabling this setting allow the model to ignore new price observations, and extend the extrapolation to the most recent bar.
Usage
Polynomial regression is commonly used when a relationship between two variables can be described by a polynomial.
In technical analysis polynomial regression is commonly used to estimate underlying trends in the price as well as obtaining support/resistances. One common example being the linear regression which can be described as polynomial regression of degree 1.
Using polynomial regression for extrapolation can be considered when we assume that the underlying trend of a certain asset follows polynomial of a certain degree and that this assumption hold true for time t+1...,t+n . This is rarely the case but it can be of interest to certain users performing longer term analysis of assets such as Bitcoin.
The selection of the polynomial degree can be done considering the underlying trend of the observations we are trying to fit. In practice, it is rare to go over a degree of 3, as higher degree would tend to highlight more noisy variations.
Using a polynomial of degree 1 will return a line, and as such can be considered when the underlying trend is linear, but one could improve the fit by using an higher degree.
The chart above fits a polynomial of degree 2, this can be used to model more parabolic observations. We can see in the chart above that this improves the fit.
In the chart above a polynomial of degree 6 is used, we can see how more variations are highlighted. The extrapolation of higher degree polynomials can eventually highlight future turning points due to the nature of the polynomial, however there are no guarantee that these will reflect exact future reversals.
Details
A polynomial regression model y(t) of degree p is described by:
y(t) = β(0) + β(1)x(t) + β(2)x(t)^2 + ... + β(p)x(t)^p
The vector coefficients β are obtained such that the sum of squared error between the observations and y(t) is minimized. This can be achieved through specific iterative algorithms or directly by solving the system of equations:
β(0) + β(1)x(0) + β(2)x(0)^2 + ... + β(p)x(0)^p = y(0)
β(0) + β(1)x(1) + β(2)x(1)^2 + ... + β(p)x(1)^p = y(1)
...
β(0) + β(1)x(t-1) + β(2)x(t-1)^2 + ... + β(p)x(t-1)^p = y(t-1)
Note that solving this system of equations for higher degrees p with high x values can drastically affect the accuracy of the results. One method to circumvent this can be to subtract x by its mean.
Bollinger Bands Breakout Oscillator [LuxAlgo]The Bollinger Bands Breakout Oscillator is an oscillator returning two series quantifying the significance of breakouts between the price and the extremities of the Bollinger Bands indicator.
Settings
Length: Period of the Bollinger Bands indicator
Mult: Controls the width of the Bollinger Bands
Src: Input source of the indicator
Usage
Each series is calculated by summing the distance between price and a respective Bollinger Bands extremity in the case price is outside this extremity and divided by the sum of the absolute distance between price and a respective extremity. This sum is done over the most recent Length bars.
Bullish breakouts are represented by the green areas of the indicator, while bearish breakouts are represented by the red areas of the indicator.
The oscillator can determine the presence of an uptrend when the bullish area is superior to the bearish area, while a downtrend is indicated by a bearish area being superior to the bullish one. The significance of the breakout is determined by the amplitude of each area, with higher amplitudes indicating more significant breakouts or strong trends.
Using higher Mult values would naturally return wider bands, which would induce less frequent breakouts, this would be highlighted by the oscillator.
In the chart above we can see the oscillator using a multiplicative factor of 2.
Horns Pattern Identifier [LuxAlgo]The following script detects regular and inverted horn patterns. Detected patterns are displayed alongside their respective confirmation and take profit levels derived from the pattern measure rule. Breakout of the confirmation levels are highlighted with labels.
This script is a continuation of the educational idea regarding horns patterns.
Settings
Threshold: Controls the maximum allowed slope of the line connecting two horns, with higher values allowing a higher slope.
Usage
Horn patterns are chart patterns introduced by Bulkowski in his book "Encyclopedia of Chart Patterns". We covered this pattern in the following post: Horn Tops & Bottoms Patterns - How To Find and Trade Them
The script allows the user to quickly determine the presence of a regular or inverted horn pattern, alongside automatically displaying the confirmation level and take profits associated with a detected pattern. These are calculated based on the rules described by Bulkowski.
Horn patterns are highlighted by a line connecting the horns, the dotted lines represent the confirmation level, once the price crosses this level a label will appear, either bullish or bearish depending on the detected pattern. The dashed line represents the take profit level.
Liquidity Heatmap LTF [LuxAlgo]This indicator displays column heatmaps highlighting candle bodies with the highest associated volume from a lower user selected timeframe.
Settings
LTF Timeframe: Lower timeframe used to retrieve the closing/opening price and volume data. Must be lower than the current chart timeframe.
Other settings control the style of the displayed graphical elements.
Usage
It can be of interest to show which candles from a lower timeframe had the highest associated volume, this allows for the highlighting of areas where a candle body was the most traded by market participants.
The area with the highest activity is highlighted in the script with a yellow color (or another user selected color) and additionally by two lines forming an interval.
When the candle body with the highest volume is overlapped by a candle body with lower volume this one will be highlighted instead, hence why certain areas of high activity might not be highlighted by the heatmap.
It is recommended to hide regular candles or use a more discrete graphical presentation of prices when using this tool. Lines are also displayed to highlight the full candle range as well as if a candle was bullish (in green) or bearish (in red). These lines can be hidden if the user is only interested in the heatmap.
Supertrend Channels [LuxAlgo]The Supertrend is one of the most used indicators by traders when it comes to determining whether the market is up-trending or down-trending.
This indicator is displayed as a trailing stop, showing a lower monotonic extremity during up-trends and an upper monotonic extremity during down-trends. Today we propose a channel indicator based on the Supertrend trailing stop using trailing maximas/minimas.
Settings
Length: Atr length used by the Supertrend indicator.
Mult: Multiplicative factor for the Atr used by the Supertrend indicator.
Usage
The ability of the indicator to show an up-trend or down-trend is the same as the Supertrend, with rising channels when an up-trend is detected by the Supertrend and declining channels when a down-trend is detected by the Supertrend.
The look of the channels can remind of the Donchian channels indicator, and as such a similar usage can be appropriate. The extremities can for example be used as supports and resistances.
Additionally, the channel's average can be used to filter out noisy variations in the price while keeping a good distance from the price.
Fibonacci Progression with Breaks [LuxAlgo]This indicator highlights points where price significantly deviates from a central level. This deviation distance is determined by a user-set value or using a multiple of a period 200 Atr and is multiplied by successive values of the Fibonacci sequence.
Settings
Method: Distance method, options include "Manual" or "Atr"
Size: Distance in points if the selected method is "Manual" or Atr multiplier if the selected method is "Atr"
Sequence Length: Determines the maximum number of significant deviations allowed.
Usage
The indicator allows highlighting potential reversal points, but it can also determine trends using the central level, with an uptrend detected if the central level is higher than its previous value and vice versa for a downtrend.
When an uptrend is detected, and the price deviates significantly upward from it a first checkmark will be highlighted alongside the Fibonacci sequence used as a multiplier, if the price deviates downward, a cross will be shown instead, then the distance threshold will be multiplied by the next value in the Fibonacci sequence.
If the price deviates from the central level such that the length of the sequence is greater than the user set Sequence Length , a break label will be shown alongside a new central level with a value determined by the current closing price, while the Fibonacci multiplier will be reset to 1.
Upper and lower extremities made from the central level and threshold distance are highlighted and can be used as support and resistances.
Bart Pattern [LuxAlgo]As a sequel to our 'meme indicator' series... The Bart Pattern Detector identifies confirmed regular and inverted Bart patterns using edge detection.
Settings
Median Lookback: Lookback period of the median filter used for the edge detection, with a shorter period allowing to detect shorter-term and less spaced patterns.
Edge Detection Sensitivity: Sensitivity of the edge detection method, with higher values making the method less sensible to edges of low magnitude.
Range To Edges Threshold: Threshold for the range to edges ratio, with lower values detecting Bart patterns with flatter ranges between the edges.
Show Inverted Barts: Show inverted Bart patterns.
Mode: Determines how detected Bart patterns are displayed.
Usage
This indicator can be used to study past Bart patterns and how the market responded to them. Their detection is not done in real-time. Additionally detected edges are used to indicate the current market sentiment.
If you don't want a meme on your chart, you can also use the simple mode - but don't worry, we won't judge you if you don't...
Details
The origins of Bart patterns can be hard to pinpoint but most likely originate from social media around 2018. This pattern has been mostly covered in the cryptocurrency market similarly to how the McDonald's Pattern became a popular meme within the community. See our McDonald's Pattern Indicator that was created by us as our first 'meme indicator' in the series
The Bart pattern as its name suggests occurs when price forms a structure resembling the head of the Simpson character "Bart Simpson". This is characterized by a rectangular structure, which is a sideways market delimited by sharp volatile edges.
The Bart pattern is sometimes traded before completion, waiting for a breakout of a support/resistance located within the sideway part of the pattern.
The cause of this pattern is still discussed by traders, with some attributing it to over-leveraged market participants and while others attributing it to exchanges themselves through spoofing.
Notes
Barts patterns are very volatile structures, characterized by sudden price jumps, be careful when trading them.
Shout to the famous alien @lilmayo and our good pal @scheplick for the suggestion to create this work of art.
And don't forget to eat your shorts.
Fibonacci Grid [LuxAlgo]The following indicator returns multiple diagonal lines forming a grid. Each line has 45-degree and is set depending on Fibonacci ratios as well as the maximum and minimum price value over a certain lookback period. These can be used as potential support and resistance.
Users also have the option to set equidistant lines instead of having them determined by Fibonacci ratios.
Settings
Length: Lookback period for determining the maximum/minimum price value used for constructing the grid.
Resolution: Grid resolution, higher values will return more lines (only available when the "Use Fibonacci Ratios" is disabled)
Use Fibonacci Ratios: Set the lines based on Fibonacci Ratios, 6 ratios are used.
Usage
Each individual diagonal line can be used as support/resistance. Two Diagonal lines form channels where the price might evolve until a breakout.
The underlying logic of this grid determined by Fibonacci ratios is that price variations farther away from the main diagonals (in orange) would tend to move inside tighter channels.
Diagonals set using Fibonacci Ratios will form tighter channels when away from the center of the Lookback area. While equidistant lines will keep the same distance between each line.
Pivot Based Trailing Maxima & Minima [LuxAlgo]This indicator returns trailing maximums/minimums and the resulting average, each resetting on the occurrence of a pivot point high/low, thus allowing to highlight past and current support and resistance levels.
Note that the user has the option to make the indicator subject to backpainting or not. Backpainting would offset the indicator output to the past and as such would be less suited for real-time applications.
🔶 USAGE
🔹 Non Backpainting
The indicator can highlight points of support and resistance given by the trailing maximum/minimum average.
An uptrend is indicated when the trailing maximum is making a new higher high, while a downtrend is indicated when the trailing minimum makes a new lower low.
🔹 Backpainting
When backpainting is enabled the historical trailing maximum/minimum and their resulting average are offset to the past. However, we extend these to the most recent bar, allowing for real-time applications of the indicator.
Users can easily analyze past trends and determine their type by observing the trailing maximum/minimum behavior. For example, trailing maximums/minimums not making new higher high/lower low would indicate a ranging market.
The frequency of new higher high/lower low can also help determine how bullish/bearish a trend was.
🔶 SETTINGS
Length: Determines the pivot high/low lookback, with higher values allowing to detect longer-term tops and bottoms.
Backpaint: Determine if the indicator is subject to backpainting. Enabling this setting would offset the returned results in the past.
Cubic Bézier Curve Extrapolation [LuxAlgo]The following script allows for the extrapolation of a Cubic Bézier Curve fit using custom set control points and can be used as a drawing tool allowing users to estimate underlying price trends or to forecast future price trends.
Settings
Extrapolation Length: Number of extrapolated observations.
Source: Source input of the script.
Style
Width: Bézier curve line width.
Colors: The curve is colored based on the direction it's taking, the first color is used when the curve is rising, and the second when it is declining.
The other settings determine the locations of the control points. The user does not need to change them from the settings, instead only requiring adjusting their location on the chart like with a regular drawing tool. Setting these control points is required when adding the indicator to your chart.
Usage
Bézier curves are widely used in a lot of scientific and artistic fields. Using them for technical analysis can be interesting due to their extrapolation capabilities as well as their ease of calculation.
A cubic Bézier curve is based on four control points. Maxima/Minimas can be used as control points or the user can set them such that part of the extrapolated observation better fits the most recent price observations.
A possible disadvantage of Bézier curves is that obtaining a good fit with the data is not their primary goal. Rational Bézier curves can be used if obtaining a good fit is the primary user goal.
Details
At their core, Bézier curves are obtained from nested linear interpolation between each control point and the resulting linearly interpolated results. The Bézier curve point located at the first control point P0 and the last curve point located at the last control point Pn are equal to their respective control points. However, this script does not make use of this approach, instead using a more explicit form.
As mentioned previously, the complexity of a Bézier curve can be determined by its number of control points which is related to the Bézier curve degree (number of control points - 1). Instead of using nested linear interpolations to describe Bézier curves, one can describe them as a polynomial of a degree equal to the degree of the wanted Bézier curve.
SuperIchi [LuxAlgo]Using one indicator as the core for another one to improve certain aspects while offering an alternative user interaction can be very interesting in technical analysis.
This indicator is a modification of the popular Ichimoku indicator using the equally popular Supertrend indicator as its core, thus no longer entirely relying on calculations done over a fixed window size but instead relying on the average true range and the trend detection method offered by the Supertrend.
Settings
Tenkan: Atr length (left) and factor (right) used for the Supertrend involved in the calculations of the Tenkan Ichimoku component
Kijun: Atr length (left) and factor (right) used for the Supertrend involved in the calculations of the Kijun Ichimoku component
Senkou Span B: Atr length (left) and factor (right) used for the Supertrend involved in the calculations of the second Senkou Span Ichimoku component
Displacement: Bar offset of the cloud (positive offset) and Chikou (negative offset)
Usage
The SuperIchi indicator can be interpreted similarly to a regular Ichimoku as it retains the components and aspects from this one. Users can make use of the Supertrend Factor to detect shorter or longer-term trends.
Unlike the regular components of the Ichimoku based on rolling maximums/minimums, using the Supertrend here allows smoother components and makes it less prone to whipsaw signals.
Note that the Chikou is disabled by default in the style settings
Details
The original Ichimoku indicator is constructed from the average between the rolling maximum high and minimum low values. The Supertrend indicator also relies on one upper/lower extremity but using the average of these extremities for the modification of the Ichimoku indicator might not provide easy to use results due to the nature of these extremities.
Instead, we compute the average between the Supertrend and trailing maximums/minimums with a value reset when a new trend is detected by the Supertrend. This allows obtaining a result that is closer to the original average used by Ichimoku.
Pivot Points High Low & Missed Reversal Levels [LuxAlgo]Pivot Points High/Low, sometimes referred to as "Bar Count Reversals" allows highlighting market prices local tops and bottoms. This method compares the price value at a certain index within a user-specified window length and tests whether it is the highest (pivot high) or lowest (pivot low).
This method can return successive pivots of the same type, thus missing certain reversals, as such, we aimed to highlight those missed reversals and provide a level at their location to determine if they had any significant role to play. A zig-zag is additionally built, connecting regular pivots with missed reversals.
Settings
Pivot Length: Determine the "Bar Count Reversals" window size. higher values will highlight more significant reversals.
Other settings control the look of the displayed graphical elements within the indicator.
Usage
Missed reversals are highlighted by labels with a ghost emoji, a Zig-Zag line connecting a missed reversal is dashed. Note that labels are offset by -Pivot Length bars (with the exception of the most recent one), and as such are detected further ahead of their location.
When a missed reversal is detected, a level is displayed, starting at the location of the missed reversal and ending when a new missed reversal is detected.
These levels can be used as support and resistance.
The most recent label estimates the possible location of a confirmed reversal, and will continuously readjust whether price makes a new higher high/lower low depending on the type of previously detected pivot. A level is also made out of this estimated reversal.
McDonald's Pattern [LuxAlgo]Tradingview asked, we delivered. This script fits a cubic Bezier curve using tops/bottoms in order to approximate a McDonalds pattern, a popular meme pattern in the crypto trading community.
Traditionally the McDonalds pattern is described by an M pattern with deep retracement (> 50%), forming a McDonalds logo.
Please note that this indicator is a meme & should not be taken seriously. Some aspects of this indicator are not real-time and meant for descriptive analysis alongside other components of this script, in this case, for entertainment purposes. We suggest looking through our other open-source scripts if you’re looking for more serious tools.
🔶 USAGE
The script fits Bezier curves using specific tops/bottoms as control points. When the distance between tops and bottoms values is relatively small, the user can more easily identify the pattern.
A score is shown on the top right of the chart, aiming to return how close the returned pattern is to the original logo.
A regular Mcdonalds pattern would return a red background, while an inverted pattern would return a green one.
🔶 SETTINGS
Length: Sensitivity of tops/bottoms detection. The method does not make use of pivot points, using rolling maximums/minimums instead.
Use First Bar As Vertex: Use the price and bar index of the last bar as vertex.
Volume Footprint [LuxAlgo]This indicator estimates a volume footprint using tick data. The script automatically separates a candle into equidistant intervals with a width obtained from the average true range or a user-given width.
Settings
Method: Interval width calculation method. This ultimately determines the number of intervals separating one candle.
Width (At the right of Method): Atr period or user given width depending on the selected method. A lower user-given width would divide a candle into a higher number of intervals.
As Percent: Returns the accumulated volume within each interval as a percentage of the total candle volume.
Style
Display Type: Determines the appearance of the returned volume footprint.
Trend Color: Color to use based on whether a candle is bullish or bearish.
Usage
When applied to a chart, the user will be asked to select the settings to use for the volume footprint. Note that changing the settings afterward will reset the volume footprint, removing previously generated footprints.
A new footprint will appear on the confirmation of a new bar, as such this version might only be useful in lower timeframes.
A volume footprint allows users to see the number of contracts exchanged within a candle interval. It can as such be seen as some kind of intrabar volume profile.
This can be useful to see areas of interest within a candle.
Different Appearance
By default, the volume footprint makes use of colored boxes with a color based on whether the candle was bullish or bearish.
Another appearance that gives additional information is the gradient type, which uses intervals color based on the number of contracts exchanged within an interval relative to the total volume of the candle. A higher number of contracts within an interval would return a darker color by default.
The regular display type makes use of boxes with a single color, with lines on the side indicating whether the candle was bullish or bearish.