Here comes a study to indicate the idea of this article, Price Distance to its Moving Averages (P/MA Ratio)
The analysis expressed in the paper indicates that there is a connection between the distance of the prices to moving averages and subsequent returns : portfolios of stocks with lower prices to moving averages generally outperformed portfolios of stocks with higher prices to moving averages. This “overextended” effect is more pronounced when using shorter moving averages of 20 and 50 days, and is especially strong in short-term holding periods like one and two weeks. The highest annual returns are recorded when buying in the range of 0-5% below shorter moving averages of 20/50 days, and 0-10% below longer moving averages of 100/200 days. However, buying very far below almost all moving averages on almost all holding periods produces the lowest returns.
The concept of this study recognizes three different modes of action.
In a clearly established upward trend traders should be buying when prices are near or below the MA line and selling when prices move too far above the MA.
Conversely, in downward trend stocks should be shorted when reaching or going above the moving average and covered when they drop too far below the MA line.
In a sideways movement traders are advised to buy if the price is too low below the moving average and sell when it goes too far above it
Short-term traders can expect to outperform in a one or two week time window if buying stocks with lower prices compared to their 20 and 50 / , one to two-week holding periods is quite high, ranging from 72,09% to 90,61% for the (20, 50) and 85,03% to 87,5% for the (20, 50). The best results for the 20 and 50, on average, are concentrated in the region of 0-5% below the MA for the majority of holding periods. Buying very far below almost all MA in almost all holding periods turns out to be the worst possible option
Candle patterns, momentum could be used in conjunction with this indicator for better results. Try Colored DMI and colored SuperTrend by DGT
Secondly, Exponential Moving Average (EMA) is added as option besides SMA as it has been analyzed with the article stated above
Over bought and over sold levels needs to be adjusted based on the market. For crypto it is suggested 25/-25 (default setting) for forex and stocks 10/-10
the percentage of values 68.27%, 95.45% and 99.73% of the values lie within one, two and three standard deviations of the mean. nearly all values are taken to lie within three standard deviations of the mean, and thus it is empirically useful to treat 99.7% probability as near certainty.
Bollinger Bands, developed by John Bollinger, is a well-known technical analysis tool defined by a set of trendlines plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of a security's price
This update implements standard deviations concept adapted to fit the Price Distance to it's MA (P/MA) Indicator, with the aim to define threshold lines
* alert conditions added
- when fast price / moving average line crosses outer bands alerts can be triggered
* theshold bands default value settings reduced slightly
for trading opportunities - added additional method and/or confirmation method.
trading opportunity is considered when crossing of P/MA line (fast and/or slow) and its Moving Average line, more clearly when histogram changes direction, and ONLY in case when both trends have same direction (this is to avoid false signals). It is important to note that the moving average determines the direction
histogram (cycle indicator) is derived from the P/MA line. It is
cycle = pma – pma ma
By default the histogram for fast and slow P/MA will be displayed and alerts are also added for the new method introduced
The same approach is applied with the Lefort indicator that I have adapted earlier in Trading View, here is the link of the study STPMT by DGT, please check for further details with usage example that is applicable with this update
- plotting title correction
- histogram plotting is now available as Candles or Columns
Special thanks to @AtomOfScent for his feedback and suggestion
Ganz im Sinne von TradingView hat der Autor dieses Skripts es als Open-Source veröffentlicht, damit Trader es verstehen und überprüfen können. Ein Hoch auf den Autor! Sie können es kostenlos verwenden, aber die Wiederverwendung dieses Codes in einer Publikation unterliegt den Hausregeln. Sie können das Skript den Favoriten hinzufügen, um es auf dem Chart zu verwenden.
The idea of this script
Prices high above the moving average (MA) or low below it are likely to be remedied in the future by a reverse price movement
So the green and red bands represent area of interest, price may reverse or regress
Moving average of P/MA (blue line) and histogram are for futher confirmation. The blue and red line crosses or simply when histogram changes direction are assumed as signals ONLY in case when both trends have same direction (this is to avoid false signals). It is important to note that the moving average (blue line) determines the direction
plotcandle(0., 0., 0., cycleSlowHist, "Cycle Histogram of Fast Price/MA", cycleSlow > 0 ? color.new(color.blue , 34) : color.new(color.yellow, 34))//, bordercolor=#ffffff00)
plotcandle(0., 0., 0., cycleFastHist, "Cycle Histogram of Slow Price/MA", cycleFast > 0 ? color.new(color.green, 34) : color.new(color.red , 34))//, bordercolor=#ffffff00)
And thanks for the feedback and suggestion, I have just corrected the title issue and added optionally histogram as columns, they used to be as columns earlier but changed it to candles and the reason was that, when you zoom out the plottings were becoming messy and with plotcandle histogram somehow was disapearing and did not look too messy ;)
btw, colors on style settings is removed by design. they disapear in case any of the color is required to be calculated on run-time otherwise they remain
I don't think I like this design change at all. Seems it makes basic things like being able to choose the colors for a plot that changes color above/below zero impossible without modifying the code or manually adding a bunch of input color variables. :/