INVITE-ONLY SCRIPT

Optimal Moving Average (AI/ML) [wbburgin]

Updated
Some traders swear by the 200-period moving average. Others, by the 100-period. Others, the 14-period. It depends on your asset, your timeframe, the trend…

The fact of the matter is that no moving average will ever be a consistent indicator for a serious trader - a fixed-length moving average will always need confirmation indicators and tests. When your instrument is trending, you need a faster moving average to better fit the data; when your instrument is ranging, you need a slower moving average that cleans the data. This just is not possible given the way the moving average is traditionally coded, which makes it a lagging indicator.

Thus we need a moving average that:
  1. can project the next prices, and
  2. can change its length depending on what best fits these future prices.


The Optimal Moving Average selects the optimal moving average length for a projected future price. The algorithm classifies moving averages by their effectiveness in predicting future price movement. If a moving average of length n has historically been accurate in predicting the next bar, the moving average will be tested compared to its peers (n-1, n+5, n-100, etc.) and promoted or demoted depending on its effectiveness. This means that the indicator will not have a length input like other static moving averages or machine-learning moving averages on TradingView- it will select the ideal length for your chart from the average that has the least error and best prediction.

Advantages over other ML Moving Averages on TradingView
The vast majority of AI/ML moving average algorithms classify their moving averages only by if the average is above or below the current price.
This approach is inherently flawed because the model
  • Is not predictive of future prices (the structural lagging problem still exists),
  • Is not built on a variable-length MA (cannot select alternating lengths depending on the bar), and
  • does not classify the scale of difference between the MA and the price.


This indicator solves all those problems. It classifies moving averages by the scale of which their rate predicts the next price. Thus it is quick to catch trend changes but also acts as support or resistance, and models the projected price more accurately than a traditional moving average.
Release Notes
Added additional moving averages for maximum error and average error, which can help identify other resistance points in the MA map:

snapshot
forecastingMoving Averagesregressions

Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact wbburgin for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases, you can find a good open-source alternative for free in our Community Scripts.

Author's instructions

Please visit the first link in my signature to access this script.

Want to use this script on a chart?

Warning: please read before requesting access.

FAQ: I am gradually phasing out my Patreon because of the time it takes to maintain.

BTC: 35PdMMMXFCvPjXKwn8wsRFNwMEPgStaKUJ

Test my strategies on CryptoRobotics: cryptorobotics.co/?trade=f23b09

Disclaimer