OPEN-SOURCE SCRIPT
Percentile Momentum Indicator

Input Parameters:
lengthPercentile: Defines the period used to calculate the percentile values (default: 30).
lengthMomentum: Defines the period for calculating the Rate of Change (ROC) momentum (default: 10).
Core Logic:
Rate of Change (ROC): The script calculates the ROC of the closing price over the specified period (lengthMomentum).
Percentile Calculations: The script calculates two key percentiles:
percentile_upper (80th percentile of the high prices)
percentile_lower (20th percentile of the low prices)
Percentile Average: An average of the upper and lower percentiles is calculated (avg_percentile).
Trade Signals:
Buy Signal: Triggered when the ROC is positive, the close is above the percentile_lower, and the close is above the avg_percentile.
Sell Signal: Triggered when the ROC is negative, the close is below the percentile_upper, and the close is below the avg_percentile.
Trade State Management:
The script uses a binary state: 1 for long (buy) and -1 for short (sell).
The trade state is updated based on buy or sell signals.
Bar Coloring:
Bars are colored dynamically based on the trade state:
Green for long (buy signal).
Red for short (sell signal).
The same color is applied to the percentile and average percentile lines for visual consistency.
lengthPercentile: Defines the period used to calculate the percentile values (default: 30).
lengthMomentum: Defines the period for calculating the Rate of Change (ROC) momentum (default: 10).
Core Logic:
Rate of Change (ROC): The script calculates the ROC of the closing price over the specified period (lengthMomentum).
Percentile Calculations: The script calculates two key percentiles:
percentile_upper (80th percentile of the high prices)
percentile_lower (20th percentile of the low prices)
Percentile Average: An average of the upper and lower percentiles is calculated (avg_percentile).
Trade Signals:
Buy Signal: Triggered when the ROC is positive, the close is above the percentile_lower, and the close is above the avg_percentile.
Sell Signal: Triggered when the ROC is negative, the close is below the percentile_upper, and the close is below the avg_percentile.
Trade State Management:
The script uses a binary state: 1 for long (buy) and -1 for short (sell).
The trade state is updated based on buy or sell signals.
Bar Coloring:
Bars are colored dynamically based on the trade state:
Green for long (buy signal).
Red for short (sell signal).
The same color is applied to the percentile and average percentile lines for visual consistency.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
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.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
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.