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.