OPEN-SOURCE SCRIPT

Z-Score RSI Strategy

Mis à jour
Overview
The Z-Score RSI Indicator is an experimental take on momentum analysis. By applying the Relative Strength Index (RSI) to a Z-score of price data, it measures how far prices deviate from their mean, scaled by standard deviation. This isn’t your traditional use of RSI, which is typically based on price data alone. Nevertheless, this unconventional approach can yield unique insights into market trends and potential reversals.

Theory and Interpretation
The RSI calculates the balance between average gains and losses over a set period, outputting values from 0 to 100. Typically, people look at the overbought or oversold levels to identify momentum extremes that might be likely to lead to a reversal. However, I’ve often found that RSI can be effective for trend-following when observing the crossover of its moving average with the midline or the crossover of the RSI with its own moving average. These crossovers can provide useful trend signals in various market conditions.

By combining RSI with a Z-score of price, this indicator estimates the relative strength of the price’s distance from its mean. Positive Z-score trends may signal a potential for higher-than-average prices in the near future (scaled by the standard deviation), while negative trends suggest the opposite. Essentially, when the Z-Score RSI indicates a trend, it reflects that the Z-score (the distance between the average and current price) is likely to continue moving in the trend’s direction. Generally, this signals a potential price movement, though it’s important to note that this could also occur if there’s a shift in the mean or standard deviation, rather than a meaningful change in price itself.

While the Z-Score RSI could be an insightful addition to a comprehensive trading system, it should be interpreted carefully. Mean shifts may validate the indicator’s predictions without necessarily indicating any notable price change, meaning it’s best used in tandem with other indicators or strategies.

Recommendations
Before putting this indicator to use, conduct thorough backtesting and avoid overfitting. The added parameters allow fine-tuning to fit various assets, but be careful not to optimize purely for the highest historical returns. Doing so may create an overly tailored strategy that performs well in backtests but fails in live markets. Keep it balanced and look for robust performance across multiple scenarios, as overfitting is likely to lead to disappointing real-world results.
Notes de version
Mainly made changes to the parameters of the backtest. This significantly affected the results of the backtest, but I think it is much more applicable to a typical trader. I also added an input for the max amount risked.

Typically, I wouldn't use a stop-loss or anything of the sort because I tend to use trend following strategies that are usually just cut short by that, however, I included it for those who would like to use it.

The default parameters are mainly based on my own preferred timeframes to look at, and the method of signal generation is chosen because, as mentioned, I tend to stick to trend following strategies and have found the "Moving Average Midline Crossover" to be most effective.

I do recognize these default parameters don't have a superb backtest, but I've chosen because of the theory behind them and not to boast about some incredible metrics.

Enjoy, experiment, and as always, make the most sound decisions you can.
Notes de version
Added slippage to the backtest as well
meanreversionMomentum Indicator (MOM)quantitativerangetradingrangingRelative Strength Index (RSI)strategyTrend Analysistrendfollowingtrendtradingz-score

Script open-source

Dans le plus pur esprit TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par nos Règles. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Vous voulez utiliser ce script sur un graphique ?

Clause de non-responsabilité