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. Indicator

Indicator

Indicator

Indicator

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. Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

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. Indicator

Indicator

Indicator

Indicator

Indicator

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. Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Harmonic Pattern Detection [LuxAlgo]Harmonic patterns make up a major part of the many patterns traders use to make investment decisions. The following tool aims to automatically categorize which XABCD harmonic pattern is highlighted by the user and to alert when the price reaches the PRZ or D point.
The tool can categorize Bat, Gartley, Butterfly, and Crab patterns.
Settings
XA Precision: The Gartley and Butterfly patterns require precise ratios for the XA segment, this setting allows giving some headroom for the detection of these patterns. For example, the Gartley pattern requires a ratio for the XA segment of 0.618, using an XA precision of 0.01 will allow the segment to be considered correct if above 0.608 and under 0.628.
Bullish: Color of a bullish pattern
Bearish: Color of a bearish pattern
The X, A, B, C, D settings determine the location of the harmonic pattern vertices. 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 vertices is required when adding the indicator to your chart.
Usage
Upon setting the harmonic pattern vertices, the segments, as well as each ratio and PRZ, will be displayed. A dashboard in the top right displays which harmonic pattern has been detected.
Detected bearish crab pattern on BTCUSD15.
Bullish butterfly pattern on MATICUSD15. It is important not to use an XA precision value that would return overlapping ranges between the Gartley/Harmonic and other patterns. Using the default value is recommended.
The upper limit of the PRZ is determined as vertex D plus 38.2% of segment DX, while the lower limit is the vertex D minus 38.2% of segment DX. Various methods exist for the determination of the PRZ, this one is general but the user can use one proper to the detected harmonic pattern.
Finally hovering on the label highlighting the segment ratios return the proper ratio used by each harmonic pattern for that precise segment. Indicator

Indicator
