OPEN-SOURCE SCRIPT

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.

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.

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.

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Join my community where i share signals and my secret algos:

Telegram:

t.me/ikkeomarfree

I can also pass funded accounts for you!

$50,000 accounts

Just dm my Telegram @IkkeOmar

Telegram:

t.me/ikkeomarfree

I can also pass funded accounts for you!

$50,000 accounts

Just dm my Telegram @IkkeOmar

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.