Normalized Hull Moving Average Oscillator w/ ConfigurationsThis indicator uniquely uses normalization techniques applied to the Hull Moving Average (HMA) and allows the user to choose between a number of different types of normalization, each with their own advantages. This indicator is one in a series of experiments I've been working on in looking at different methods of transforming data. In particular, this is a more usable example of the power of data transformation, as it takes the Hull Moving Average of Alan Hull and turns it into a powerful oscillating indicator.
The indicator offers multiple types of normalization, each with its own set of benefits and drawbacks. My personal favorites are the Mean Normalization , which turns the data series into one centered around 0, and the Quantile Transformation , which converts the data into a data set that is normally distributed.
I've also included the option of showing the mean, median, and mode of the data over the period specified by the length of normalization. Using this will allow you to gather additional insights into how these transformations affect the distribution of the data series.
Types of Normalization:
1. Z-Score
Overview: Standardizes the data by subtracting the mean and dividing by the standard deviation.
Benefits: Centers the data around 0 with a standard deviation of 1, reducing the impact of outliers.
Disadvantages: Works best on data that is normally distributed
Notes: Best used with a mid-longer length of transformation.
2. Min-Max
Overview: Scales the data to fit within a specified range, typically 0 to 1.
Benefits: Simple and fast to compute, preserves the relationships among data points.
Disadvantages: Sensitive to outliers, which can skew the normalization.
Notes: Best used with mid-longer length of transformation.
3. Mean Normalization
Overview: Subtracts the mean and divides by the range (max - min).
Benefits: Centers data around 0, making it easier to compare different datasets.
Disadvantages: Can be affected by outliers, which influence the range.
Notes: Best used with a mid-longer length of transformation.
4. Max Abs Scaler
Overview: Scales each feature by its maximum absolute value.
Benefits: Retains sparsity and is robust to large outliers.
Disadvantages: Only shifts data to the range , which might not always be desirable.
Notes: Best used with a mid-longer length of transformation.
5. Robust Scaler
Overview: Uses the median and the interquartile range for scaling.
Benefits: Robust to outliers, does not shift data as much as other methods.
Disadvantages: May not perform well with small datasets.
Notes: Best used with a longer length of transformation.
6. Feature Scaling to Unit Norm
Overview: Scales data such that the norm (magnitude) of each feature is 1.
Benefits: Useful for models that rely on the magnitude of feature vectors.
Disadvantages: Sensitive to outliers, which can disproportionately affect the norm. Not normally used in this context, though it provides some interesting transformations.
Notes: Best used with a shorter length of transformation.
7. Logistic Function
Overview: Applies the logistic function to squash data into the range .
Benefits: Smoothly compresses extreme values, handling skewed distributions well.
Disadvantages: May not preserve the relative distances between data points as effectively.
Notes: Best used with a shorter length of transformation. This feature is actually two layered, we first put it through the mean normalization to ensure that it's generally centered around 0.
8. Quantile Transformation
Overview: Maps data to a uniform or normal distribution using quantiles.
Benefits: Makes data follow a specified distribution, useful for non-linear scaling.
Disadvantages: Can distort relationships between features, computationally expensive.
Notes: Best used with a very long length of transformation.
Conclusion
This indicator is a powerful example into how normalization can alter and improve the usability of a data series. Each method offers unique insights and benefits, making this indicator a useful tool for any trader. Try it out, and don't hesitate to reach out if you notice any glaring flaws in the script, room for improvement, or if you just have questions. Indicator

Kalman Hull RSI [BackQuant]Kalman Hull RSI
At its core, this indicator uses a Kalman filter of price, put inside of a hull moving average function (replacing the weighted moving averages) and then using that as a price source for the the RSI, very similar to the Kalman Hull Supertrend just processing price for a different indicator.
This also allows it to make it more adaptive to price and also sensitive to recent price action. This indicator is also mainly built for trend-following systems
PLEASE Read the following, knowing what an indicator does at its core before adding it into a system is pivotal. The core concepts can allow you to include it in a logical and sound manner.
1. What is a Kalman Filter
The Kalman Filter is an algorithm renowned for its efficiency in estimating the states of a linear dynamic system amidst noisy data. It excels in real-time data processing, making it indispensable in fields requiring precise and adaptive filtering, such as aerospace, robotics, and financial market analysis. By leveraging its predictive capabilities, traders can significantly enhance their market analysis, particularly in estimating price movements more accurately.
If you would like this on its own, with a more in-depth description please see our Kalman Price Filter.
OR our Kalman Hull Supertrend
2. Hull Moving Average (HMA) and Its Core Calculation
The Hull Moving Average (HMA) improves on traditional moving averages by combining the Weighted Moving Average's (WMA) smoothness and reduced lag. Its core calculation involves taking the WMA of the data set and doubling it, then subtracting the WMA of the full period, followed by applying another WMA on the result over the square root of the period's length. This methodology yields a smoother and more responsive moving average, particularly useful for identifying market trends more rapidly.
3. Combining Kalman Filter with HMA
The innovative combination of the Kalman Filter with the Hull Moving Average (KHMA) offers a unique approach to smoothing price data. By applying the Kalman Filter to the price source before its incorporation into the HMA formula, we enhance the adaptiveness and responsiveness of the moving average. This adaptive smoothing method reduces noise more effectively and adjusts more swiftly to price changes, providing traders with clearer signals for market entries or exits.
The calculation is like so:
KHMA(_src, _length) =>
f_kalman(2 * f_kalman(_src, _length / 2) - f_kalman(_src, _length), math.round(math.sqrt(_length)))
Use Case
The Kalman Hull RSI is particularly suited for traders who require a highly adaptive indicator that can respond to rapid market changes without the excessive noise associated with typical RSI calculations. It can be effectively used in markets with high volatility where traditional indicators might lag or produce misleading signals.
Application in a Trading System
The Kalman Hull RSI is versatile in application, suitable for:
Trend Identification: Quickly identify potential reversals or confirmations of existing trends.
Overbought/Oversold Conditions: Utilize the dynamic RSI thresholds to pinpoint potential entry and exit points, adapting to current market conditions.
Risk Management: Enhance trading strategies by integrating a more reliable measure of momentum, which can lead to improved stop-loss placements and exit strategies.
Core Calculations and Benefits
Dynamic State Estimation: By applying the Kalman Filter, the indicator continually adjusts its calculations based on incoming price data, providing a real-time, smoothed response to price movements.
Reduced Lag: The integration with HMA significantly reduces lag, offering quicker responses to price changes than traditional moving averages or RSI alone.
Increased Accuracy: The dual filtering effect minimizes the impact of price spikes and noise, leading to more accurate signaling for trades.
Thus following all of the key points here are some sample backtests on the 1D Chart
Disclaimer: Backtests are based off past results, and are not indicative of the future.
INDEX:BTCUSD
INDEX:ETHUSD
BINANCE:SOLUSD
Indicator

Trend Continuation Signals [AlgoAlpha]Introducing the Trend Continuation Signals by AlgoAlpha 🌟🚀
Elevate your trading game with this multipurpose indicator, designed to pinpoint trend continuation opportunities as well as highlight volatility and oversold/overbought conditions. Whether you're a trading novice or a seasoned market veteran, this tool offers intuitive visual cues to boost your decision-making and enhance your market analysis. Let's explore the key features, how to use it effectively, and delve into the operational mechanics that make this tool a game-changer in your trading arsenal:
Key Features:
🔥 Advanced Trend Detection : Leverages the Hull Moving Average (HMA) for superior trend tracking as compared to other MAs, offering unique insights into market momentum.
🌈 Volatility Bands : Implements adjustable bands around the trend line, which evolve with market conditions to highlight potential trading opportunities.
⚡ Trend Continuation Signals : Identifies bullish and bearish continuation signals, equipping you with actionable signals to exploit the prevailing market trend.
🎨 Intuitive Color Coding : Employs a vibrant color scheme to distinguish between uptrends, downtrends, and neutral phases, facilitating easy interpretation of the indicator's insights.
🛠 How to Use "Trend Continuation Signals ":
🔍 Setting Up : Incorporate the indicator onto your chart and customize the indicator to suite your preferences.
👀 Reading the Signals : Pay attention to the color-coded trend lines and volatility bands. Green indicates an uptrend, red signifies a downtrend, and gray denotes a neutral market condition.
📈 Identifying Entry Points : Look for bullish (▲) and bearish (▼) continuation icons below or above the price bars as signals for potential entry points for long or short positions, respectively.
🔄 Confirmation : Validate your trades with further analysis or other indicators. The Trend Continuation Signals are most effective when complemented by other technical analysis tools or fundamental insights.
📉 Risk Management : Implement stop-loss orders in line with your risk appetite and adjust them based on the volatility bands provided by the indicator to safeguard your investments.
How It Operates:
The essence of the indicator is captured through the hull moving averages for both the primary and secondary lines, set at periods of 93 and 50, respectively, to reflect market trends and pullbacks that trigger the continuation signals every time price recovers from a detected pullback.
Volatility is quantified through the standard deviation of the midline, magnified by a factor, establishing the upper and lower trend band boundaries.
Further volatility bands are plotted around the main volatility band, providing a granular view of market volatility and potential breakout or breakdown zones.
Market trend direction is determined by comparing the HMA line's current position to its previous value, enhanced by the secondary line to identify continuation patterns.
Embrace the power of the Trend Continuation Signals to enhance your trading strategy! It is important to note that all indicators are best used in confluence with other forms of analysis, happy trading! 📊💥 Indicator

SuperTrend Fisher [AlgoAlpha]🚀🌟 Introducing the "Super Fisher" by AlgoAlpha, a sophisticated and versatile tool crafted for the discerning trader. This innovative indicator merges the precision of the Fisher Transform with the adaptability of the SuperTrend methodology, offering a fresh perspective on market analysis. 📈🔍
Key Features:
🔶 Customizable Settings: Tailor the indicator to your trading style with adjustable inputs like "Fair-value Period" and "EMA Length". Choose your preferred "Up Color" and "Down Color" for a personalized visual experience.
🔶 Advanced Fisher Transform: At the heart of this tool is the Fisher Transform, an algorithm renowned for pinpointing potential price reversals by normalizing asset prices.
🔶 Integrated SuperTrend Functionality: This feature adds a layer of trend analysis, using the refined Fisher Transform values to generate dynamic, trend-following signals.
🔶 Enhanced Visualization: Clearly distinguishable bullish and bearish market phases, thanks to the color-coded plots of Fisher Transform and SuperTrend values.
🔶 Overbought/Oversold Levels: Visual plots and fills for these levels provide additional insights into market extremities.
🔶 Configurable Alerts: Stay informed with alerts for critical market movements like crossing the zero line or the SuperTrend.
Logic:
The "Super Fisher" operates on a sophisticated algorithm:
1. Fisher Transform Calculation: It starts by calculating the Detrended Price Oscillator (DPO) and its standard deviation. These values are then transformed using the Fisher Transform formula, which is subsequently smoothed with a Hull Moving Average.
2. SuperTrend Integration: The SuperTrend function employs the Fisher Transform values to create a dynamic trend-following tool. It calculates upper and lower bands and determines which one to use for market direction based on whether the fisher is above or below the bands, offering an insightful view of the price trend.
3. Overbought/Oversold Identification: The tool plots specific levels to indicate overbought and oversold conditions, aiding in the identification of potential reversal points.
Here's a closer look at the core calculations:
Calculates the Fisher Transform:
value = 0.0
value := round_(.66 * ((src - low_) / (high_ - low_) - .5) + .67 * nz(value ))
fish1 = 0.0
fish1 := .5 * math.log((1 + value) / (1 - value)) + .5 * nz(fish1 )
fish1 := ta.hma(fish1, l)
Calculates the SuperTrend:
supertrend(factor, atrPeriod, srcc) =>
src = srcc
atr = atrr(srcc, atrPeriod)
upperBand = src + factor * atr
lowerBand = src - factor * atr
prevLowerBand = nz(lowerBand )
prevUpperBand = nz(upperBand )
lowerBand := lowerBand > prevLowerBand or srcc < prevLowerBand ? lowerBand : prevLowerBand
upperBand := upperBand < prevUpperBand or srcc > prevUpperBand ? upperBand : prevUpperBand
int direction = na
float superTrend = na
prevSuperTrend = superTrend
if na(atr )
direction := 1
else if prevSuperTrend == prevUpperBand
direction := srcc > upperBand ? -1 : 1
else
direction := srcc < lowerBand ? 1 : -1
superTrend := direction == -1 ? lowerBand : upperBand
How to Use:
📊 To maximize the potential of the "Super Fisher", follow these steps:
1. Customize Settings: Adjust the inputs to match your trading preferences. This includes setting the periods for the Fisher Transform and SuperTrend, as well as choosing colors for better visualization.
2. Analyze the Market: Observe the Fisher Transform and SuperTrend plots to gauge market direction. Pay special attention to color changes, as they indicate shifts in market sentiment.
3. Identify Extremes: Use the overbought and oversold plots to understand potential reversal points.
4. Set Alerts: Utilize the alert functionality to stay informed about significant market movements, ensuring you never miss an opportunity.
🔥 In summary the "Super Fisher" is a comprehensive market analysis tool designed to enhance your trading insights and decision-making process. 📉🌟🚨 Indicator

Indicator

Hull Suite Oscillator - Normalized | IkkeOmarThis script is based off the Hull Suite by @InSilico.
I made this script to provide and calculate the Hull Moving Average (HMA) based on the chosen variation (HMA, TMA, or EMA) and length to then normalize the HMA values to a range of 0 to 100. The normalized values are further smoothed using an exponential moving average (EMA).
The smoothed oscillator is plotted as a line, where values above 80 are colored red, values below 20 are colored green, and values between 20 and 80 are colored blue. Additionally, there are horizontal dashed lines at the levels of 20 and 80 to serve as reference points.
Explanation for the code:
The script uses the close price of the asset as the source for calculations. The modeSwitch parameter allows selecting the type of Hull variation: Hma, Thma, or Ehma. The length parameter determines the calculation period for the Hull moving averages. The lengthMult parameter is used to adjust the length for higher timeframes. The oscSmooth parameter determines the lookback period for smoothing the oscillator.
There are three functions defined for calculating different types of Hull moving averages: HMA, EHMA, and THMA. These functions take the source and length as inputs and return the corresponding Hull moving average.
The Mode function acts as a switch and selects the appropriate Hull variation based on the modeSwitch parameter. It returns the chosen Hull moving average.
The script calculates the Hull moving averages using the selected mode, source, and length. The main Hull moving average is stored in the _hull variable, and aliases are created for the main Hull moving average (HULL), the main Hull value (MHULL), and the secondary Hull value (SHULL).
To create the normalized oscillator values, the script finds the highest and lowest values of the Hull moving average within the specified length. It then normalizes the Hull values to a range of 0 to 100 using a formula. This normalized oscillator represents the strength of the trend.
To smooth out the oscillator values, an exponential moving average is applied using the oscSmooth parameter.
The smoothed oscillator is plotted as a line chart. The line color is determined based on the oscillator value using conditional statements. If the oscillator value is above or equal to 80, the line color is set to red. If it is below or equal to 20, the color is green. Otherwise, it is blue. The linewidth is set to 2.
Additionally, two horizontal reference lines are plotted at levels 20 and 80 for visual reference. They are displayed in gray and dashed style. Indicator

Indicator

Indicator

Indicator

Indicator

Strategy

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Strategy

Indicator
