Time Series Model IndicatorHello,
I am releasing this time series modelling indicator.
Brief overview of the indicator's functionality:
The Time Series Model indicator is a technical analysis tool that calculates and visualizes a linear regression line based on historical price data. It assesses the trend direction and provides an outer band around the regression line to indicate potential support and resistance levels. The indicator also detects outliers in the price data and calculates correlations between the time variable and the closing price. It offers various customization options such as input length, user-defined hours in advance, display settings for tables and fills, and the ability to show variable correlations. Overall, this indicator aims to help traders identify trends, potential reversals, and price extremes in a given time series.
Specific Functions:
Slope Calculations: The indicator calculates the slope and intercept of the regression line using the specified length of assessment (user defined). It also computes the residuals, standard error of the regression, and the upper and lower bounds of the standard error region. Additionally, it calculates multiple standard deviation bands around the regression line. The slope will change to green if the stock is in an uptrend and to red if the stock is in a downtrend.
Outliers: This feature detects extreme positive and negative outliers based on the z-score calculated from the price data. It highlights the outliers with a red background color to red if this option is selected.
Correlation to Time Assessments: This feature performs trend assessments based on the correlation between time and price data. It identifies uptrends, downtrends, falling trends, rising trends, etc.
Outerband Plots: This feature plots the regression line, standard error bands, and multiple standard deviation bands around the regression line. It also fills the areas between these lines.
Trend Assessment: This feature further assesses the trend based on the strength of the correlation. It identifies strong up or down trends, moderate trends, weak trends, no trend, etc.
Linear Regression Time Data: This section retrieves price data (close, high, low, open) for the specified timeframe and stores them in arrays for a linear regression analysis.
Define LinReg Variables: This section calculates linear regression lines and their upper and lower control limits for the close, low and high prices. It also calculates the correlation between close price and time.
Manual assessments: This feature allows for the manual assessment of time series data. The user can input a look forward for hours in the future and get the predicted price range based on the current time relationship. See image below:
Calculating model "fit": The indicator will display the amount of time the stock closes within and outside its respective bands to ascertain the degree of "fit" (see image below):
Explanations:
The outer cloud: The outer, tealish green cloud represents the regression line + 1.5 standard deviations from the regression line.
The inner cloud: The inner, white coloured cloud represents the immediate time series range calculated through regression of the open, high and low price of the ticker.
Correlations:
The ability of the indicator to calculate correlations on both the smaller and larger timeframes are its strongest feature. You can see the formation of trends by tracking the correlation over the length of the time series model's assessment. You can also track the degree of change. The image below shows the correlation table:
In this image, we can see that the stock is in a moderate downtrend manifested by a correlation of -0.73 (purple arrow).
This downtrend is weakening as manifested by a positive change of 0.05 on the shorter timeframe.
If we scroll down on the table and see the Close, High and Low, we can see that the larger trend over time is a downtrend and that this downtrend is actually strengthening. We know this by the negative change (negative change = significant inverse relationship to time is increasing. i.e. as time increases, the stock price decreases proportionately).
So what does negative correlation to time mean?
If a stock's price exhibits a negative correlation to time, it implies that there is a systematic relationship between the passage of time and the stock's price movement in the opposite direction. This finding could have several potential implications for traders and investors. Firstly, it suggests that the stock's price tends to decrease as time progresses, indicating a downward trend or bearish sentiment. This information might be useful for traders looking to capitalize on short-selling or hedging strategies. Secondly, it could indicate a potential opportunity to predict future price movements based on the timing of negative correlations. By understanding the relationship between time and price, investors may be able to make more informed decisions about when to buy or sell the stock. Lastly, a negative correlation to time may also suggest the influence of external factors or market conditions that systematically impact the stock's performance over time. Therefore, monitoring this correlation can provide insights into broader market dynamics and help investors better understand the stock's behavior.
What about a positive correlation to time?
If a stock's price demonstrates a positive correlation to time, it means that there is a consistent relationship between the passage of time and the stock's price movement in the same direction. This positive correlation to time can have significant implications for traders and investors. Firstly, it indicates a potential upward trend or bullish sentiment, suggesting that the stock's price tends to increase as time progresses. This information can be valuable for investors seeking long-term growth opportunities or looking to capitalize on upward price movements. Secondly, a positive correlation to time may provide insights into the stock's historical performance patterns and help identify potential buying or selling opportunities based on the timing of positive correlations. Additionally, understanding this correlation can aid in assessing the stock's overall trajectory and identifying potential market trends. It's important to note that positive correlation to time does not guarantee future performance, but it can offer valuable information to inform investment decisions.
Because this indicator is pretty big, I have done an overview and tutorial video which I will link below:
As always, please leave your comments and suggestions below.
I thank you for taking the time to read and check out this indicator.
Safe trades everyone and enjoy your weekend!
Regressions
Linear Regression Channel (Log)The Linear Regression Channel (Log) indicator is a modified version of the Linear Regression channel available on TradingView. It is designed to be used on a logarithmic scale, providing a different perspective on price movements.
The indicator utilizes the concept of linear regression to visualize the overall price trend in a specific section of the chart. The central line represents the linear regression calculation, while the upper and lower lines indicate a certain number of standard deviations away from the central line. These bands serve as support and resistance levels, and when prices remain outside the channel for an extended period, a potential reversal may be anticipated.
I have replaced the Pearson values with trend strength levels to enhance understanding for individuals unfamiliar with Pearson correlation.
Auto Trend ProjectionAuto Trend Projection is an indicator designed to automatically project the short-term trend based on historical price data. It utilizes a dynamic calculation method to determine the slope of the linear regression line, which represents the trend direction. The indicator takes into account multiple length inputs and calculates the deviation and Pearson's R values for each length.
Using the highest Pearson's R value, Auto Trend Projection identifies the optimal length for the trend projection. This ensures that the projected trend aligns closely with the historical price data.
The indicator visually displays the projected trend using trendlines. These trendlines extend into the future, providing a visual representation of the potential price movement in the short term. The color and style of the trendlines can be customized according to user preferences.
Auto Trend Projection simplifies the process of trend analysis by automating the projection of short-term trends. Traders and investors can use this indicator to gain insights into potential price movements and make informed trading decisions.
Please note that Auto Trend Projection is not a standalone trading strategy but a tool to assist in trend analysis. It is recommended to combine it with other technical analysis tools and indicators for comprehensive market analysis.
Overall, Auto Trend Projection offers a convenient and automated approach to projecting short-term trends, empowering traders with valuable insights into the potential price direction.
Strongest TrendlineUnleashing the Power of Trendlines with the "Strongest Trendline" Indicator.
Trendlines are an invaluable tool in technical analysis, providing traders with insights into price movements and market trends. The "Strongest Trendline" indicator offers a powerful approach to identifying robust trendlines based on various parameters and technical analysis metrics.
When using the "Strongest Trendline" indicator, it is recommended to utilize a logarithmic scale . This scale accurately represents percentage changes in price, allowing for a more comprehensive visualization of trends. Logarithmic scales highlight the proportional relationship between prices, ensuring that both large and small price movements are given due consideration.
One of the notable advantages of logarithmic scales is their ability to balance price movements on a chart. This prevents larger price changes from dominating the visual representation, providing a more balanced perspective on the overall trend. Logarithmic scales are particularly useful when analyzing assets with significant price fluctuations.
In some cases, traders may need to scroll back on the chart to view the trendlines generated by the "Strongest Trendline" indicator. By scrolling back, traders ensure they have a sufficient historical context to accurately assess the strength and reliability of the trendline. This comprehensive analysis allows for the identification of trendline patterns and correlations between historical price movements and current market conditions.
The "Strongest Trendline" indicator calculates trendlines based on historical data, requiring an adequate number of data points to identify the strongest trend. By scrolling back and considering historical patterns, traders can make more informed trading decisions and identify potential entry or exit points.
When using the "Strongest Trendline" indicator, a higher Pearson's R value signifies a stronger trendline. The closer the Pearson's R value is to 1, the more reliable and robust the trendline is considered to be.
In conclusion, the "Strongest Trendline" indicator offers traders a robust method for identifying trendlines with significant predictive power. By utilizing a logarithmic scale and considering historical data, traders can unleash the full potential of this indicator and gain valuable insights into price trends. Trendlines, when used in conjunction with other technical analysis tools, can help traders make more informed decisions in the dynamic world of financial markets.
MultiMovesCombines 3 different moving averages together with the linear regression. The moving averages are the HMA, EMA, and SMA. The script makes use of two different lengths to allow the end user to utilize common crossovers in order to determine entry into a trade. The edge of each "cloud" is where each of the moving averages actually are. The bar color is the average of the shorter length combined moving averages.
-The Hull Moving Average (HMA), developed by Alan Hull, is an extremely fast and smooth moving average. In fact, the HMA almost eliminates lag altogether and manages to improve smoothing at the same time. A longer period HMA may be used to identify trend.
-The exponential moving average (EMA) is a technical chart indicator that tracks the price of an investment (like a stock or commodity) over time. The EMA is a type of weighted moving average (WMA) that gives more weighting or importance to recent price data.
-A simple moving average (SMA) is an arithmetic moving average calculated by adding recent prices and then dividing that figure by the number of time periods in the calculation average.
-The Linear Regression Indicator plots the ending value of a Linear Regression Line for a specified number of bars; showing, statistically, where the price is expected to be. Instead of plotting an average of past price action, it is plotting where a Linear Regression Line would expect the price to be, making the Linear Regression Indicator more responsive than a moving average.
The lighter colors = default 50 MA
The darker colors = default 200 MA
Cross Period Comparison IndicatorReally excited to be sharing this indicator!
This is the cross-period comparison indicator, AKA the comparison indicator.
What does it do?
The cross-period comparison indicator permits for the qualitative assessment of two points in time on a particular equity.
What is its use?
At first, I was looking for a way to determine the degree of similarity between two points, such as using Cosine similarity values, Euclidean distances, etc. However, these tend to trigger a lot of similarities but without really any context. Context matters in trading and thus what I wanted really was a qualitative assessment tool to see what exactly was happening at two points in time (i.e. How many buyers were there? What was short interest like? What was volume like? What was the volatility like? RSI? Etc.)
This indicator permits that qualitative assessment, displaying things like total buying volume during each period, total selling volume, short interest via Put to Call ratio activity, technical information such as Stochastics and RSI, etc.
How to use it?
The indicator is fairly self explanatory, but some things require a little more in-depth discussion.
The indicator will display the Max and Min technical values of a period, as well as a breakdown in the volume information and put to call information. The user can then make the qualitative determination of degrees of similarity. However, I have included some key things to help ascertain similarity in a more quantitative way. These include:
1. Adding average period Z-Score
2. Adding CDF probability distributions for each respective period
3. Adding Pearson correlations for each respective period over time
4. Providing the linear regression equation for each period
So let us discuss these 4 quantitative measures a bit more in-depth.
Adding Period Z-Score
For those who do not know, Z-Score is a measure of the distance from a mean. It generally spans 0 (at the mean) to 3 (3 standard deviations away from the mean). Z-Score in the stock market is very powerful because it is actually our indicator of volatility. Z-Score forms the basis of IV for option traders and it generally is the go to, to see where the market is in relation to its overall mean.
Adding Z-Score lets the user make 2 big determinations. First and foremost, it’s a measure of overall volatility during the period. If you are getting a Z-Score that is crazy high (1.5 or greater), you know there was a lot of volatility in that period marked by frequent deviations from its mean (since on average it was trading 1.5 standard deviations away from its mean).
The other thing it tells you is the overall sentiment of that time. If the average Z Score was 1.5 for example, we know that buying interest was high and the sentiment was somewhat optimistic, as the stock was trading, on average, + 1.5 SDs away from its mean.
If, on the other hand, the average was, say, - 1.2, then we know the sentiment was overall pessimistic. There was frequent selling and the stock was frequently being pushed below its mean with heavy selling pressure.
We can also check these assumptions of buying / selling buy verifying the volume information. The indicator will list the Buy to Sell Ratio (number of Buyers to Sellers), as well as the total selling volume and total buying volume. Thus, the user can see, objectively, whether sellers or buyers led a particular period.
Adding CDF Probability
CDF probabilities simply mean the extent a stock traded above or below its normal distribution levels.
To help you understand this, the indicator lists the average close price for a period. Directly below that, it lists the CDF probabilities. What this is telling you, is how often and how likely, during that period, the stock was trading below its average. For example, in the main chart, the average close price for BTC in Period A is 29869. The CDF probability is 0.51. This means, during Period A, 51% of the time, BTC was trading BELOW 29869. Thus, the other 49% of the time it was trading ABOVE 29869.
CDF probabilities also help us to assess volatility, similar to Z-Score. Generally speaking, the CDF should consistently be reading about 0.50 to 0.51. This is the point of an average value, half the values should be above the average and half the values should be below. But in times of heightened volatility, you may actually see the CDF creep up to 0.54 or higher, or 0.48 or lower. This means that there was extremely extensive volatility and is very indicative of true “whipsaw” type price action history where a stock refuses to average itself out in one general area and frequently jumps up and down.
Adding Pearson Correlation
Most know what this is, but just in case, the Pearson correlation is a measure of statistical significance. It ranges from 0 (not significant) to 1 (very significant). It can be positive or negative. A positive signifies a positive relationship (i.e. as one value increases so too does the other value being compared). If it is a negative value, it means an inverse relationship (i.e. one value increases proportionately to the other’s decline).
In this indicator, the Pearson correlation is measured against time. A strong positive relationship (a value of 0.5 or greater) indicates that the stock is trading positive to time. As time goes by, the stock goes up. This is a normal relationship and signifies a healthy uptrend.
Inversely, if the Pearson correlation is negative, it means that as time increases, the stock is going down proportionately. This signifies a strong downtrend.
This is another way for the user to interpret sentiment during a specific period.
IF the Pearson correlation is less than 0.5 or -0.5, this signifies an area of indecision. No real trend formed and there was no real strong relationship to time.
Adding Linear Regression Equation
A linear regression equation is simply the slope and the intercept. It is expressed with the formula y= mx + b.
The indicator does a regression analysis on each period and presents this formula accordingly. The user can see the slope and intercept.
Generally speaking, when two periods share the same slope (m value) but different intercept (b value), it can be said that the relationship to time is identical but the starting point is different.
If the slope and intercept are different, as you see in the BTC chart above, it represents a completely different relationship to time and trajectory.
Indicator Specific Information:
The indicator retains the customizability you would expect. You can customize all of your lengths for technical, change and Z-Score. You can toggle on or off Period data, if you want to focus on a single period. You can also toggle on a difference table that directly compares the % difference between Period A to Period B (see image below):
You will also see on the input menu a input for “Threshold” assessments. This simply modifies the threshold parameters for the technical readings. It is defaulted to 3, which means when two technical (for example Max Stochastics) are within +/- 3 of each other, the indicator will light these up as green to indicate similarities. They just clue the user visually to areas where there are similarities amongst the qualitative technical data.
Timeframes
This is best used on the daily timeframe. You can use it on the smaller timeframe but the processing time may take a bit longer. I personally like it for the Daily, Weekly and 4 hour charts.
And this is the indicator in a nutshell!
I will provide a tutorial video in the coming day on how to use it, so check back later!
As always, leave your comments/questions and suggestions below. I have been slowly modifying stuff based on user suggestions so please keep them coming but be patient as it does take some time and I am by no means a coder or expert on this stuff.
Safe trades to all!
Bitcoin Rainbow Logarithmic CurvesThis indicator shows the logarithmic regression curves for BTC and color codes it based on how extended we are from the best fit line (middle).
MACD TrueLevel StrategyThis strategy uses the MACD indicator to determine buy and sell signals. In addition, the strategy employs the use of "TrueLevel Bands," which are essentially envelope bands that are calculated based on the linear regression and standard deviation of the price data over various lengths.
The TrueLevel Bands are calculated for 14 different lengths and are plotted on the chart as lines. The bands are filled with a specified color to make them more visible. The highest upper band and lowest lower band values are stored in variables for easy access.
The user can input the lengths for the TrueLevel Bands and adjust the multiplier for the standard deviation. They can also select the bands they want to use for entry and exit, and enable long and short positions.
The entry conditions for a long position are either a crossover of the MACD line over the signal line or a crossover of the price over the selected entry lower band. The entry conditions for a short position are either a crossunder of the MACD line under the signal line or a crossunder of the price under the selected exit upper band.
The exit conditions for both long and short positions are not specified in the code and are left to the user to define.
Overall, the strategy aims to capture trends by entering long or short positions based on the MACD and TrueLevel Bands, and exiting those positions when the trend reverses.
RSI TrueLevel StrategyThis strategy is a momentum-based strategy that uses the Relative Strength Index (RSI) indicator and a TrueLevel envelope to generate trade signals.
The strategy uses user-defined input parameters to calculate TrueLevel envelopes for 14 different lengths. The TrueLevel envelope is a volatility-based technical indicator that consists of upper and lower bands. The upper band is calculated by adding a multiple of the standard deviation to a linear regression line of the price data, while the lower band is calculated by subtracting a multiple of the standard deviation from the same regression line.
The strategy generates long signals when the RSI crosses above the oversold level or when the price crosses above the selected lower band of the TrueLevel envelope. It generates short signals when the RSI crosses below the overbought level or when the price crosses below the selected upper band of the TrueLevel envelope.
The strategy allows for long and short trades and sets the trade size as a percentage of the account equity. The colors of the bands and fills are also customizable through user-defined input parameters.
In this strategy, the 12th TrueLevel band was chosen due to its ability to capture significant price movements while still providing a reasonable level of noise reduction. The strategy utilizes a total of 14 TrueLevel bands, each with varying lengths. The 12th band, with a length of 2646, strikes a balance between sensitivity to market changes and reducing false signals, making it a suitable choice for this strategy.
RSI Parameters:
In this strategy, the RSI overbought and oversold levels are set at 65 and 40, respectively. These values were chosen to filter out more noise in the market and focus on stronger trends. Traditional RSI overbought and oversold levels are set at 70 and 30, respectively. By raising the oversold level and lowering the overbought level, the strategy aims to identify more significant trend reversals and potential trade opportunities.
Of course, the parameters can be adjusted to suit individual preferences.
Cyclic RegressionCyclic Regression is a new concept that uses Digital Signal Processing (DSP) to determine the regression of past and future cycles. This is a unique method of regression which has the ability to forecast into the future.
There are several ways to use this tool.
Firstly, it follows similar rules to moving averages and can be used to filter entries. Long entries should be considered when price action is above the line or the line direction is upwards. The opposite is applied for shorts, a downward direction or price action is below.
The regression line is also a strong SR (Support and Resistance) or trend line so traders can expect big moves when this line is broken or a pullback is made after the break.
Each new direction of regression signifies a new cycle so traders can plan for a possible big move when reaching the end of the line.
The Settings are not your typical length or lookback options:
The main modifier is the "Response" input, with this the frequency response for the signal processing can be adjusted. By default it is set at 5000 but this can be boosted to something like 10000 to tune it to bigger cycles.
The other modifiers include sensitivity which will fine tune the response, this can be use with in conjunction with threshold option which adjusts the threshold of the useable response.
There is also the ability to add an external sources to the signal using the source input box. This allows traders to include other sources of data such as volume or RSI.
TrueLevel BandsWhat are TrueLevel Bands ?
TrueLevel Bands is a powerful trading indicator that employs linear regression and standard deviation to create dynamic, envelope-style bands around the price action of a financial instrument. These bands are designed to help traders identify potential support and resistance levels, trend direction, and volatility.
The TrueLevel Bands indicator consists of multiple envelope bands, each constructed using different timeframes or lengths, and a multiple (mult) factor. The multiple factor determines the width of the bands by adjusting the number of standard deviations from the linear regression line.
Key Features of TrueLevel Bands
1. Multi-Timeframe Analysis: Unlike traditional moving average-based indicators, TrueLevel Bands allow traders to incorporate multiple timeframes into their analysis. This helps traders capture both short-term and long-term market dynamics, offering a more comprehensive understanding of price behavior.
2. Customization: The TrueLevel Bands indicator offers a high level of customization, allowing traders to adjust the lengths and multiple factors to suit their trading style and preferences. This flexibility enables traders to fine-tune the indicator to work optimally with various instruments and market conditions.
3. Adaptive Volatility: By incorporating standard deviation, TrueLevel Bands can automatically adjust to changing market volatility. This feature enables the bands to expand during periods of high volatility and contract during periods of low volatility, providing traders with a more accurate representation of market dynamics.
4. Dynamic Support and Resistance Levels: TrueLevel Bands can help traders identify dynamic support and resistance levels, as the bands adjust in real-time according to price action. This can be particularly useful for traders looking to enter or exit positions based on support and resistance levels.
Why TrueLevel Bands are Different from Classic Moving Averages
TrueLevel Bands differ from conventional moving averages in several ways:
1. Linear Regression: While moving averages are based on simple arithmetic means, TrueLevel Bands use linear regression to determine the centerline. This offers a more accurate representation of the trend and helps traders better assess potential entry and exit points.
2. Envelope Style Bands: Unlike moving averages, which are single lines, TrueLevel Bands form envelope-style bands around the price action. This provides traders with a visual representation of potential support and resistance levels, trend direction, and volatility.
3. Multi-Timeframe Analysis: Classic moving averages typically focus on a single timeframe. In contrast, TrueLevel Bands incorporate multiple timeframes, enabling traders to capture a broader understanding of market dynamics.
4. Adaptive Volatility: Traditional moving averages do not account for changing market volatility, whereas TrueLevel Bands automatically adjust to volatility shifts through the use of standard deviation.
The TrueLevel Bands indicator is a powerful, versatile tool that offers traders a unique approach to technical analysis. With its ability to adapt to changing market conditions, provide multi-timeframe analysis, and dynamic support and resistance levels, TrueLevel Bands can serve as an invaluable asset to both novice and experienced traders looking to gain an edge in the markets.
Regression Envelope MTFThe Regression Envelope MTF indicator is a technical analysis tool that uses linear regression to identify potential price reversal points in the market. The indicator plots a linear regression line based on the selected price source over a specified length, and adds and subtracts a multiple of the standard deviation to create upper and lower bands around the line.
One advantage of using linear regression over the traditional envelope indicator is that it takes into account the slope of the trend, rather than assuming that the trend is linear. This means that the bands will adapt to the slope of the trend, which can provide more accurate signals in trending markets.
Another advantage of using linear regression over a simple moving average (SMA) is that it is less sensitive to outliers. SMAs can be heavily influenced by extreme values in the data, which can result in false signals. Linear regression, on the other hand, is more robust to outliers, which can lead to more reliable signals.
Overall, the Regression Envelope MTF indicator can be a useful tool for traders and investors looking to identify potential price reversal points and generate trading signals. However, it should be used in conjunction with other technical analysis tools and with proper risk management strategies in place.
MTF RSI Channel Smoothed (Linear Regression)The "MTF RSI Channel Smoothed (Linear Regression)" indicator is a momentum oscillator that displays smoothed RSI bands across multiple timeframes.
What sets this indicator apart is that it uses linear regression to smooth the RSI bands. Linear regression is a statistical technique that helps filter out the noise in the data, resulting in smoother and more precise RSI bands. This provides traders with a more advanced and reliable tool for monitoring the RSI bands across multiple timeframes.
One of the primary advantages of using linear regression to smooth the RSI bands is that it provides a more accurate and reliable way to identify overbought and oversold levels of the asset. The linear regression method smooths out the data by reducing the impact of temporary price fluctuations, allowing traders to see the underlying trend more clearly. This helps traders to make more informed trading decisions by identifying key levels of support and resistance, and spotting potential entry and exit points.
Another advantage of the "Multi-Timeframe Smoothed RSI Bands" indicator is that it allows traders to adjust the length of the smoothing period using the "Smooth Period" parameter. This flexibility gives traders the ability to fine-tune the indicator to their specific trading style and preferences, resulting in a more personalized and effective trading tool.
Overall, the "Multi-Timeframe Smoothed RSI Bands" indicator is a powerful tool for traders looking to monitor the RSI bands across multiple timeframes. By using linear regression to smooth the data, this indicator provides traders with a more accurate and reliable way to identify potential trading opportunities, and make more informed trading decisions.
Donchian Channel Smoothed (Linear Regression)The script is an implementation of the Donchian Channel Smoothed indicator using linear regression to smooth the data. The indicator plots three curves: the middle curve, which represents the average of the upper and lower curves, and the upper and lower curves, which are the standard Donchian channels.
The smoothing is done using linear regression on the highest and lowest of the given period. This helps filter out the noise in the data and provides a smoother curve that can help traders identify trends and key levels of support and resistance. The advantages of using linear regression for smoothing are reduced data volatility, better identification of long-term trends, and improved ability to identify support and resistance levels.
Using this indicator, traders can identify potential entry and exit points in a trend, as well as key support and resistance levels. Donchian channels are also useful for measuring asset volatility and determining trading range boundaries.
In summary, using linear regression to smooth the data in the Donchian Channel Smoothed indicator presents significant advantages for traders, such as reduced data volatility and better identification of long-term trends. This allows traders to more easily identify support and resistance levels and make more informed trading decisions.
Trend forecasting by c00l75----------- ITALIANO -----------
Questo codice è uno script di previsione del trend creato solo a scopo didattico. Utilizza una media mobile esponenziale (EMA) e una media mobile di Hull (HMA) per calcolare il trend attuale e prevedere il trend futuro. Il codice utilizza anche una regressione lineare per calcolare il trend attuale e un fattore di smorzamento per regolare l’effetto della regressione lineare sulla previsione del trend. Infine il codice disegna due linee tratteggiate per mostrare la previsione del trend per i periodi futuri specificati dall’utente. Se ti piace l'idea mettimi un boost e lascia un commento!
----------- ENGLISH -----------
This code is a trend forecasting script created for educational purposes only. It uses an exponential moving average (EMA) and a Hull moving average (HMA) to calculate the current trend and forecast the future trend. The code also uses a linear regression to calculate the current trend and a damping factor to adjust the effect of the linear regression on the trend prediction. Finally, the code draws two dashed lines to show the trend prediction for future periods specified by the user. If you like the idea please put a boost and leave a comment!
GKD-C Polynomial-Regression-Fitted Filter [Loxx]Giga Kaleidoscope GKD-C Polynomial-Regression-Fitted Filter is a Confirmation module included in Loxx's "Giga Kaleidoscope Modularized Trading System".
█ GKD-C Polynomial-Regression-Fitted Filter
Polynomial regression is a powerful tool in the field of data analysis, used to model the relationship between a dependent variable and one or more independent variables. In the case of a moving average, the aim is to smooth out fluctuations in time series data and reveal underlying trends. The following provides a thorough analysis of a polynomial regression function that calculates a moving average, delving into the intricacies of the code and explaining the steps involved in the process.
Function Overview
The polynomialRegressionMA(src, deg, len) function takes three input parameters: src, deg, and len. The src parameter represents the source data or time series, deg is the degree of the polynomial regression, and len is the length of the moving average window. Throughout the following description, we will discuss the various components of this function, explaining the role of each part in the overall process.
polynomialRegressionMA(src, deg, len)=>
float sumout = src
AX = matrix.new(12, 12, 0.)
float BX = array.new(12, 0.)
float ZX = array.new(12, 0.)
float Pow = array.new(12, 0.)
int Row = array.new(12, 0)
float CX = array.new(12, 0.)
for k = 1 to len
float YK = nz(src )
int XK = k
int Prod = 1
for j = 1 to deg + 1
array.set(BX, j, array.get(BX, j) + YK * Prod)
Prod *= XK
array.set(Pow, 0, len)
for k = 1 to len
int XK = k
int Prod = k
for j = 1 to 2 * deg
array.set(Pow, j, array.get(Pow, j) + Prod)
Prod *= XK
for j = 1 to deg + 1
for l = 1 to deg + 1
matrix.set(AX, j, l, array.get(Pow, j + l - 2))
for j = 1 to deg + 1
array.set(Row, j, j)
for i = 1 to deg
for k = i + 1 to deg + 1
if math.abs(matrix.get(AX, array.get(Row, k), i)) >
math.abs(matrix.get(AX, array.get(Row, i), i))
temp = array.get(Row, i)
array.set(Row, i, array.get(Row, k))
array.set(Row, k, temp)
for k = i + 1 to deg + 1
if matrix.get(AX, array.get(Row, i), i) != 0
matrix.set(AX, array.get(Row, k), i,
matrix.get(AX, array.get(Row, k), i) /
matrix.get(AX, array.get(Row, i), i))
for l = i + 1 to deg + 1
matrix.set(AX, array.get(Row, k), l,
matrix.get(AX, array.get(Row, k), l) -
matrix.get(AX, array.get(Row, k), i) *
matrix.get(AX, array.get(Row, i), l))
array.set(ZX, 1, array.get(BX, array.get(Row, 1)))
for k = 2 to deg + 1
float sum = 0.
for l = 1 to k - 1
sum += matrix.get(AX, array.get(Row, k), l) * array.get(ZX, l)
array.set(ZX, k, array.get(BX, array.get(Row, k)) - sum)
if matrix.get(AX, array.get(Row, deg + 1), deg + 1) != 0.
array.set(CX, deg + 1, array.get(ZX, deg + 1) / matrix.get(AX, array.get(Row, deg + 1), deg + 1))
for k = deg to 1
float sum = 0.
for l = k + 1 to deg + 1
sum += matrix.get(AX, array.get(Row, k), l) * array.get(CX, l)
array.set(CX, k, (array.get(ZX, k) - sum) / matrix.get(AX, array.get(Row, k), k))
sumout := array.get(CX, deg + 1)
for k = deg to 1
sumout := array.get(CX, k) + sumout * len
sumout
Variable Initialization
At the beginning of the function, several arrays and matrices are initialized: sumout, AX, BX, ZX, Pow, Row, and CX. These variables are used to store intermediate results and perform the necessary calculations.
sumout: This variable will store the final moving average result.
AX: A matrix that stores the coefficients of the system of linear equations representing the polynomial regression.
BX: An array that holds the values required for calculating the moving average.
ZX: An array used for storing intermediate results during the Gaussian elimination process.
Pow: An array containing the powers of the independent variable.
Row: An array that keeps track of the row order in the AX matrix.
CX: An array that stores the calculated coefficients of the polynomial regression.
Calculating the BX Array
The function begins by iterating through the length of the moving average window and the degree of the polynomial regression. The purpose of these nested loops is to calculate the values for the BX array. The outer loop iterates from 1 to len, while the inner loop iterates from 1 to deg + 1.
During each iteration, the YK variable is assigned the non-zero value of the source data at the index (len - k), and the XK variable is assigned the current value of k. The Prod variable is initialized with the value 1, and the inner loop calculates the product of YK and Prod. The value of Prod is then updated by multiplying it with XK.
After completing the inner loop, the BX array is updated by adding the product of YK and Prod to its current value at index j. This process continues until both loops are completed, and the BX array contains the necessary values for further calculations.
Calculating the Pow Array
Next, the function initializes the Pow array by setting its 0th element to the length of the moving average window. The Pow array will store the powers of the independent variable. The function then iterates through the length of the moving average window (from 1 to len) and calculates the values of the Pow array based on the polynomial degree.
During each iteration, the XK variable is assigned the current value of k, and the Prod variable is assigned the value of k. The loop then iterates from 1 to 2 * deg, updating the Pow array by adding the current value of Prod to the array element at index j. The value of Prod is updated by multiplying it with XK. Once the loop is complete, the Pow array contains the necessary values for initializing the AX matrix.
Initializing the AX Matrix
Following the calculation of the Pow array, the function initializes the AX matrix using the values from the Pow array. The AX matrix is a square matrix with dimensions (deg + 1) x (deg + 1) and is used to store the coefficients of the polynomial regression.
The function iterates through two nested loops, with the outer loop iterating from 1 to deg + 1 and the inner loop iterating from 1 to deg + 1 as well. During each iteration, the AX matrix is updated by setting the element at position (j, l) to the corresponding value from the Pow array at index (j + l - 2). This process continues until both loops are completed, and the AX matrix is fully populated with the necessary values.
Initializing the Row Array
The next part of the function initializes the Row array, which will be used later to keep track of the row order in the AX matrix. The function iterates through a loop that assigns each element of the array to its index (1 to deg + 1).
Gaussian Elimination
The function employs Gaussian elimination to solve the system of linear equations represented by the AX matrix. Gaussian elimination is an algorithm used to solve linear systems by transforming the system into a triangular matrix using a series of row operations, such as swapping rows, multiplying rows by constants, and adding or subtracting rows.
The function iterates through the deg elements, performing several nested loops that compare, swap, divide, and subtract the matrix elements accordingly. The outer loop iterates from 1 to deg, and the first inner loop iterates from i + 1 to deg + 1. This loop compares the absolute values of the matrix elements and swaps the rows when necessary. The process of comparing and swapping rows ensures that the matrix is in the proper format for Gaussian elimination.
The second inner loop iterates from i + 1 to deg + 1 and is responsible for dividing the matrix elements. If the matrix element at the position (array.get(Row, i), i) is not equal to 0, the matrix element at the position (array.get(Row, k), i) is divided by the matrix element at the position (array.get(Row, i), i).
The third inner loop iterates from i + 1 to deg + 1 and subtracts the matrix elements accordingly. This subtraction process eliminates the coefficients below the main diagonal, effectively transforming the AX matrix into an upper triangular matrix.
Back-substitution and Calculating the CX Array
The function proceeds to perform back-substitution to find the solution to the linear system. The ZX array is filled with the results from the BX array and the Row array. Then, the back-substitution process begins, and the CX array is filled with the calculated coefficients for the polynomial regression.
The function iterates from 1 to deg + 1 to update the ZX array. During each iteration, a sum variable is initialized to 0, and an inner loop iterates from 1 to k - 1. Inside this loop, the sum variable is incremented by the product of the AX matrix element at the position (array.get(Row, k), l) and the ZX array element at index l. After the inner loop, the ZX array is updated by subtracting the sum from the BX array element at the index array.get(Row, k).
Once the ZX array is updated, the function checks if the AX matrix element at the position (array.get(Row, deg + 1), deg + 1) is not equal to 0. If this condition is met, the CX array element at the index (deg + 1) is updated by dividing the ZX array element at the index (deg + 1) by the AX matrix element at the position (array.get(Row, deg + 1), deg + 1).
The function then iterates from deg to 1 in reverse order to update the CX array. A sum variable is initialized to 0, and an inner loop iterates from k + 1 to deg + 1. Inside this loop, the sum variable is incremented by the product of the AX matrix element at the position (array.get(Row, k), l) and the CX array element at index l. After the inner loop, the CX array element at index k is updated by dividing the difference between the ZX array element at index k and the sum by the AX matrix element at the position (array.get(Row, k), k). Once this process is completed, the CX array contains the calculated coefficients of the polynomial regression.
Calculating the Moving Average
The final step of the function is to calculate the moving average using the coefficients stored in the CX array. To do this, the function iterates through the degree of the polynomial regression in reverse order, starting with the highest degree and ending with the lowest. The result is stored in the sumout variable.
The loop iterates from deg to 1. During each iteration, the sumout variable is updated by adding the CX array element at index k to the product of the sumout variable and the length of the moving average window (len). This process continues until the loop is complete, and the sumout variable contains the final moving average value.
Returning the Moving Average
The function concludes by returning the sumout variable, which represents the moving average value at the current data point. The polyout variable is assigned the result of the polynomialRegressionMA(src, dgr, flen) function, and the sig variable is assigned the first element of the polyout array, indicating that the moving average value at the current data point is stored in the sig variable.
Conclusion
The provided code is a comprehensive implementation of a polynomial regression function that calculates the moving average of a given time series data set (src) using a specified polynomial degree (deg) and a specified moving average window length (len). The function employs Gaussian elimination and back-substitution techniques to solve the system of linear equations and find the coefficients for the polynomial regression. These coefficients are then used to compute the moving average.
In conclusion, we dissected the code of a polynomial regression function that creates a moving average, explaining each component's role in the overall process. The function demonstrates the power of polynomial regression in smoothing out fluctuations in time series data and revealing underlying trends, making it a valuable tool in the field of data analysis.
█ Giga Kaleidoscope Modularized Trading System
Core components of an NNFX algorithmic trading strategy
The NNFX algorithm is built on the principles of trend, momentum, and volatility. There are six core components in the NNFX trading algorithm:
1. Volatility - price volatility; e.g., Average True Range, True Range Double, Close-to-Close, etc.
2. Baseline - a moving average to identify price trend
3. Confirmation 1 - a technical indicator used to identify trends
4. Confirmation 2 - a technical indicator used to identify trends
5. Continuation - a technical indicator used to identify trends
6. Volatility/Volume - a technical indicator used to identify volatility/volume breakouts/breakdown
7. Exit - a technical indicator used to determine when a trend is exhausted
What is Volatility in the NNFX trading system?
In the NNFX (No Nonsense Forex) trading system, ATR (Average True Range) is typically used to measure the volatility of an asset. It is used as a part of the system to help determine the appropriate stop loss and take profit levels for a trade. ATR is calculated by taking the average of the true range values over a specified period.
True range is calculated as the maximum of the following values:
-Current high minus the current low
-Absolute value of the current high minus the previous close
-Absolute value of the current low minus the previous close
ATR is a dynamic indicator that changes with changes in volatility. As volatility increases, the value of ATR increases, and as volatility decreases, the value of ATR decreases. By using ATR in NNFX system, traders can adjust their stop loss and take profit levels according to the volatility of the asset being traded. This helps to ensure that the trade is given enough room to move, while also minimizing potential losses.
Other types of volatility include True Range Double (TRD), Close-to-Close, and Garman-Klass
What is a Baseline indicator?
The baseline is essentially a moving average, and is used to determine the overall direction of the market.
The baseline in the NNFX system is used to filter out trades that are not in line with the long-term trend of the market. The baseline is plotted on the chart along with other indicators, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR).
Trades are only taken when the price is in the same direction as the baseline. For example, if the baseline is sloping upwards, only long trades are taken, and if the baseline is sloping downwards, only short trades are taken. This approach helps to ensure that trades are in line with the overall trend of the market, and reduces the risk of entering trades that are likely to fail.
By using a baseline in the NNFX system, traders can have a clear reference point for determining the overall trend of the market, and can make more informed trading decisions. The baseline helps to filter out noise and false signals, and ensures that trades are taken in the direction of the long-term trend.
What is a Confirmation indicator?
Confirmation indicators are technical indicators that are used to confirm the signals generated by primary indicators. Primary indicators are the core indicators used in the NNFX system, such as the Average True Range (ATR), the Moving Average (MA), and the Relative Strength Index (RSI).
The purpose of the confirmation indicators is to reduce false signals and improve the accuracy of the trading system. They are designed to confirm the signals generated by the primary indicators by providing additional information about the strength and direction of the trend.
Some examples of confirmation indicators that may be used in the NNFX system include the Bollinger Bands, the MACD (Moving Average Convergence Divergence), and the MACD Oscillator. These indicators can provide information about the volatility, momentum, and trend strength of the market, and can be used to confirm the signals generated by the primary indicators.
In the NNFX system, confirmation indicators are used in combination with primary indicators and other filters to create a trading system that is robust and reliable. By using multiple indicators to confirm trading signals, the system aims to reduce the risk of false signals and improve the overall profitability of the trades.
What is a Continuation indicator?
In the NNFX (No Nonsense Forex) trading system, a continuation indicator is a technical indicator that is used to confirm a current trend and predict that the trend is likely to continue in the same direction. A continuation indicator is typically used in conjunction with other indicators in the system, such as a baseline indicator, to provide a comprehensive trading strategy.
What is a Volatility/Volume indicator?
Volume indicators, such as the On Balance Volume (OBV), the Chaikin Money Flow (CMF), or the Volume Price Trend (VPT), are used to measure the amount of buying and selling activity in a market. They are based on the trading volume of the market, and can provide information about the strength of the trend. In the NNFX system, volume indicators are used to confirm trading signals generated by the Moving Average and the Relative Strength Index. Volatility indicators include Average Direction Index, Waddah Attar, and Volatility Ratio. In the NNFX trading system, volatility is a proxy for volume and vice versa.
By using volume indicators as confirmation tools, the NNFX trading system aims to reduce the risk of false signals and improve the overall profitability of trades. These indicators can provide additional information about the market that is not captured by the primary indicators, and can help traders to make more informed trading decisions. In addition, volume indicators can be used to identify potential changes in market trends and to confirm the strength of price movements.
What is an Exit indicator?
The exit indicator is used in conjunction with other indicators in the system, such as the Moving Average (MA), the Relative Strength Index (RSI), and the Average True Range (ATR), to provide a comprehensive trading strategy.
The exit indicator in the NNFX system can be any technical indicator that is deemed effective at identifying optimal exit points. Examples of exit indicators that are commonly used include the Parabolic SAR, the Average Directional Index (ADX), and the Chandelier Exit.
The purpose of the exit indicator is to identify when a trend is likely to reverse or when the market conditions have changed, signaling the need to exit a trade. By using an exit indicator, traders can manage their risk and prevent significant losses.
In the NNFX system, the exit indicator is used in conjunction with a stop loss and a take profit order to maximize profits and minimize losses. The stop loss order is used to limit the amount of loss that can be incurred if the trade goes against the trader, while the take profit order is used to lock in profits when the trade is moving in the trader's favor.
Overall, the use of an exit indicator in the NNFX trading system is an important component of a comprehensive trading strategy. It allows traders to manage their risk effectively and improve the profitability of their trades by exiting at the right time.
How does Loxx's GKD (Giga Kaleidoscope Modularized Trading System) implement the NNFX algorithm outlined above?
Loxx's GKD v1.0 system has five types of modules (indicators/strategies). These modules are:
1. GKD-BT - Backtesting module (Volatility, Number 1 in the NNFX algorithm)
2. GKD-B - Baseline module (Baseline and Volatility/Volume, Numbers 1 and 2 in the NNFX algorithm)
3. GKD-C - Confirmation 1/2 and Continuation module (Confirmation 1/2 and Continuation, Numbers 3, 4, and 5 in the NNFX algorithm)
4. GKD-V - Volatility/Volume module (Confirmation 1/2, Number 6 in the NNFX algorithm)
5. GKD-E - Exit module (Exit, Number 7 in the NNFX algorithm)
(additional module types will added in future releases)
Each module interacts with every module by passing data between modules. Data is passed between each module as described below:
GKD-B => GKD-V => GKD-C(1) => GKD-C(2) => GKD-C(Continuation) => GKD-E => GKD-BT
That is, the Baseline indicator passes its data to Volatility/Volume. The Volatility/Volume indicator passes its values to the Confirmation 1 indicator. The Confirmation 1 indicator passes its values to the Confirmation 2 indicator. The Confirmation 2 indicator passes its values to the Continuation indicator. The Continuation indicator passes its values to the Exit indicator, and finally, the Exit indicator passes its values to the Backtest strategy.
This chaining of indicators requires that each module conform to Loxx's GKD protocol, therefore allowing for the testing of every possible combination of technical indicators that make up the six components of the NNFX algorithm.
What does the application of the GKD trading system look like?
Example trading system:
Backtest: Strategy with 1-3 take profits, trailing stop loss, multiple types of PnL volatility, and 2 backtesting styles
Baseline: Hull Moving Average
Volatility/Volume: Hurst Exponent
Confirmation 1: Polynomial-Regression-Fitted Filter as shown on the chart above
Confirmation 2: Williams Percent Range
Continuation: Fisher Transform
Exit: Rex Oscillator
Each GKD indicator is denoted with a module identifier of either: GKD-BT, GKD-B, GKD-C, GKD-V, or GKD-E. This allows traders to understand to which module each indicator belongs and where each indicator fits into the GKD protocol chain.
Giga Kaleidoscope Modularized Trading System Signals (based on the NNFX algorithm)
Standard Entry
1. GKD-C Confirmation 1 Signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
6. GKD-C Confirmation 1 signal was less than 7 candles prior
Volatility/Volume Entry
1. GKD-V Volatility/Volume signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 2 agrees
5. GKD-B Baseline agrees
6. GKD-C Confirmation 1 signal was less than 7 candles prior
Continuation Entry
1. Standard Entry, Baseline Entry, or Pullback; entry triggered previously
2. GKD-B Baseline hasn't crossed since entry signal trigger
3. GKD-C Confirmation Continuation Indicator signals
4. GKD-C Confirmation 1 agrees
5. GKD-B Baseline agrees
6. GKD-C Confirmation 2 agrees
1-Candle Rule Standard Entry
1. GKD-C Confirmation 1 signal
2. GKD-B Baseline agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
Next Candle:
1. Price retraced (Long: close < close or Short: close > close )
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume agrees
1-Candle Rule Baseline Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 1 signal was less than 7 candles prior
Next Candle:
1. Price retraced (Long: close < close or Short: close > close )
2. GKD-B Baseline agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-V Volatility/Volume Agrees
1-Candle Rule Volatility/Volume Entry
1. GKD-V Volatility/Volume signal
2. GKD-C Confirmation 1 agrees
3. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
4. GKD-C Confirmation 1 signal was less than 7 candles prior
Next Candle:
1. Price retraced (Long: close < close or Short: close > close)
2. GKD-B Volatility/Volume agrees
3. GKD-C Confirmation 1 agrees
4. GKD-C Confirmation 2 agrees
5. GKD-B Baseline agrees
PullBack Entry
1. GKD-B Baseline signal
2. GKD-C Confirmation 1 agrees
3. Price is beyond 1.0x Volatility of Baseline
Next Candle:
1. Price is within a range of 0.2x Volatility and 1.0x Volatility of the Goldie Locks Mean
2. GKD-C Confirmation 1 agrees
3. GKD-C Confirmation 2 agrees
4. GKD-V Volatility/Volume Agrees
]█ Setting up the GKD
The GKD system involves chaining indicators together. These are the steps to set this up.
Use a GKD-C indicator alone on a chart
1. Inside the GKD-C indicator, change the "Confirmation Type" setting to "Solo Confirmation Simple"
Use a GKD-V indicator alone on a chart
**nothing, it's already useable on the chart without any settings changes
Use a GKD-B indicator alone on a chart
**nothing, it's already useable on the chart without any settings changes
Baseline (Baseline, Backtest)
1. Import the GKD-B Baseline into the GKD-BT Backtest: "Input into Volatility/Volume or Backtest (Baseline testing)"
2. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "Baseline"
Volatility/Volume (Volatility/Volume, Backte st)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Solo"
2. Inside the GKD-V indicator, change the "Signal Type" setting to "Crossing" (neither traditional nor both can be backtested)
3. Import the GKD-V indicator into the GKD-BT Backtest: "Input into C1 or Backtest"
4. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "Volatility/Volume"
5. Inside the GKD-BT Backtest, a) change the setting "Backtest Type" to "Trading" if using a directional GKD-V indicator; or, b) change the setting "Backtest Type" to "Full" if using a directional or non-directional GKD-V indicator (non-directional GKD-V can only test Longs and Shorts separately)
6. If "Backtest Type" is set to "Full": Inside the GKD-BT Backtest, change the setting "Backtest Side" to "Long" or "Short
7. If "Backtest Type" is set to "Full": To allow the system to open multiple orders at one time so you test all Longs or Shorts, open the GKD-BT Backtest, click the tab "Properties" and then insert a value of something like 10 orders into the "Pyramiding" settings. This will allow 10 orders to be opened at one time which should be enough to catch all possible Longs or Shorts.
Solo Confirmation Simple (Confirmation, Backtest)
1. Inside the GKD-C indicator, change the "Confirmation Type" setting to "Solo Confirmation Simple"
1. Import the GKD-C indicator into the GKD-BT Backtest: "Input into Backtest"
2. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "Solo Confirmation Simple"
Solo Confirmation Complex without Exits (Baseline, Volatility/Volume, Confirmation, Backtest)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Chained"
2. Import the GKD-B Baseline into the GKD-V indicator: "Input into Volatility/Volume or Backtest (Baseline testing)"
3. Inside the GKD-C indicator, change the "Confirmation Type" setting to "Solo Confirmation Complex"
4. Import the GKD-V indicator into the GKD-C indicator: "Input into C1 or Backtest"
5. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "GKD Full wo/ Exits"
6. Import the GKD-C into the GKD-BT Backtest: "Input into Exit or Backtest"
Solo Confirmation Complex with Exits (Baseline, Volatility/Volume, Confirmation, Exit, Backtest)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Chained"
2. Import the GKD-B Baseline into the GKD-V indicator: "Input into Volatility/Volume or Backtest (Baseline testing)"
3. Inside the GKD-C indicator, change the "Confirmation Type" setting to "Solo Confirmation Complex"
4. Import the GKD-V indicator into the GKD-C indicator: "Input into C1 or Backtest"
5. Import the GKD-C indicator into the GKD-E indicator: "Input into Exit"
6. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "GKD Full w/ Exits"
7. Import the GKD-E into the GKD-BT Backtest: "Input into Backtest"
Full GKD without Exits (Baseline, Volatility/Volume, Confirmation 1, Confirmation 2, Continuation, Backtest)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Chained"
2. Import the GKD-B Baseline into the GKD-V indicator: "Input into Volatility/Volume or Backtest (Baseline testing)"
3. Inside the GKD-C 1 indicator, change the "Confirmation Type" setting to "Confirmation 1"
4. Import the GKD-V indicator into the GKD-C 1 indicator: "Input into C1 or Backtest"
5. Inside the GKD-C 2 indicator, change the "Confirmation Type" setting to "Confirmation 2"
6. Import the GKD-C 1 indicator into the GKD-C 2 indicator: "Input into C2"
7. Inside the GKD-C Continuation indicator, change the "Confirmation Type" setting to "Continuation"
8. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "GKD Full wo/ Exits"
9. Import the GKD-E into the GKD-BT Backtest: "Input into Exit or Backtest"
Full GKD with Exits (Baseline, Volatility/Volume, Confirmation 1, Confirmation 2, Continuation, Exit, Backtest)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Chained"
2. Import the GKD-B Baseline into the GKD-V indicator: "Input into Volatility/Volume or Backtest (Baseline testing)"
3. Inside the GKD-C 1 indicator, change the "Confirmation Type" setting to "Confirmation 1"
4. Import the GKD-V indicator into the GKD-C 1 indicator: "Input into C1 or Backtest"
5. Inside the GKD-C 2 indicator, change the "Confirmation Type" setting to "Confirmation 2"
6. Import the GKD-C 1 indicator into the GKD-C 2 indicator: "Input into C2"
7. Inside the GKD-C Continuation indicator, change the "Confirmation Type" setting to "Continuation"
8. Import the GKD-C Continuation indicator into the GKD-E indicator: "Input into Exit"
9. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "GKD Full w/ Exits"
10. Import the GKD-E into the GKD-BT Backtest: "Input into Backtest"
Baseline + Volatility/Volume (Baseline, Volatility/Volume, Backtest)
1. Inside the GKD-V indicator, change the "Testing Type" setting to "Baseline + Volatility/Volume"
2. Inside the GKD-V indicator, make sure the "Signal Type" setting is set to "Traditional"
3. Import the GKD-B Baseline into the GKD-V indicator: "Input into Volatility/Volume or Backtest (Baseline testing)"
4. Inside the GKD-BT Backtest, change the setting "Backtest Special" to "Baseline + Volatility/Volume"
5. Import the GKD-V into the GKD-BT Backtest: "Input into C1 or Backtest"
6. Inside the GKD-BT Backtest, change the setting "Backtest Type" to "Full". For this backtest, you must test Longs and Shorts separately
7. To allow the system to open multiple orders at one time so you can test all Longs or Shorts, open the GKD-BT Backtest, click the tab "Properties" and then insert a value of something like 10 orders into the "Pyramiding" settings. This will allow 10 orders to be opened at one time which should be enough to catch all possible Longs or Shorts.
Requirements
Inputs
Confirmation 1: GKD-V Volatility / Volume indicator
Confirmation 2: GKD-C Confirmation indicator
Continuation: GKD-C Confirmation indicator
Solo Confirmation Simple: GKD-B Baseline
Solo Confirmation Complex: GKD-V Volatility / Volume indicator
Solo Confirmation Super Complex: GKD-V Volatility / Volume indicator
Stacked 1: None
Stacked 2+: GKD-C, GKD-V, or GKD-B Stacked 1
Outputs
Confirmation 1: GKD-C Confirmation 2 indicator
Confirmation 2: GKD-C Continuation indicator
Continuation: GKD-E Exit indicator
Solo Confirmation Simple: GKD-BT Backtest
Solo Confirmation Complex: GKD-BT Backtest or GKD-E Exit indicator
Solo Confirmation Super Complex: GKD-C Continuation indicator
Stacked 1: GKD-C, GKD-V, or GKD-B Stacked 2+
Stacked 2+: GKD-C, GKD-V, or GKD-B Stacked 2+ or GKD-BT Backtest
Additional features will be added in future releases.
RSI and Stochastic Probability Based Price Target IndicatorHello,
Releasing this beta indicator. It is somewhat experimental but I have had some good success with it so I figured I would share it!
What is it?
This is an indicator that combines RSI and Stochastics with probability levels.
How it works?
This works by applying a regression based analysis on both Stochastics and RSI to attempt to predict a likely close price of the stock.
It also assess the normal distribution range the stock is trading in. With this information it does the following:
2 lines are plotted:
Yellow line: This is the stochastic line. This represents the smoothed version of the stochastic price prediction of the most likely close price.
White Line: This is the RSI line. It represents the smoothed version of the RSI price prediction of the most likely close price.
When the Yellow Line (Stochastic Line) crosses over the White Line (the RSI line), this is a bearish indication. It will signal a bearish cross (red arrow) to signal that some selling or pullback may follow.
IF this bearish cross happens while the stock is trading in a low probability upper zone (anything 13% or less), it will trigger a label to print with a pullback price. The pullback price is the "regression to the mean" assumption price. Its the current mean at the time of the bearish cross.
The inverse is true if it is a bullish cross. If the stock has a bullish cross and is trading in a low probability bearish range, it will print the price target for a regression back to the upward mean.
Additional information:
The indicator also provides a data table. This data table provides you with the current probability range (i.e. whether the stock is trading in the 68% probability zone or the outer 13, 2.1 or 0.1 probability zones), as well as the overall probability of a move up or down.
It also provides the next bull and bear targets. These are calculated based on the next probability zone located immediately above and below the current trading zone of the stock.
Smoothing vs Non-smoothed data:
For those who like to assess RSI and Stochastic for divergences, there is an option in the indicator to un-smooth the stochastic and RSI lines. Doing so looks like this:
Un-smoothing the RSI and stochastic will not affect the analysis or price targets. However it does add some noise to the chart and makes it slightly difficult to check for crosses. But whatever your preference is you can use.
Cross Indicators :
A bearish cross (stochastic crosses above RSI line) is signalled with a red arrow down shape.
A bullish cross (RSI crosses above stochastic line) is signalled with a green arrow up shape.
Labels vs Arrows:
The arrows are lax in their signalling. They will signal at any cross. Thus you are inclined to get false signals.
The labels are programmed to only trigger on high probability setups.
Please keep this in mind when using the indicator!
Warning and disclaimer:
As with all indicators, no indicator is 100% perfect.
This will not replace the need for solid analysis, risk management and planning.
This is also kind of beta in its approach. As such, there are no real rules on how it should be or can be applied rigorously. Thus, its important to exercise caution and not rely on this alone. Do your due diligence before using or applying this indicator to your trading regimen.
As it is kind of different, I am interested in hearing your feedback and experience using it. Let me know your feedback, experiences and suggestions below.
Also, because it does have a lot of moving parts, I have done a tutorial video on its use linked below:
Thanks for checking it out, safe trades everyone and take care!
Trading pirate 2Trading Pirate Regression Candles. This turns regular candle sticks into regression candles. Colors are Gray and Red.
Crypto Performance Index1. The Crypto Performance Index (CPI) estimates the price appreciation of a crypto asset relative to the overall crypto market performance. The indicator is calculated using a Sharpe Ratio principle enhanced with time-domain normalization and cumulative parametrization.
2. The CPI is based on the idea that the performance of an asset should be evaluated not only in terms of its absolute price movement, but also in terms of its risk-adjusted returns compared to the broader market. The Sharpe Ratio, which takes into account both the asset's return and its volatility, is a commonly used measure of risk-adjusted performance.
3. The CPI takes the Sharpe Ratio principle further by incorporating a time-domain normalization technique that adjusts for differences in volatility across different time periods. The cumulative parametrization ensures that the CPI considers the overall performance of the asset over a specified period of time.
4. To use the indicator, select a timeframe and set the standard deviation period (default is 20). The CPI line can be compared against various market benchmarks, including the total crypto market cap (white line), altcoins total market cap (blue line), low-cap altcoins (without ETH), and Bitcoin.
5. An upward slope of the CPI line indicates strong price performance of an asset, with a relatively high chance for the asset to continue growing faster than the market in the future. Conversely, a downward slope of the CPI line indicates weak price performance of an asset, with a relatively high chance for the asset to depreciate in price with respect to the rest of the market in the future.
6. Overall, the CPI provides a comprehensive measure of an asset's price performance, taking into account both its absolute return and its risk-adjusted return relative to the broader market. This makes it a valuable tool for investors looking to evaluate the performance of their crypto holdings and make informed decisions about buying, selling, or holding assets.
BTC Log High/Low ChartThis indicator calculates the logarithmic values of the high and low prices of BTC based on a mathematical formula and plots them on the chart. The code uses the current time and width of the chart to calculate the logarithmic values of the high and low prices. It defines functions to convert a timestamp to the number of days since January 1st, 2009.
You can use it with BTC Log High/Low:
Correlation AnalysisAs the name suggests, this indicator is a market correlation analysis tool.
It contains two main features:
- The Curve: represents the historic correlation coefficient between the current chart and the “Reference Market” input from the settings menu. It aims to give more depth to the current correlation values found in the second feature.
- The Screener: this second feature displays all correlation coefficient values between the (max) 20 markets inputs. You can use it to create several screeners for several market types (crypto, forex, metals, etc.) or even replicate your current portfolio of investments and gauge the correlation of its components.
Aside from these two previous features, you can visually plot the variation rate from one bar to another along with the covariance coefficient (both used in the correlation calculation). Finally, a simple “signal” moving average can be applied to the correlation coefficient .
I might add alerts to this script or even turn it into a strategy to do some backtesting. Do not hesitate to contact me or comment below if this is something you would be interested in or if you have any suggestions for improvement.
Enjoy!!
Capital Line PackThe Capital Line Pack ( CLP ) indicator is a technical analysis tool that is designed to help traders and investors identify potential buying and selling opportunities in financial markets by using, inter alia, kernel regression methodoliges. It is a standalone indicator that can be placed on top of price chart displaying the Base MA, Capital Line and standard deviation bands.
The Capital Line is calculated based on volatility, measured by a z-scores* of a selected price source and a moving average (Base MA). The Base MA serves as the foundation for the Capital Line calculation and plays a critical role in determining its behavior and responsiveness to price movements. By selecting different types of moving averages as the Base MA, traders can adjust the sensitivity of the Capital Line to changes in market conditions, which can impact the signals generated by the indicator. The Base MA can be set at the user's choice including: SMA, EMA, Volume Weighted Moving Average (VWMA), Kernel Regression MA, HEMA, DEMA, T3.
For example, if a trader selects a EMA as the Base MA, the Capital Line will respond more quickly to changes in price compared to a more smoothed moving average, like a Volume Weighted Moving Average (VWMA) or Kernel Regression MA. This means that the Capital Line will be more sensitive to short-term price fluctuations with a EMA as the Base MA, while a VWMA or Kernel Regression MA will be less reactive to short-term price movements and more focused on longer-term trends.
Therefore, the choice of Base MA can have a significant impact on the behavior of the Capital Line, and traders need to select the most appropriate Base MA that suits their trading strategy and risk management preferences.
*The z-scores are calculated by comparing the current price to the average price over a certain period of time, and then dividing the difference by the standard deviation of the prices over that same period of time.
The Bands are calculated by adding and subtracting a standard deviation from the Base MA.
Bands help identify the volatility of the market, and when the bands are narrow, it suggests that the market is in a range-bound or flat period.
Indicator incorporates trade signals (labels and alerts). The method by which signals are generated can be selected by the user from several options:
Cap line color switch: Turning blue when it rises and red when it starts to fall.
Cap Line crosses the Base MA: This can be useful when the Base MA is weighted, for example, by volume, and the Cap Line Bandwidth and Relative weighting are set to small values.
Price crosses the Base MA: This is a popular and widely-used method that can provide reliable signals during trending market conditions. However, it may generate false signals during range-bound or flat market conditions.
Crossing of secondary MAs which can be selected in the indicator settings: This method provides traders with more flexibility and control over the signals generated by the indicator, but it may also be more complex and require more advanced technical analysis skills.
One of the standout features of our indicator is the ability to choose from several different style themes:
Pro
Modern
and Stealth
The "Pro" and "Modern" themes offer a clean and visually appealing display, while the "Stealth" theme is perfect for traders who want to focus on the price action or other indicators. The "Stealth" theme shades all the elements of the indicator while still keeping them in the field of visibility, allowing traders to concentrate on the most important aspects of their charts.
In addition to its trade signals, alerts, labels, and customizable themes, the indicator also offers several trend highlighting options to help traders visually backtest their trades. These options include candle coloring, background coloring, and highlighting with a histogram.
The candle coloring feature allows traders to customize the color of the candlesticks on their chart based on the direction of the trend. For example, bullish candles could be colored in teal, while bearish candles could be colored purple etc. This can make it easier for traders to identify trend movements and backtest their strategy.
The background coloring feature works similarly to the candle coloring feature, but it applies a color to the background of the chart rather than the candlesticks. This can be a useful way to highlight trends on the chart without obscuring the price action.
The histogram highlighting feature displays a histogram on the chart to show the difference between the upper and lower bands. This can be a useful way to visualize the strength of the trend and backtest trades based on the histogram readings.
NB! Remember, it is important to have a solid trading plan in place and to properly manage risk when trading.
Some traders may, depending upon customized settings, use the Capital Line as a capital risk management feature in trading. Our Capital Line indicator can be a useful tool, but it should not be the only factor considered when making trade decisions.
Lorentzian ML [Sublime Traders]Lorentzian ML
Context: The whole idea of this indicator is to use the Lorentzian Classifier (a popular machine learning model suited for analyzing data in a time series) , add some oscillators and filter them with volume averages in order to get precise swing move indications.
The Lorentzian ML indicator uses the Lorenzian Classifier (LDC) algorithm that takes into account the Commodity Channel Index (CCI) and Relative Strength Index (RSI) signals as raw material to provide buy and sell signals. The indicator is accompanied by take profit , stop loss and entry lines based on the Average True Range (ATR).
Features:
1. Lorentzian Classifier:
Uses the difference between the current and previous values of CCI and RSI to generate buy and sell signals.
The classifier threshold can be adjusted using the input parameter.
2. ATR-based Take Profit Line:
A horizontal take profit line is plotted when buy or sell signals occur.
The line is based on the ATR value and a user-defined multiplier.
3. VMA filtering
Using the simple switches: Scalper, Swing or Holder , the users can easily filter the frequency of the signals in addition to the lookback and threshold filters. This will affect the used VMA lines that use data gathered from multiple timeframes.
Visual Representation:
The indicator plots green candles for buy signals and red candles for sell signals.
Buy and sell labels are displayed on the chart to mark the points where signals occur.
The ATR-based take profit line is displayed in a user-defined color and line width.
Visual representation of the VMA lines : Red - bearish , Blue - uncertain , Green - bullish
Changes and features to come
Fix "holder" switch on sell side that sometimes bugs the whole chart.
Add more intuitive filtering methods.
Add two more oscillators to the Lorentzian pool.
Create switches for Lorentzian source.