Login Page - Create Account

Support Board

Date/Time: Wed, 17 Jan 2018 01:39:48 +0000

Offering To The Community: Adaptive MFI Moving Average With Filters

Support Request:
[2015-07-10 04:56:15]
bjohnson777 (Brett Johnson) - Posts: 204
I've been programming some indicators from my base tool kit and am offering them to the community. I request they be added into the main SC distro once checked over.

From the "Display Study Documentation" button:

Adaptive MFI Moving Average With Filters. Adaptive MFI (AMFI) uses price as an input and then MFI as the scaling factor in an exponential moving average equation. It is very similar to Adaptive RSI (ARSI). Some people prefer the MFI indicator over the RSI indicator since it takes volume into account.

The proper MFI algorithm uses Typical Price (HLC Avg) as the input. There is an option to change this if desired. The "Set Price Smoothing?" option enables cleaning up the price before calculations. If price is really noisy, recommended settings are EMA 3-10. Otherwise leave price smoothing off. The "Set MFI Smoothing?" option enables cleaning up some of the MFI noise before AMFI is calculated. It is recommended to smooth MFI out with an EMA 3-7. This allows for less volatility and more consistent movements.

This version has a Volume Filter option to handle cases when a volume spike smashes the indicator making it hard to read. Large institutions sometimes do this to hide their activity afterward. The "Straight" option passes volume data through without any filtering. The "Log" option runs each volume bar through the log function making a type of "log scale". The "Square Root" option runs each volume bar through the square root function making a type of "square root scale". The "MA Clip" option will clip volume above a chosen moving average. To learn the movement characteristics of each, it is recommended to put them all on one chart for equal comparison.

The "Scale Factor Change" option allows the output line to be sped up or slowed down by modifying the EMA Scale Factor variable in the final adaptive calculation. It is recommended to change the main period variable first and then modify this one for fine tuning. A value of 1.0 (100%) will leave the rate unchanged. A value of 2.0 (200%) will double the rate. A value of 0.5 (50%) will cut the rate in half.

To use straight AMFI without any enhancements, turn off all extra options.

Observations: When there's a strong reversal, AMFI will go flat and then bend to follow the price. It will do this more than ARSI given the same settings. AMFI will often go flat before the end of major price peaks/dips indicating that the move is almost over (something ARSI will not do). On weaker events, AMFI will go flat while price bounces around above or below and then returns to the AMFI line. Check indicators and wave counts to verify final motion.

To visualize what the scaling factor is doing, a separate MFI graph can be added with the selected smoothing values. When MFI is close to 50, the AMFI line will go flat and move less. Further away from 50 will increase the line movement.

First known public AMFI version by Brett Johnson, 2015.

Minor update 2016-10-15. No major function changes.
Regular compiles moved to "Brett Johnson's Standard Tool Kit" DLL.
Date Time Of Last Edit: 2016-10-15 06:29:48
Attachment Deleted.
Attachment Deleted.
attachmentAdaptiveMFI_MA.cpp - Attached On 2016-10-15 06:29:24 UTC - Size: 12.26 KB - 15 views
attachmentAdaptiveMFI_MA.dll - Attached On 2016-10-15 06:29:29 UTC - Size: 85.5 KB - 14 views
[2015-07-12 00:40:05]
bjohnson777 (Brett Johnson) - Posts: 204
In getting Adaptive Stochastic to work, I discovered the simple fix of adding the option to modify the Scale Factor. I'm now deploying it to all my adaptive moving average studies as it's quite useful.

Edit: download the files from the first post.
Date Time Of Last Edit: 2016-02-07 02:17:30
[2016-10-15 06:30:00]
bjohnson777 (Brett Johnson) - Posts: 204
Today's DLL was compiled with the M$VC++ change over.
You may need to update your SC version.
Keep your previous DLL version until you've tested the new compile.
Most changes were made to shut up useless M$VC++ warnings when compiling.
There are a few compile warnings left about "argument" that can be ignored.
No real functionality changes have been made.

To post a message in this thread, you need to login with your Sierra Chart account:


Login Page - Create Account