One of the most powerful, yet underutilized technical indicators in AIQ TradingExpert Pro toolkit is the MoneyFlow indicator. Unlike traditional volume-based indicators, the AIQ MoneyFlow combines price action with volume to give a more accurate picture of where institutional money may be flowing. It can be beneficial for timing entries—helping traders spot early accumulation phases before price breakouts occur. At its core, the indicator compares up-volume to down-volume, adjusting for price movement. Important signals occur around trends and trend breaks, and non conformations (highs and lows do not agree) and divergences (trends do not agree) with the price action of the ticker.
Take, for example, the recent action in Nvidia (NVDA). In mid-March 2025, the AIQ Money Flow indicator continued to hold up during the significant downturn in price.
Traders who acted on this early shift, using it as confirmation alongside a breakout pattern, could have caught a strong upside move. Traders can fine-tune this signal to fit a range of strategies, from swing trades to longer-term entries.
The key benefit of using AIQ’s Money Flow indicator for entries is its unique blend of volume and price momentum analysis. It can be combined with group/sector analysis and price momentum indicators as a dynamic tool for identifying stocks where the “smart money” might be stepping in. The Money Flow indicator is a must-watch metric for traders looking to upgrade their entry strategies, especially when markets are volatile and traditional signals are slow
The importable AIQ EDS file based on Richard Poster’s article in February 2021 issue, of Stocks & Commodities “Trend Strength: Measuring The Duration Of A Trend,” Getting a good reading on trend strength is an important and useful metric to have when trading. Here, we introduce a new technique that makes use of a less common approach to measuring the strength of a trend… can be obtained on request via email to info@TradersEdgeSystems.com. The code is also shown here:
!Trend Strength: Measuring The Duratioin of A Trend !Author: Richard Poster, TASC Feb 2021 !Coded by: Richard Denning 12/12/2020 !INPUTS: TPRlen is 20. SMAlen is 5. ThrshFixed is 1.0. MULT is 10. C is [close]. _point is 0.01.
!FORMULAS: sma1 is simpleavg(C,SMAlen,0). sma2 is simpleavg(C,SMAlen,1). smadiff is (sma1 - sma2)/(MULT*_point). up if smadiff>ThrshFixed. dn if smadiff<-ThrshFixed. countP is countof(up,TPRlen). countM is countof(dn,TPRlen). tpr is abs(100*(countP-countM)/TPRlen). ListValues if 1.
Code for the TPR indicator is set up in the AIQ code file for stocks with point value equal to 0.01. Figure 7 shows the indicator on a chart of Apple Inc. (AAPL).
FIGURE 7: AIQ. The TPR indicator is shown on a chart of Apple Inc. (AAPL).
Relative strength has more information embedded within it than meets the eye. Here is a way to identify and compress several dimensions of relative strength into one single scalable value, the RS4r, which allows you to compare and then rank securities for robustness across timeframes and shifting market conditions…
The importable AIQ EDS file based on James Garofallou’s article in Stocks & Commodities magazine September 2020 issue, “The RS4r: Tracking Relative Strength In Four Dimensions,” can be obtained on request via email to info@TradersEdgeSystems.com. The code is also available here:
! The RS4r: Tracking Relative Strength in Four Dimensions
! Author: James Garofallou, PhD, TASC Sept 2020
! Coded by: Richard Denning, 7/18/2020
!INPUTS
C is [close].
len1 is 10.
len2 is 15.
NumIndx is 4.
BuyLvl is 80.
!FORMULAS
SPYc is TickerUDF("SPY",C). !SP500
QQQc is TickerUDF("QQQ",C). !NASDAQ100
MDYc is TickerUDF("MDY",C). !SP400
IWMc is TickerUDF("IWM",C). !Russel2000
RS1spy is C/SPYc.
RS1qqq is C/QQQc.
RS1mdy is C/MDYc.
RS1iwm is C/IWMc.
FastSPY is Expavg(RS1spy,len1).
MedSPY is Simpleavg(FastSPY,7).
SlowSPY is Simpleavg(FastSPY,15).
VSlowSPY is Simpleavg(SlowSPY,30).
FastQQQ is Expavg(RS1qqq,Len1).
MedQQQ is Simpleavg(FastQQQ,7).
SlowQQQ is Simpleavg(FastQQQ,15).
VSlowQQQ is Simpleavg(SlowQQQ,30).
FastMDY is Expavg(RS1mdy,Len1).
MedMDY is Simpleavg(FastMDY,7).
SlowMDY is Simpleavg(FastMDY,15).
VSlowMDY is Simpleavg(SlowMDY,30).
FastIWM is Expavg(RS1iwm,Len1).
MedIWM is Simpleavg(FastIWM,7).
SlowIWM is Simpleavg(FastIWM,15).
VSlowIWM is Simpleavg(SlowIWM,30).
Tier1spy is iff(FastSPY>=MedSPY and MedSPY>=SlowSPY and SlowSPY>=VslowSPY,10,0).
Tier1qqq is iff(FastQQQ>=MedQQQ and MedQQQ>=SlowQQQ and SlowQQQ>=VslowQQQ,10,0).
Tier1mdy is iff(FastMDY>=MedMDY and MedMDY>=SlowMDY and SlowMDY>=VslowMDY,10,0).
Tier1iwm is iff(FastIWM>=MedIWM and MedIWM>=SlowIWM and SlowIWM>=VslowIWM,10,0).
Tier2spy is iff(FastSPY>=MedSPY and MedSPY>=SlowSPY and SlowSPY<VslowSPY,9,0).
Tier2qqq is iff(FastQQQ>=MedQQQ and MedQQQ>=SlowQQQ and SlowQQQ<VslowQQQ,9,0).
Tier2mdy is iff(FastMDY>=MedMDY and MedMDY>=SlowMDY and SlowMDY<VslowMDY,9,0).
Tier2iwm is iff(FastIWM>=MedIWM and MedIWM>=SlowIWM and SlowIWM<VslowIWM,9,0).
Tier3spy is iff(FastSPY<MedSPY and MedSPY>=SlowSPY and SlowSPY>=VslowSPY,9,0).
Tier3qqq is iff(FastQQQ<MedQQQ and MedQQQ>=SlowQQQ and SlowQQQ>=VslowQQQ,9,0).
Tier3mdy is iff(FastMDY<MedMDY and MedMDY>=SlowMDY and SlowMDY>=VslowMDY,9,0).
Tier3iwm is iff(FastIWM<MedIWM and MedIWM>=SlowIWM and SlowIWM>=VslowIWM,9,0).
Tier4spy is iff(FastSPY<MedSPY and MedSPY>=SlowSPY and SlowSPY<VslowSPY,5,0).
Tier4qqq is iff(FastQQQ<MedQQQ and MedQQQ>=SlowQQQ and SlowQQQ<VslowQQQ,5,0).
Tier4mdy is iff(FastMDY<MedMDY and MedMDY>=SlowMDY and SlowMDY<VslowMDY,5,0).
Tier4iwm is iff(FastIWM<MedIWM and MedIWM>=SlowIWM and SlowIWM<VslowIWM,5,0).
RS2spy is Tier1spy + Tier2spy + Tier3spy + Tier4spy.
RS2qqq is Tier1qqq + Tier2qqq + Tier3qqq + Tier4qqq.
RS2mdy is Tier1mdy + Tier2mdy + Tier3mdy + Tier4mdy.
RS2iwm is Tier1iwm + Tier2iwm + Tier3iwm + Tier4iwm.
RS3x is (RS2spy+RS2qqq+RS2mdy+RS2iwm).
RS4 is (RS3x/NumIndx)*10.
RS4osc is simpleavg(RS4,3).
mvSig is simpleavg(RS4osc,5).
RS4r is round(RS4).
mvRS4 is expavg(RS4r,4).
RS4up is iff(RS4r >= 80 or RS4r > mvRS4,1,0).
X is iff(RS4 >= 80,1,0).
R5 is iff(RS4up =1,round(simpleavg(X,len2)*100),0).
Buy if R5 >= BuyLvl.
ExitBuy if R5 < BuyLvl.
ShowValues if 1.
Code for the RS4r is included in the EDS file. I also coded a system that uses the RS4r (R5). I used four independent ETFs as indexes rather than the 11 mutual funds that the author used. I used SPY, QQQQ, MDY, and IWM. The trading system buys (long only) when the R5 >= 80 and exits the long position when RS4r < 80. The summary EDS backtest report for trading this system on the Nasdaq 100 stocks (commission & slippage not subtracted) is shown in Figure 13 and a sample trade on DISH with the R5 indicator is shown in Figure 12.
FIGURE 12: AIQ. Chart of DISH with R5 indicator and sample trade using R5 indicator >= 80 to buy.
FIGURE 13: AIQ. Summary EDS backtest report for the R5 system that trades the Nasdaq 100 stocks over the last 4 years.
Truth be told I am not much of a “stock picker”. Oh, I can pick ‘em alright just like anyone else. They just to don’t go the right way as often as I’d like. I also believe that the way to maximize profitability is to follow a momentum type approach that identifies stocks that are performing well and buying them when they breakout to the upside (ala O’Neil, Minervini, Zanger, etc.) and then riding them as long as they continue to perform. Unfortunately, I’m just not very good at it.
Back when I started out, there was such a thing as a “long-term investor.” People would try to find good companies selling at a decent price and they would buy them and hold them for, well, the long-term. Crazy talk, right? As I have already stated, I am not claiming that that is a better approach. I am just pointing out that it was “a thing.”
An Indicator
There is an indicator (I will call it VFAA, which is short for vixfixaverageave, which – lets face it – is a terrible name) that I follow that was developed as an extension of Larry William’s VixFix Indicator. There is nothing magic about it. Its purpose is to identify when price has reached an exceptionally oversold level and “may” be due to rally. The code for this indicator appears later.
For the record, I DO NOT systematically use this indicator in the manner I am about to describe, nor am I recommending that you do. Still, it seems to have some potential value, so what follows is merely an illustration for informational purposes only.
The Rules
*We will look at a monthly bar chart for a given stock
*A “buy signal” occurs when VFAA reaches or exceeds 80 and then turns down for one month
*A “sell (or exit) signal” occurs when VFAA subsequently rises by at least 0.25 from a monthly closing low
Seeing as how this is based solely on monthly closes it obviously this is not going to be a “precision market timing tool.”
Some “Good Companies” with “Troubled Stocks”
So now let’s apply this VFAA indicator to some actual stocks. Again, I AM NOT recommending that anyone use this approach mechanically. The real goal is merely to try to identify situations where a stock has been washed out, reversed and MAY be ready to run for a while.
Ticker BA
Figure 1 displays a monthly chart for Boeing (BA) with VFAA at the bottom. The numbers on the chart represent the hypothetical + (-) % achieved by applying the rules above (although once again, to be clear I am not necessarily suggesting anyone use it exactly this way).
From March 2019 into March 2020 BA declined -80%. It has since bounced around and VFAA has soared to 110.88. VFAA has yet to rollover on a month-end basis, so nothing to do here except exhibit – what’s that word again – oh right, “patience.”
Ticker GD
Figure 2 displays a monthly chart for General Dynamics (GD) with VFAA at the bottom.
Are these “world-beating numbers”? Not really. But in terms of helping to identify potential opportunities, not so bad. VFAA gave a “buy signal” for GD at the end of July. So far, not so good as the stock is down about -6%.
Ticker WFC
Figure 3 displays a monthly chart for Wells Fargo (WFC) with VFAA at the bottom.
There are not many “signals” but the ones that occurred have been useful. Between 2018 and 2020 WFC declined -65%. It has since bounced around and VFAA has soared to 102.44. VFAA has yet to rollover on a month-end basis. But at some point it will, and a potential opportunity may arise.
VFAA Formula
Below is the code for VFAA
VixFix is an indicator developed many years ago by Larry Williams which essentially compares the latest low to the highest close in the latest 22 periods (then divides the difference by the highest close in the latest 22 periods). I then multiply this result by 100 and add 50 to get VixFix.
*Next is a 3-period exponential average of VixFix
*Then VFAA is arrived at by calculating a 7-period exponential average of the previous result (essentially, we are “double-smoothing” VixFix)
Are we having fun yet? See code below:
hivalclose is hival([close],22).
vixfix is (((hivalclose-[low])/hivalclose)*100)+50.
vixfixaverage is Expavg(vixfix,3).
vixfixaverageave is Expavg(vixfixaverage,7).
VFAA = vixfixaverageave
EDITORS NOTE: The AIQ Expert Design Studio code for the indicator is available to download from here. Save this file to your /wintes32/EDS Strategies folder https://aiqeducation.com/VFAA.EDS
Summary
One thing to note is that VFAA “signals” on a monthly chart don’t come around very often. So, you can’t really sit around and wait for a signal to form on your “favorite company”. You have to look for opportunity wherever it might exist.
One last time let me reiterate that I am not suggesting using VFAA as a standalone systematic approach to investing. But when a signal does occur – especially when applied to quality companies that have recently been “whacked”, it can help to identify a potential opportunity.
Jay Kaeppel
Disclaimer: The information, opinions and ideas expressed herein are for informational and educational purposes only and are based on research conducted and presented solely by the author. The information presented represents the views of the author only and does not constitute a complete description of any investment service. In addition, nothing presented herein should be construed as investment advice, as an advertisement or offering of investment advisory services, or as an offer to sell or a solicitation to buy any security. The data presented herein were obtained from various third-party sources. While the data is believed to be reliable, no representation is made as to, and no responsibility, warranty or liability is accepted for the accuracy or completeness of such information. International investments are subject to additional risks such as currency fluctuations, political instability and the potential for illiquid markets. Past performance is no guarantee of future results. There is risk of loss in all trading. Back tested performance does not represent actual performance and should not be interpreted as an indication of such performance. Also, back tested performance results have certain inherent limitations and differs from actual performance because it is achieved with the benefit of hindsight.
The Expert System in TradingExpert Pro gave a 1 – 99 down signal on the Dow Jones on 8-27-20. The market internals based on the advancing vs declining issue in the New York market continue to diverge from the market price action.
The phase indicator used to confirm Expert Ratings turned down on 8-31-20. We usually look for a phase confirmation of an Expert Rating to occur within 3 days of the rating.
The changes made in the constituents of the Dow 30 effective 8-31-20