Weighted Oscillator Convergence DivergenceThe Weighted Oscillator Convergence Divergence (WOCD) aims to help traders identify potential trend reversals or momentum shifts in financial markets by calculating and visualizing the difference between a smoothed oscillator (WMA) value and its exponential moving average (EMA) and simple moving average (SMA) counterparts. This indicator is particularly useful for traders who want an alternative perspective on price momentum and divergence.
Key Features:
Inputs:
Length: The user can specify the number of bars to consider for calculations (default is 9).
Smoothing 1: Defines the smoothing factor for the first smoothed value (default is 5).
Smoothing 2: Specifies the smoothing factor for the second smoothed value (default is 7).
Ma Type: There are three types of moving averages you can choose (Wilder, non-lag, Weighted is by default).
Color Settings: Users can customize the indicator's colors for various elements, such as length, smoothing values, and different sections of the histogram.
Calculation:
WOCD calculates the raw oscillator value by subtracting the close price from a 3-period High, Low, Close (HLC3) moving average.
It then applies smoothing to this raw oscillator value using two different methods: exponential moving average (EMA) and simple moving average (SMA) with user-defined smoothing periods.
Histogram Plot:
The indicator plots a histogram based on the difference between the smoothed oscillator and the first smoothed value.
When the histogram is above zero and rising, it is colored according to the "Above Grow" color setting. When it's above zero and falling, it uses the "Fall" color for visualization.
Similarly, when the histogram is below zero and rising, it is colored according to the "Below Grow" color setting, and when it's below zero and falling, it uses the "Fall" color.
Oscillator and Smoothed Values:
The indicator also plots the smoothed oscillator, smoothed value 1 (EMA-based), and smoothed value 2 (SMA-based) on the chart.
Zero Line:
A horizontal line at zero is drawn on the chart for reference.
How to Use the WOCD Indicator:
Trend Identification: Observe the histogram's direction and color. A rising histogram above zero may indicate bullish momentum, while a falling histogram below zero could signal bearish momentum.
Divergence: Look for divergences between price action and the histogram. When the histogram and price move in opposite directions, it can be a potential reversal signal.
Crossovers: Pay attention to crossovers between the smoothed oscillator and its smoothed counterparts (EMA and SMA). These crossovers can indicate changes in trend strength or direction.
Zero Line: The zero line can act as a reference point. Positive histogram values suggest bullish sentiment, while negative values indicate bearish sentiment.
Comparison to MACD Indicator:
The WOCD indicator shares some similarities with the Moving Average Convergence Divergence (MACD) indicator but also has distinct differences:
Similarities:
Both WOCD and MACD are momentum oscillators designed to identify potential trend reversals and divergences.
They use moving averages (EMA in the case of MACD) to smooth the raw oscillator values.
Both indicators provide histogram representations of the difference between the oscillator and its smoothed counterpart.
Differences:
WOCD uses a 3-period High, Low, Close (HLC3) moving average to calculate the raw oscillator value, whereas MACD uses the difference between two exponential moving averages (usually 12-period and 26-period EMAs).
The smoothing in WOCD employs both EMA and SMA, while MACD exclusively uses EMA.
WOCD allows users to customize colors for various elements, enhancing visual clarity.
Осцилляторы темпа
Momentum ChannelbandsThe "Momentum Channelbands" is indicator that measures and displays an asset's momentum. It includes options to calculate Bollinger Bands and Donchian Channels around the momentum. Users can customize settings for a comprehensive view of momentum-related insights. This tool helps assess trend strength, identify overbought/oversold conditions, and pinpoint highs/lows. It should be used alongside other indicators due to potential lag and false signals.
Composite Momentum IndicatorComposite Momentum Indicator" combines the signals from several oscillators, including Stochastic, RSI, Ultimate Oscillator, and Commodity Channel Index (CCI) by averaging the standardized values (Z-Scores). Since it is a Z-Score based indicators the values will be typically be bound between +3 and -3 oscillating around 0. Here's a summary of the code:
Input Parameters: Users can customize the look-back period and set threshold values for overbought and oversold conditions. They can also choose which oscillators to include in the composite calculation.
Oscillator Calculations: The code calculates four separate oscillators - Stochastic, RSI, Ultimate Oscillator, and CCI - each measuring different aspects of market momentum.
Z-Scores Calculation: For each oscillator, the code calculates a Z-Score, which normalizes the oscillator's values based on its historical standard deviation and mean. This allows for a consistent comparison of oscillator values across different timeframes.
Composite Z-Score: The code aggregates the Z-Scores from the selected oscillators, taking into account user preferences (whether to include each oscillator). It then calculates an average Z-Score to create the "Composite Momentum Oscillator."
Conditional Color Coding: The composite oscillator is color-coded based on its average Z-Score value. It turns green when it's above the overbought threshold, red when it's below the oversold threshold, and blue when it's within the specified range.
Horizontal Lines: The code plots horizontal lines at key levels, including 0, ±3, ±2, and ±1, to help users identify important momentum levels.
Gradient Fills: It adds gradient fills above the overbought threshold and below the oversold threshold to visually highlight extreme momentum conditions.
Combining the Stochastic, RSI, Ultimate Oscillator, and Commodity Channel Index (CCI) into one composite indicator offers several advantages for traders and technical analysts:
Comprehensive Insight: Each of these oscillators measures different aspects of market momentum and price action. Combining them into one indicator provides a more comprehensive view of the market's behavior, as it takes into account various dimensions of momentum simultaneously.
Reduced Noise: Standalone oscillators can generate conflicting signals and produce noisy readings, especially during choppy market conditions. A composite indicator smoothes out these discrepancies by averaging the signals from multiple indicators, potentially reducing false signals.
Confirmation and Divergence: By combining multiple oscillators, traders can seek confirmation or divergence signals. When multiple oscillators align in the same direction, it can strengthen a trading signal. Conversely, divergence between the oscillators can warn of potential reversals or weakening trends.
Customization: Traders can tailor the composite indicator to their specific trading strategies and preferences. They have the flexibility to include or exclude specific oscillators, adjust look-back periods, and set threshold levels. This adaptability allows for a more personalized approach to technical analysis.
Clarity and Efficiency: Rather than cluttering the chart with multiple individual oscillators, a composite indicator condenses the information into a single plot. This enhances the clarity of the chart and makes it easier for traders to quickly interpret market conditions.
Overbought/Oversold Identification: Combining these oscillators can improve the identification of overbought and oversold conditions. It reduces the likelihood of false signals since multiple indicators must align to trigger these extreme conditions.
Educational Tool: For novice traders and analysts, a composite indicator can serve as an educational tool by demonstrating how different oscillators interact and influence each other's signals. It allows users to learn about multiple technical indicators in one glance.
Efficient Use of Screen Space: A single composite indicator occupies less screen space compared to multiple separate indicators. This is especially beneficial when analyzing multiple markets or timeframes simultaneously.
Holistic Approach: Instead of relying on a single indicator, a composite approach encourages a more holistic assessment of market conditions. Traders can consider a broader range of factors before making trading decisions.
Increased Confidence: A composite indicator can boost traders' confidence in their decisions. When multiple reliable indicators align, it can provide a stronger basis for taking action in the market.
In summary, combining the Stochastic, RSI, Ultimate Oscillator, and CCI into one composite indicator enhances the depth and reliability of technical analysis. It simplifies the decision-making process, reduces noise, and offers a more complete picture of market momentum, ultimately helping traders make more informed and well-rounded trading decisions.
* Feel free to compare against individual oscillatiors*
Coppock Curve w/ Early Turns [QuantVue]The Coppock Curve is a momentum oscillator developed by Edwin Coppock in 1962. The curve is calculated using a combination of the rate of change (ROC) for two distinct periods, which are then subjected to a weighted moving average (WMA).
History of the Coppock Curve:
The Coppock Curve was originally designed for use on a monthly time frame to identify buying opportunities in stock market indices, primarily after significant declines or bear markets.
Historically, the monthly time frame has been the most popular for the Coppock Curve, especially for long-term trend analysis and spotting the beginnings of potential bull markets after bearish periods.
The signal wasn't initially designed for finding sell signals, however it can be used to look for tops as well.
When the indicator is above zero it indicates a hold. When the indicator drops below zero it indicates a sell, and when the indicator moves above zero it signals a buy.
While this indicator was originally designed to be used on monthly charts of the indices, many traders now use this on individual equities and etfs on all different time frames.
About this Indicator:
The Coppock Curve is plotted with colors changing based on its position relative to the zero line. When above zero, it's green, and when below, it's red. (default settings)
An absolute zero line is also plotted in black to serve as a reference.
In addition to the classic Coppock Curve, this indicator looks to identify "early turns" or potential reversals of the Coppock Curve rather than waiting for the indicator to cross above or below the zero line.
Give this indicator a BOOST and COMMENT your thoughts!
We hope you enjoy.
Cheers!
Support and Resistance Oscillator [CC]The Support and Resistance Oscillator is an experimental script I created to identify when the current price breaks a support or resistance line and reflect this value in an oscillator formula. This indicator uses a threshold to decide the dividing line between buying and selling points. Feel free to change the threshold or smoothing settings to see if you find anything better since this is so experimental. I'm double smoothing the difference between the indicator and its signal line to attempt to capture a combo of the price momentum combined with the general support and resistance levels. I have used dark colors for strong signals and lighter colors for normal signals and make sure to buy when the line turns green and sell when it turns red.
Let me know if there are any other scripts or indicators you would like to see me publish!
Velocity Acceleration Indicator [CC]The Velocity Acceleration Indicator was created by Scott Cong (Stocks and Commodities Sep 2023, pgs 8-15). This is another personal variation of his formula designed to capture the overall velocity acceleration of the underlying stock by applying the velocity formula to the original indicator to find the acceleration of the underlying velocity. I changed a few things around and managed actually to get less lag and quicker signals for this version, so make sure you compare the Velocity Indicator script that I published yesterday. This indicator is also visually similar to a typical stochastic indicator but uses a different underlying calculation. This works well as a momentum indicator, and the values are completely unbounded, so the best ways to determine bullish or bearish trends is either by using a crossover or crossunder between the indicator and the midline or to buy or sell the indicator when it reaches a high or low point and starts to fall or rise respectively. I used the zero line for my default version to help determine the bullish or bearish trends. I have also included multiple colors to differentiate between very strong signals and normal signals, so very strong signals are darker in color, and normal signals use lighter colors. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators or scripts you would like to see me publish! I will have some more new scripts in the next week or so.
Velocity Indicator [CC]The Velocity Indicator was created by Scott Cong (Stocks and Commodities Sep 2023, pgs 8-15). This is my variation of his formula designed to capture the overall velocity of the underlying stock by applying the typical velocity formula. This indicator is visually similar to a typical stochastic indicator but uses a different underlying calculation. This works well as a momentum indicator, and the values are completely unbounded, so the best ways to determine bullish or bearish trends is either by using a crossover or crossunder between the indicator and the midline or to buy or sell the indicator when it reaches a high or low point and starts to fall or rise respectively. For my default version, I used the zero line to help determine the bullish or bearish trends. I have also included multiple colors to differentiate between very strong signals and normal signals, so very strong signals are darker in color, and normal signals use lighter colors. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators or scripts you would like to see me publish! I will have some more new scripts in the next week or so.
Ultimate Momentum OscillatorThe Ultimate Momentum Oscillator is a tool designed to help traders identify the current trend direction and the momentum of the prices.
This oscillator is composed of one histogram and one line, paired with the two overbought and the two oversold levels.
The histogram is a trend-based algorithm that allows the user to read the market bias with multiple trend lengths combined.
The line is a momentum-based formula that allows traders to identify potential reversal and the speed of the price.
This tool can be used to:
- Identify the current trend direction
- Identify the momentum of the price
- Identify oversold and overbought levels
Standardized MACD Heikin-Ashi TransformedThe Standardized MACD Heikin-Ashi Transformed (St. MACD) is an advanced indicator designed to overcome the limitations of the traditional MACD. It offers a more robust and standardized measure of momentum, making it comparable across different timeframes and securities. By incorporating the Heikin-Ashi transformation, the St. MACD provides a smoother visualization of trends and potential reversals, enhancing its utility for traders seeking a clearer view of the underlying market direction.
Methodology:
The calculation of St. MACD begins with the traditional MACD, which computes the difference between two exponential moving averages (EMAs) of the price. To address the issue of non-comparability across assets, the St. MACD normalizes its values using the exponential average of the price's height. This normalization process ensures that the indicator's readings are not influenced by the absolute price levels, allowing for objective and quantitatively defined comparisons of momentum strength.
Furthermore, St. MACD utilizes the Heikin-Ashi transformation, which involves deriving candles from the price data. These Heikin-Ashi candles provide a smoother representation of trends and help filter out noise in the market. A predictive curve of Heikin-Ashi candles within the St. MACD turns blue or red, indicating the prevailing trend direction. This feature enables traders to easily identify trend shifts and make better informed trading decisions.
Advantages:
St. MACD offers several key advantages over the traditional MACD-
Standardization: By normalizing the indicator's values, St. MACD becomes comparable across different assets and timeframes. This makes it a valuable tool for traders analyzing various markets and seeking consistent momentum measurements.
Heikin-Ashi Transformation: The integration of the Heikin-Ashi transformation smoothes out the indicator's fluctuations and enhances trend visibility. Traders can more easily identify trends and potential reversal points, improving their market analysis.
Quantifiable Momentum: St. MACD's key levels represent the strength of momentum, providing traders with a quantifiable framework to gauge the intensity of market movements. This feature helps identify periods of increased or decreased momentum.
Utility:
The St. MACD indicator offers versatile utility for traders-
Trend Identification: Traders can use the color-coded predictive curve of Heikin-Ashi candles to swiftly determine the prevailing trend direction. This aids in identifying potential entry and exit points in the market.
Reversal Signals: Colored extremes within the St. MACD signal potential price reversals, alerting traders to potential turning points in the market. This assists in making timely decisions during market inflection points.
Overbought/Oversold Conditions: The histogram version of St. MACD can be used in conjunction with the bands to detect short-term overbought or oversold market conditions, allowing traders to adjust their strategies accordingly.
In conclusion, this tool addresses the limitations of the traditional MACD by providing a standardized and comparable momentum indicator. Its incorporation of the Heikin-Ashi transformation enhances trend visibility and assists traders in making more informed decisions. With its quantifiable momentum measurements and various utility features, the St. MACD is a valuable tool for traders seeking a clearer and more objective view of market trends and reversals.
Key Features:
Display Modes: MACD, Histogram or Hybrid
Reversion Triangles by adjustable thresholds
Bar Coloring Methods: MidLine, Candles, Signal Cross, Extremities, Reversions
Example Charts:
-Traditional limitations-
-Comparisons across time and securities-
-Showcase-
See Also:
-Other Heikin-Ashi Transforms-
TTM Waves ABC ATR AO MOM SQZ//All code picked from many indicators, if you recognize your code, pls comment so people can see your awesome work! I only edited and added them all together so people don't use all their indicator slots. Hope this indicator helps as many people as it can. LFG!!!
AO (Awesome Oscillator) Useful to find potential reversals in trend.
MOM (Momentum) An oscillator that measures momentum.
ATR (Average True Range) Measures the upside and downside from the average price movement occuring. 1 ATR is the general measurement. Many traders use 2ATR to set a stop and 4ATR to set take profit from their entry based on current reading from the ATR.
SQZ ( TTM Squeeze) Measures when bollinger bands have left the interior of the Keltner Channel in an attempt to predict volatility thats about to happen to either side. Green = Move is probably about to happen.
TTM Waves ( Waves A, B, and C) Measure the previous candles to determine chop, positive or negative trends. C measures the previous 30 candles or so, B the last 15 or so, and A measures the last 8 or so. You can use all three or just one. You can sneak in a move if the 2 fastest ones have moved into your preferred area. (Positive or Negative) If the wave is not fully positve or negative then that is probably chop.
-Penguincryptic
Stochastic Zone Strength Trend [wbburgin](This script was originally invite-only, but I'd vastly prefer contributing to the TradingView community more than anything else, so I am making it public :) I'd much rather share my ideas with you all.)
The Stochastic Zone Strength Trend indicator is a very powerful momentum and trend indicator that 1) identifies trend direction and strength, 2) determines pullbacks and reversals (including oversold and overbought conditions), 3) identifies divergences, and 4) can filter out ranges. I have some examples below on how to use it to its full effectiveness. It is composed of two components: Stochastic Zone Strength and Stochastic Trend Strength.
Stochastic Zone Strength
At its most basic level, the stochastic Zone Strength plots the momentum of the price action of the instrument, and identifies bearish and bullish changes with a high degree of accuracy. Think of the stochastic Zone Strength as a much more robust equivalent of the RSI. Momentum-change thresholds are demonstrated by the "20" and "80" levels on the indicator (see below image).
Stochastic Trend Strength
The stochastic Trend Strength component of the script uses resistance in each candlestick to calculate the trend strength of the instrument. I'll go more into detail about the settings after my description of how to use the indicator, but there are two forms of the stochastic Trend Strength:
Anchored at 50 (directional stochastic Trend Strength):
The directional stochastic Trend Strength can be used similarly to the MACD difference or other histogram-like indicators : a rising plot indicates an upward trend, while a falling plot indicates a downward trend.
Anchored at 0 (nondirectional stochastic Trend Strength):
The nondirectional stochastic Trend Strength can be used similarly to the ADX or other non-directional indicators : a rising plot indicates increasing trend strength, and look at the stochastic Zone Strength component and your instrument to determine if this indicates increasing bullish strength or increasing bearish strength (see photo below):
(In the above photo, a bearish divergence indicated that the high Trend Strength predicted a strong downwards move, which was confirmed shortly after. Later, a bullish move upward by the Zone Strength while the Trend Strength was elevated predicated a strong upwards move, which was also confirmed. Note the period where the Trend Strength never reached above 80, which indicated a ranging period (and thus unprofitable to enter or exit)).
How to Use the Indicator
The above image is a good example on how to use the indicator to determine divergences and possible pivot points (lines and circles, respectively). I recommend using both the stochastic Zone Strength and the stochastic Trend Strength at the same time, as it can give you a robust picture of where momentum is in relation to the price action and its trajectory. Every color is changeable in the settings.
Settings
The Amplitude of the indicator is essentially the high-low lookback for both components.
The Wavelength of the indicator is how stretched-out you want the indicator to be: how many amplitudes do you want the indicator to process in one given bar.
A useful analogy that I use (and that I derived the names from) is from traditional physics. In wave motion, the Amplitude is the up-down sensitivity of the wave, and the Wavelength is the side-side stretch of the wave.
The Smoothing Factor of the settings is simply how smoothed you want the stochastic to be. It's not that important in most circumstances.
Trend Anchor was covered above (see my description of Trend Strength). The "Trend Transform MA Length" is the EMA length of the Trend Strength that you use to transform it into the directional oscillator. Think of the EMA being transformed onto the 50 line and then the Trend Strength being dragged relative to that.
Trend Transform MA Length is the EMA length you want to use for transforming the nondirectional Trend Strength (anchored at 0) into the directional Trend Strength (anchored at 50). I suggest this be the same as the wavelength.
Trend Plot Type can transform the Nondirectional Trend Strength into a line plot so that it doesn't murk up the background.
Finally, the colors are changeable on the bottom.
Explanation of Zone Strength
If you're knowledgeable in Pine Script, I encourage you to look at the code to try to understand the concept, as it's a little complicated. The theory behind my Zone Strength concept is that the wicks in every bar can be used create an index of bullish and bearish resistance, as a wick signifies that the price crossed above a threshold before returning to its origin. This distance metric is unique because most indicators/formulas for calculating relative strength use a displacement metric (such as close - open) instead of measuring how far the price actually moved (up and down) within a candlestick. This is what the Zone Strength concept represents - the hesitation within the bar that is not typically represented in typical momentum indicators.
In the script's code I have step by step explanations of how the formula is calculated and why it is calculated as such. I encourage you to play around with the amplitude and wavelength inputs as they can make the zone strength look very different and perform differently depending on your interests.
Enjoy!
Walker
Momentum Oscillator, Divergences & Signals [TrendAlpha]The "Momentum, Real Time Divergences & Signals " indicator is designed to provide traders with insights into market momentum, identify potential divergences, and generate buy and sell signals. It offers a comprehensive set of features to assist traders in making informed trading decisions.
The indicator starts by calculating the momentum oscillator based on user-defined parameters.
- Traders can adjust the "Length" parameter to customize the sensitivity of the oscillator. The default value is set to 7, but it can be modified according to individual preferences.
- The "Source" parameter allows traders to select the input source for the oscillator calculation, with the default being the closing price of the asset.
- Traders have the option to display divergence lines by switching on the "Show Lines" parameter. This feature helps identify potential divergences between the oscillator and the price.
The oscillator is calculated using a two-step process. First, a smoothing function is applied to the source data using the "sma" (simple moving average) function. Then, the rate of change is computed over the specified length using the "mom" (momentum) function. Positive oscillator values indicate upward momentum, while negative values indicate downward momentum.
The indicator also generates buy and sell signals by identifying bullish and bearish divergences. A bullish divergence occurs when the oscillator is negative and crosses above zero, while a bearish divergence occurs when the oscillator is positive and crosses below zero. The indicator checks for specific conditions to confirm the divergences, such as comparing the current oscillator value with the previous value and validating the corresponding price action.
When a bullish or bearish divergence is detected, the indicator plots circles to highlight these signals on the chart. A green circle indicates a bullish signal, suggesting a potential buying opportunity, while a red circle indicates a bearish signal, suggesting a potential selling opportunity. In addition to circles, the indicator also displays labels to provide further clarity on the signals. A "Buy" label is shown for bullish signals, and a "Sell" label is shown for bearish signals.
To visually represent the divergences, the indicator plots lines connecting the corresponding points on the oscillator. A green line is drawn for bullish divergences, while a red line is drawn for bearish divergences. Traders can easily observe the divergence patterns and their relationships with the price action, aiding them in making trading decisions.
- The indicator also includes alert conditions for both bullish and bearish divergences. Traders can set up alerts to receive notifications when potential divergences occur, allowing them to take timely action.
ATR Momentum [QuantVue]ATR Momentum is a dynamic technical analysis tool designed to assess the momentum of a securities price movement. It utilizes the comparison between a faster short-term Average True Range (ATR) and a slower long-term ATR to determine whether momentum is increasing or decreasing.
This indicator visually represents the momentum relationship by plotting both ATR values as lines on a chart and applying color fill between the lines based on if momentum is increasing or decreasing.
When the short-term ATR is greater than the long-term ATR, representing increasing momentum, the area between them is filled with green.
Conversely, when the short-term ATR is less than the long-term ATR line, the area between them is filled with red. This red fill indicates decreasing momentum.
Don't hesitate to reach out with any questions or concerns.
We hope you enjoy!
Cheers.
Stochastic Momentum Channel with Volume Filter [IkkeOmar]A stochastic version of my momentum channel volume filter
The "Stochastic Momentum" indicator combines the concepts of Stochastic and Bollinger Bands to provide insights into price momentum and potential trend reversals. It can be used to identify overbought and oversold conditions, as well as potential bullish and bearish signals.
The indicator calculates a Stochastic RSI using the RSI (Relative Strength Index) of a given price source. It applies smoothing to the Stochastic RSI values using moving averages to generate two lines: the %K line and the %D line. The %K line represents the current momentum, while the %D line represents a filtered version of the momentum.
Additionally, the indicator plots Bollinger Bands around the moving average of the Stochastic RSI. The upper and lower bands represent levels where the price is considered relatively high or low compared to its recent volatility. The distance between the bands reflects the current market volatility.
Here's how the indicator can be interpreted:
Stochastic Momentum (%K and %D lines):
When the %K line crosses above the %D line, it suggests a potential upward move or bullish momentum.
When the %K line crosses below the %D line, it indicates a potential downward move or bearish momentum.
The color of the plot changes based on the relationship between the %K and %D lines. Green indicates %K > %D, while red indicates %K < %D.
Bollinger Bands (Upper and Lower Bands):
When the price crosses above the upper band, it suggests an overbought condition, indicating a potential reversal or pullback.
When the price crosses below the lower band, it suggests an oversold condition, indicating a potential reversal or bounce.
To identify potential upward moves, consider the following conditions:
If the price is not in a contraction phase (the bands are not narrowing), and the price crosses above the lower band, it may signal a potential upward move or bounce.
If the %K line crosses above the %D line while the %K line is below the upper band, it may indicate a potential upward move.
To identify potential downward moves, consider the following conditions:
If the price is not in a contraction phase (the bands are not narrowing), and the price crosses below the upper band, it may signal a potential downward move or pullback.
If the %K line crosses below the %D line while the %K line is above the lower band, it may indicate a potential downward move.
Code explanation
Input Variables:
The input function is used to create customizable input variables that can be adjusted by the user.
smoothK and smoothD are inputs for the smoothing periods of the %K and %D lines, respectively.
lengthRSI represents the length of the RSI calculation.
lengthStoch is the length parameter for the stochastic calculation.
volumeFilterLength determines the length of the volume filter used to filter the RSI.
Source Definition:
The src variable is an input that defines the price source used for the calculations.
By default, the close price is used, but the user can choose a different price source.
RSI Calculation:
The rsi1 variable calculates the RSI using the ta.rsi function.
The RSI is a popular oscillator that measures the strength and speed of price movements.
It is calculated based on the average gain and average loss over a specified period.
In this case, the RSI is calculated using the src price source and the lengthRSI parameter.
Volume Filter:
The code calculates a volume filter to filter the RSI values based on the average volume.
The volumeAvg variable calculates the simple moving average of the volume over a specified period (volumeFilterLength).
The filteredRsi variable stores the RSI values that meet the condition of having a volume greater than or equal to the average volume (volume >= volumeAvg).
Stochastic Calculation:
The k variable calculates the %K line of the Stochastic RSI using the ta.stoch function.
The ta.stoch function takes the filtered RSI values (filteredRsi) as inputs and calculates the %K line based on the length parameter (lengthStoch).
The smoothK parameter is used to smooth the %K line by applying a moving average.
The d variable represents the %D line, which is a smoothed version of the %K line obtained by applying another moving average with a period defined by smoothD.
Momentum Calculation:
The kd variable calculates the average of the %K and %D lines, representing the momentum of the Stochastic RSI.
Bollinger Bands Calculation:
The ma variable calculates the moving average of the momentum values (kd) using the ta.sma function with a period defined by bandLength.
The offs variable calculates the offset by multiplying the standard deviation of the momentum values with a factor of 1.6185.
The up and dn variables represent the upper and lower bands, respectively, by adding and subtracting the offset from the moving average.
The Bollinger Bands provide a measure of volatility and can indicate potential overbought and oversold conditions.
Color Assignments:
The colors for the plot and Bollinger Bands are assigned based on certain conditions.
If the %K line is greater than the %D line, the plotCol variable is set to green. Otherwise, it is set to red.
The upCol and dnCol variables are set to different colors based on whether the fast moving average (fastMA) is above or below the upper and lower bands, respectively.
Plotting:
The Stochastic Momentum (%K) is plotted using the plot function with the assigned color (plotCol).
The upper and lower Bollinger Bands are plotted using the plot function with the respective colors (upCol and dnCol).
The fast moving average (fastMA) is plotted in black color to distinguish it from the bands.
The hline function is used to plot horizontal lines representing the upper and lower bands of the Stochastic Momentum.
The code combines the Stochastic RSI, Bollinger Bands, and color logic to provide visual representations of momentum and potential trend reversals. It allows traders to observe the interaction between the Stochastic Momentum lines, the Bollinger Bands, and price movements, enabling them to make informed trading decisions.
David Varadi Intermediate OscillatorThe David Varadi Intermediate Oscillator (DVI) is a composite momentum oscillator designed to generate trading signals based on two key factors: the magnitude of returns over different time windows and the stretch, which measures the relative number of up versus down days. By combining these factors, the DVI aims to provide a reliable and objective assessment of market trends and momentum.
Methodology:
To calculate the DVI, a specific formula is applied. The magnitude component involves averaging smoothed returns over various lengths, weighted according to user-defined parameters. This calculation helps determine the magnitude of price changes. The stretch component follows a similar process, averaging smoothed returns over different lengths to gauge market momentum. Users have the flexibility to adjust the weights and lengths to suit their trading preferences and styles.
Utility:
The DVI offers versatility in its applications. It can be used for both momentum trading and trend analysis due to its smooth and consistent signals. Unlike some other oscillators, the DVI provides longer and uncorrelated signals, allowing traders to effectively combine trend-following and mean-reversion strategies. For example, the DVI is adept at identifying overbought levels above the 200-day moving average, serving as a useful tool for determining exit points during price strength and even potential shorting opportunities. Traders can develop simple trading systems based on the DVI, buying above the 200-day moving average and selling when the DVI exceeds a specified threshold. Conversely, they can consider short positions below the 200-day moving average and cover when the DVI falls below a specific threshold. The DVI's objective approach to analyzing market momentum makes it a valuable resource for traders seeking to identify trading opportunities.
Key Features:
Bar coloring: based on Trend, Extremeties or Reversions
Reversions: Potential reversal points marked with triangles above\below oscillator
Extremity Hues: Highlighting oxcillator reaching traditional OB\OS levels
Example Charts:
Connors RSI (ValueRay)In compare to Tradingview Connors RSI, in this one you can choose which of the parts of the CRSI you want see:
RSI
Connors RSI
Up/Down RSI
Percent Rank
The Connors RSI is a technical indicator developed by Larry Connors. It combines three different elements - price momentum, relative strength, and mean reversion - to identify potential buy and sell signals. The indicator measures the level of overbought or oversold conditions in a security, aiming to generate signals for short-term trading opportunities. It is widely used by traders to assess the strength and direction of price movements and to identify potential entry and exit points in the market.
Matrix Momentum Expansion [IkkeOmar]The indicator consists of several features:
Candlestick chart: The indicator plots a candlestick chart based on the input parameters of the user. The candlesticks are colored blue or orange depending on whether the closing price is above or below the upper and lower bands.
Support and Resistance levels: The indicator also plots support and resistance levels based on the CCI (Commodity Channel Index) of the asset's price. These levels are dynamic and change based on the user's input parameters.
Momentum: The indicator calculates the momentum of the market based on the smoothed and standard deviation of the asset's price. It uses this momentum to calculate upper and lower bands that are plotted on the chart.
Warning signals: The indicator can also be used to identify potential warning signals. When the closing price of the asset moves above the upper band, it could indicate that the market is overbought and a potential reversal could occur. Conversely, when the closing price moves below the lower band, it could indicate that the market is oversold and a potential reversal could occur.
Contractions and expansions in the bands can provide important information to traders about potential price movements.
When the bands contract, it indicates that the market is experiencing low volatility and the price is likely to move sideways. During these periods, traders may look for other signals, such as support and resistance levels or price patterns, to determine potential entry and exit points.
On the other hand, when the bands expand, it indicates that the market is experiencing high volatility and the price is likely to move in a particular direction. Traders can use this information to identify potential trend reversals or continuation patterns. When the upper and lower bands move further apart, it indicates that the trend is becoming stronger, while when they move closer together, it indicates that the trend may be weakening.
When the price moves outside of the bands, it can also provide important information to traders. If the price moves above the upper band, it could indicate that the market is overbought and a potential reversal could occur. Conversely, if the price moves below the lower band, it could indicate that the market is oversold and a potential reversal could occur.
Very important note!
When you see contractions, please understand that it's a wonderful opportunity to pivot into position to catch a good trade because we will see an expansion after!
Momentum Channel - [Volume Filter]The indicator incorporates a volume filter to ensure that the RSI only moves when the volume is above the moving average of the volume.
The filtered RSI is then used to calculate the Bollinger Bands and moving averages, providing insights into the market dynamics.
It also gives you insight into the bigger timeframes so you can monitor momentum!
Volume Filter Length: Input parameter for the length of the volume filter moving average.
Overview of code:
rsiPeriod: Input parameter for the RSI period.
bandLength: Input parameter for the length of the Bollinger Bands.
lengthrsipl: Input parameter for the length of the fast moving average (MA) on the RSI.
volumeFilterLength: Input parameter for the length of the volume filter moving average.
volumeAvg: Calculates the moving average of the volume using the ta.sma() function with the specified volume filter length.
filteredRsi: Uses the ta.valuewhen() function to obtain the RSI value only when the volume is greater than or equal to the volume moving average. This creates a filtered RSI based on the volume filter.
offs: Calculates the offset value for the Bollinger Bands. It is derived by multiplying 1.6185 with the standard deviation of the filtered RSI using the ta.stdev() function.
Momentum Covariance Oscillator by TenozenWell, guess what? A new indicator is here! Again it's a coincidence, as I experiment with my formula. So far it's less noisy than Autoregressive Covariance Oscillator, so possibly this one is better. The formula is much simpler, care me to explain.
___________________________________________________________________________________________________
Yt = close - previous average
Val = Yt/close
___________________________________________________________________________________________________
Welp that's the formula lol. Funny thing is that it's so simple, but it's good! What matters is the use of it haha.
So how to use this Oscillator? If the value is above 0, we expect a bullish response, if the value is below 0 we expect a bearish response. That simple. Ciao.
(Any questions and suggestions? feel free to comment!)
WillyCycle Oscillator&DoubleMa/ErkOzi/version 2This oscillator can be customized by adjusting the length of the Willy period, the length of Willy's EMA, and the upper and lower bands. The upper and lower bands help traders identify overbought and oversold conditions.
The WillyCycle Oscillator is a technical analysis tool used to measure the momentum of an asset and identify overbought and oversold conditions based on the price range of a specific period and calculating the percentage of the closing price in that range. The WillyCycle Oscillator consists of two main components: Willy and Willy's EMA. The Willy component is the percentage calculation of the asset's price range, and Willy's EMA is the exponential moving average of the Willy component. Willy's EMA is used to smooth out the Willy component and make it easier to identify trends.
*** When the oscillator is above the 80 level, it indicates that the asset is overbought, and when it is below the 20 level, it indicates that the asset is oversold. Traders can use these levels as a guide for buying and selling signals.
***Traders can also use the WillyCycle Oscillator to identify trend reversals. When the oscillator rises above the 50 level, it signals a potential uptrend, and when it falls below the 50 level, it signals a potential downtrend.
***I have added a smoothed line option to the WillyCycle Oscillator, which allows traders to see a more smoothed version of the oscillator. This option can be enabled by setting the 'smoothed' input to true. The default value for the smoothed line is 15.
***We have also changed the value range of the WillyCycle Oscillator from -100 to 100 to 0 to 100. This change was made to make the oscillator more user-friendly and easier to read.
In conclusion, the WillyCycle Oscillator is a versatile tool that can help traders identify potential trading opportunities and trend reversals. Traders can customize the oscillator to fit their trading style and preferences. Adding a smoothed line and changing the value range can enhance the user experience and make the oscillator easier to use.
Hull PressureThis amazing oscillator displays the difference between the hull average calculated on the close of the candles and the one calculated between the average of the highs and lows.
This allows the user to identify the pressure of the closing price over the average, useful to identify trends, divergences, and reversals.
This indicator also has two dynamic overbought and oversold areas, calculated over the past extreme highs and lows of the oscillator.
MomentumIndicatorsLibrary "MomentumIndicators"
This is a library of 'Momentum Indicators', also denominated as oscillators.
The purpose of this library is to organize momentum indicators in just one place, making it easy to access.
In addition, it aims to allow customized versions, not being restricted to just the price value.
An example of this use case is the popular Stochastic RSI.
# Indicators:
1. Relative Strength Index (RSI):
Measures the relative strength of recent price gains to recent price losses of an asset.
2. Rate of Change (ROC):
Measures the percentage change in price of an asset over a specified time period.
3. Stochastic Oscillator (Stoch):
Compares the current price of an asset to its price range over a specified time period.
4. True Strength Index (TSI):
Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the
absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized
in a range between 100 and -100.
5. Stochastic Momentum Index (SMI):
Combination of the True Strength Index with a signal line to help identify turning points in the market.
6. Williams Percent Range (Williams %R):
Compares the current price of an asset to its highest high and lowest low over a specified time period.
7. Commodity Channel Index (CCI):
Measures the relationship between an asset's current price and its moving average.
8. Ultimate Oscillator (UO):
Combines three different time periods to help identify possible reversal points.
9. Moving Average Convergence/Divergence (MACD):
Shows the difference between short-term and long-term exponential moving averages.
10. Fisher Transform (FT):
Normalize prices into a Gaussian normal distribution.
11. Inverse Fisher Transform (IFT):
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is through the
application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity, to a scale limited
between -1 and +1, allowing them to be more easily visualized and compared.
12. Premier Stochastic Oscillator (PSO):
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing average of
the %K value, resulting in a symmetric scale of 1 to -1
# Indicators of indicators:
## Stochastic:
1. Stochastic of RSI (Relative Strengh Index)
2. Stochastic of ROC (Rate of Change)
3. Stochastic of UO (Ultimate Oscillator)
4. Stochastic of TSI (True Strengh Index)
5. Stochastic of Williams R%
6. Stochastic of CCI (Commodity Channel Index).
7. Stochastic of MACD (Moving Average Convergence/Divergence)
8. Stochastic of FT (Fisher Transform)
9. Stochastic of Volume
10. Stochastic of MFI (Money Flow Index)
11. Stochastic of On OBV (Balance Volume)
12. Stochastic of PVI (Positive Volume Index)
13. Stochastic of NVI (Negative Volume Index)
14. Stochastic of PVT (Price-Volume Trend)
15. Stochastic of VO (Volume Oscillator)
16. Stochastic of VROC (Volume Rate of Change)
## Inverse Fisher Transform:
1.Inverse Fisher Transform on RSI (Relative Strengh Index)
2.Inverse Fisher Transform on ROC (Rate of Change)
3.Inverse Fisher Transform on UO (Ultimate Oscillator)
4.Inverse Fisher Transform on Stochastic
5.Inverse Fisher Transform on TSI (True Strength Index)
6.Inverse Fisher Transform on CCI (Commodity Channel Index)
7.Inverse Fisher Transform on Fisher Transform (FT)
8.Inverse Fisher Transform on MACD (Moving Average Convergence/Divergence)
9.Inverse Fisher Transfor on Williams R% (Williams Percent Range)
10.Inverse Fisher Transfor on CMF (Chaikin Money Flow)
11.Inverse Fisher Transform on VO (Volume Oscillator)
12.Inverse Fisher Transform on VROC (Volume Rate of Change)
## Stochastic Momentum Index:
1.Stochastic Momentum Index of RSI (Relative Strength Index)
2.Stochastic Momentum Index of ROC (Rate of Change)
3.Stochastic Momentum Index of VROC (Volume Rate of Change)
4.Stochastic Momentum Index of Williams R% (Williams Percent Range)
5.Stochastic Momentum Index of FT (Fisher Transform)
6.Stochastic Momentum Index of CCI (Commodity Channel Index)
7.Stochastic Momentum Index of UO (Ultimate Oscillator)
8.Stochastic Momentum Index of MACD (Moving Average Convergence/Divergence)
9.Stochastic Momentum Index of Volume
10.Stochastic Momentum Index of MFI (Money Flow Index)
11.Stochastic Momentum Index of CMF (Chaikin Money Flow)
12.Stochastic Momentum Index of On Balance Volume (OBV)
13.Stochastic Momentum Index of Price-Volume Trend (PVT)
14.Stochastic Momentum Index of Volume Oscillator (VO)
15.Stochastic Momentum Index of Positive Volume Index (PVI)
16.Stochastic Momentum Index of Negative Volume Index (NVI)
## Relative Strength Index:
1. RSI for Volume
2. RSI for Moving Average
rsi(source, length)
RSI (Relative Strengh Index). Measures the relative strength of recent price gains to recent price losses of an asset.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of RSI
roc(source, length)
ROC (Rate of Change). Measures the percentage change in price of an asset over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of ROC
stoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Compares the current price of an asset to its price range over a specified time period.
Parameters:
kLength
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Oscillator and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Oscillator and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Oscillator and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
stoch(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Stochastic Oscillator. Customized source. Compares the current price of an asset to its price range over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
kLength : (int) Period of loopback to calculate the stochastic
kSmoothing : (int) Period for smoothig stochastic
dSmoothing : (int) Period for signal (moving average of stochastic)
maTypeK : (int) Type of Moving Average for Stochastic Oscillator
maTypeD : (int) Type of Moving Average for Stochastic Oscillator Signal
almaOffsetKD : (float) Offset for Arnaud Legoux Moving Average for Stoch and Signal
almaSigmaKD : (float) Sigma for Arnaud Legoux Moving Average for Stoch and Signal
lsmaOffSetKD : (int) Offset for Least Squares Moving Average for Stoch and Signal
Returns: A tuple of Stochastic Oscillator and Moving Average of Stochastic Oscillator
tsi(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet)
TSI (True Strengh Index). Measures the price change, calculating the ratio of the price change (positive or negative) in relation to the absolute price change.
The values of both are smoothed twice to reduce noise, and the final result is normalized in a range between 100 and -100.
Parameters:
source : (float) Source of series (close, high, low, etc.)
shortLength : (int) Short length
longLength : (int) Long length
maType : (int) Type of Moving Average for TSI
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) TSI
smi(sourceTSI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
SMI (Stochastic Momentum Index). A TSI (True Strengh Index) plus a signal line.
Parameters:
sourceTSI : (float) Source of series for TSI (close, high, low, etc.)
shortLengthTSI : (int) Short length for TSI
longLengthTSI : (int) Long length for TSI
maTypeTSI : (int) Type of Moving Average for Signal of TSI
almaOffsetTSI : (float) Offset for Arnaud Legoux Moving Average
almaSigmaTSI : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSetTSI : (int) Offset for Least Squares Moving Average
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
Returns: A tuple with TSI, signal of TSI and histogram of difference
wpr(source, length)
Williams R% (Williams Percent Range). Compares the current price of an asset to its highest high and lowest low over a specified time period.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
Returns: (float) Series of Williams R%
cci(source, length, maType, almaOffset, almaSigma, lsmaOffSet)
CCI (Commodity Channel Index). Measures the relationship between an asset's current price and its moving average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period of loopback
maType : (int) Type of Moving Average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: (float) Series of CCI
ultimateOscillator(fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Combines three different time periods to help identify possible reversal points.
Parameters:
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
ultimateOscillator(source, fastLength, middleLength, slowLength)
UO (Ultimate Oscilator). Customized source. Combines three different time periods to help identify possible reversal points.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Fast period of loopback
middleLength : (int) Middle period of loopback
slowLength : (int) Slow period of loopback
Returns: (float) Series of Ultimate Oscilator
macd(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet)
MACD (Moving Average Convergence/Divergence). Shows the difference between short-term and long-term exponential moving averages.
Parameters:
source : (float) Source of series (close, high, low, etc.)
fastLength : (int) Period for fast moving average
slowLength : (int) Period for slow moving average
signalLength : (int) Signal length
maTypeFast : (int) Type of fast moving average
maTypeSlow : (int) Type of slow moving average
maTypeMACD : (int) Type of MACD moving average
almaOffset : (float) Offset for Arnaud Legoux Moving Average
almaSigma : (float) Sigma for Arnaud Legoux Moving Average
lsmaOffSet : (int) Offset for Least Squares Moving Average
Returns: A tuple with MACD, Signal, and Histgram
fisher(length)
Fisher Transform. Normalize prices into a Gaussian normal distribution.
Parameters:
length
Returns: A tuple with Fisher Transform and signal
fisher(source, length)
Fisher Transform. Customized source. Normalize prices into a Gaussian normal distribution.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length
Returns: A tuple with Fisher Transform and signal
inverseFisher(source, length, subtrahend, denominator)
Inverse Fisher Transform.
Transform the values of the Fisher Transform into a smaller and more easily interpretable scale is
through the application of an inverse transformation to the hyperbolic tangent function.
This transformation takes the values of the FT, which range from -infinity to +infinity,
to a scale limited between -1 and +1, allowing them to be more easily visualized and compared.
Parameters:
source : (float) Source of series (close, high, low, etc.)
length : (int) Period for loopback
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of Inverse Fisher Transform
premierStoch(length, smoothlen)
Premier Stochastic Oscillator (PSO).
Normalizes the standard stochastic oscillator by applying a five-period double exponential smoothing
average of the %K value, resulting in a symmetric scale of 1 to -1.
Parameters:
length : (int) Period for loopback
smoothlen : (int) Period for smoothing
Returns: (float) Series of PSO
premierStoch(source, smoothlen, subtrahend, denominator)
Premier Stochastic Oscillator (PSO) of custom source.
Normalizes the source by applying a five-period double exponential smoothing average.
Parameters:
source : (float) Source of series (close, high, low, etc.)
smoothlen : (int) Period for smoothing
subtrahend : (int) Denominator. Useful in unbounded indicators. For example, in CCI.
denominator
Returns: (float) Series of PSO
stochRsi(sourceRSI, lengthRSI, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceRSI
lengthRSI
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochRoc(sourceROC, lengthROC, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
sourceROC
lengthROC
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochUO(fastLength, middleLength, slowLength, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
fastLength
middleLength
slowLength
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochWPR(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochFT(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVolume(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochMFI(source, length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochOBV(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochNVI(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochPVT(source, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
source
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
stochVROC(length, kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD)
Parameters:
length
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
iftRSI(sourceRSI, lengthRSI, lengthIFT)
Parameters:
sourceRSI
lengthRSI
lengthIFT
iftROC(sourceROC, lengthROC, lengthIFT)
Parameters:
sourceROC
lengthROC
lengthIFT
iftUO(fastLength, middleLength, slowLength, lengthIFT)
Parameters:
fastLength
middleLength
slowLength
lengthIFT
iftStoch(kLength, kSmoothing, dSmoothing, maTypeK, maTypeD, almaOffsetKD, almaSigmaKD, lsmaOffSetKD, lengthIFT)
Parameters:
kLength
kSmoothing
dSmoothing
maTypeK
maTypeD
almaOffsetKD
almaSigmaKD
lsmaOffSetKD
lengthIFT
iftTSI(source, shortLength, longLength, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
shortLength
longLength
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftCCI(source, length, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
length
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftFisher(length, lengthIFT)
Parameters:
length
lengthIFT
iftMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftWPR(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftMFI(source, length, lengthIFT)
Parameters:
source
length
lengthIFT
iftCMF(length, lengthIFT)
Parameters:
length
lengthIFT
iftVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, lengthIFT)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
lengthIFT
iftVROC(length, lengthIFT)
Parameters:
length
lengthIFT
smiRSI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiROC(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVROC(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiWPR(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiFT(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCCI(source, length, maTypeCCI, almaOffsetCCI, almaSigmaCCI, lsmaOffSetCCI, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
maTypeCCI
almaOffsetCCI
almaSigmaCCI
lsmaOffSetCCI
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiUO(fastLength, middleLength, slowLength, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
fastLength
middleLength
slowLength
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMACD(source, fastLength, slowLength, signalLength, maTypeFast, maTypeSlow, maTypeMACD, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
fastLength
slowLength
signalLength
maTypeFast
maTypeSlow
maTypeMACD
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVol(shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiMFI(source, length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiCMF(length, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
length
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiOBV(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVT(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiVO(shortLen, longLen, maType, almaOffset, almaSigma, lsmaOffSet, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
shortLen
longLen
maType
almaOffset
almaSigma
lsmaOffSet
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiPVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
smiNVI(source, shortLengthTSI, longLengthTSI, maTypeTSI, almaOffsetTSI, almaSigmaTSI, lsmaOffSetTSI, maTypeSignal, smoothingLengthSignal, almaOffsetSignal, almaSigmaSignal, lsmaOffSetSignal)
Parameters:
source
shortLengthTSI
longLengthTSI
maTypeTSI
almaOffsetTSI
almaSigmaTSI
lsmaOffSetTSI
maTypeSignal
smoothingLengthSignal
almaOffsetSignal
almaSigmaSignal
lsmaOffSetSignal
rsiVolume(length)
Parameters:
length
rsiMA(sourceMA, lengthMA, maType, almaOffset, almaSigma, lsmaOffSet, lengthRSI)
Parameters:
sourceMA
lengthMA
maType
almaOffset
almaSigma
lsmaOffSet
lengthRSI
DRM StrategyOne of the ways I go when I develop strategies is by reducing the number of parameters and removing fixed parameters and levels.
In this strategy, I'm trying to create an RSI indicator with a dynamic length.
Length is computed based on the correlation between Price and its momentum.
You can set min and max values for the RSI, and if the correlation is close to 1, we'll be at a min RSI value. When it's -1, we'll be at the max level.
I got this idea from Sofien Kaabar's book.
The strategy is super simple, and there might be much room for improvement.
Performance on the deep backtesting is not excellent, so I think the strategy needs some filters for regimes, etc.
Thanks to @MUQWISHI for helping me code it.
Disclaimer
Please remember that past performance may not indicate future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.