EmpiricalFX

MESA Adaptive Moving Average

Intro
One of Ehlers most well-known indicators! I've seen many variations of this on TradingView, however, none seem to be true to the original released by Ehlers himself.
I've taken it upon myself to simply translate the MAMA into Pinescript, instead of re-writing like some others have done.

You can use it as a very effective & adaptive moving average with other signals or
as a standalone signal.

In the case that you're going to use it for signals and not simple technical trading (non-quantitative),
I've also added a threshold parameter to filter out weak signals.

My MAMA indicator is different from others in very simple ways - I don't use the nz () command, which sets all "Not a Number" values to 0. In others' scripts, you immediately load the indicator with several 0 values,
causing a slight lag in future calculations since this code is recursive (refers to previous values it generated).

In my version, I simply wait until the script has access to all the bar data it needs, instead of instantly performing calculations and
setting erroneous values to 0. In this case, we start with the correct values (or closer to correct).

If you want to compare this indicator the current most popular MAMA by LazyBear, you'll notice it often gives buy and sell crosses one bar earlier than theirs.

Setting Parameters
  • Source - the data series to perform calculations on. (Initially, Ehlers himself favored hl/2, but conceded that there isn't empirical benefit over close.)
  • Fast Limit - controls how quickly the MAMA will "ratchet up" fast price action. (Higher values are faster)
  • Slow Limit - controls how closely the FAMA will follow the MAMA . (Again, higher is faster. You typically want the FAMA to be slower though.)
  • Crossover Threshold - simple error thresholding to limit the number of weak trade signals. (Lower means lower tolerance)
  • Show Crosses? - show/hide the arrows at moving average crosses
Release Notes: Forgot to convert one Trig operation to Radians
Release Notes: Update as requested by user @ant187:
- You now have the option to fill the area between the moving averages (disabled by default)
Release Notes: An additional quick update to change the fill color based on the crossover status.
-Default is red and blue, with a transparency of 90%
Release Notes: LOTs of changes here!
  • Updated to Pinescript version 4.0
  • Removed confusing settings
  • Added Multi-timeframe plotting support (defaults to current chart timeframe)
  • Bug fixes with logic
Remove from Favorite Scripts Add to Favorite Scripts

Comments

This is awesome, and as you mentioned more accurate than other mesa's on this site.

I use MESA extensively in my trading and I vastly prefer yours...however, the other ones have a "FILL" option and I've grown accustomed to utilizing that, is there any possible chance you could find it in your heart to make a version with the fill added?

Would be greatly appreciated by myself, and I'm sure many others that utilize this awesome tool.

Either way, thanks again for your contribution, it's a marked improvement on a great and undervalued indicator..and hey...lets keep it that way..can't let the algo's know we're using their stuff now can we ;P

Thanks again regardless
+1 Reply
@ant187, Done! Glad you're enjoying the script :)
Reply
Thanks for the indicator, it works great! After some observations seems to be really reliable catching mid term trends avoiding whipsaws, even working in lower timeframes.
Reply
ecletv ecletv
Using crossings to know the actual trend, works similar to the one I am using: Hurst cycle channel oscillator, applied to the VIDYA of the price (with R2 k constant instead of CMO). The 0 crossings are lagging but very specific, tend to coincide with your MESA crossings.
Reply
Probably one of the most complex user defined single functions ever! Great work man!
Reply
Thanks for sharing!
Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Refer a friend My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out