Category Archives: EDS

AIQ Expert Ratings How Best to Use Them

Recording of an hour-long session with Steve Hill, CEO of AIQ Systems. It’s one of the longest-running AI-based systems in the world. Like any AI it isn’t perfect. In this session, Steve covered leveraging these ratings for effective trading decisions. Includes an EDS file that scans for unusual rating patterns of 11-59, 16-56, and 76-5.

Download these 4 files to your /wintes32/EDS Strategies folder. Open EDS and open the file c:/wintes32/EDS Strategies/16561159.eds

Detecting High-Volume Breakouts

The importable AIQ EDS file based on Markos Katsanos’ article in the April issue of Stocks & Commodities, “Detecting High-Volume Breakouts,” can be obtained on request via email to

Excerpt “Is there anything more satisfying for a trader than capturing a huge breakout? The usual practice for breakout entries is to simply buy new highs. This method, when used in isolation, will often result in false breakouts. It is, therefore, better to wait for volume confirmation before entering the trade, as high-volume breakouts usually last much longer. In this article, I will show you how to detect breakouts using only volume, sometimes even before price breaks out, by introducing a new volume breakout indicator. “

The code is also available here:

!Detecting High-Volume Breakouts !Author: Markos Katsanos, TASC April 2021 !Coded by: Richard Denning, 02/18/2021
period is 30.
smoLen is 3.
vpnCrit is 10.
maLen is 30.
V is [volume].

MAVol is simpleavg(V,period).
MAV is iff(MAVol>0,MAVol,1).
Avg is ([High]+[Low]+[Close])/3.
MF is Avg - valresult(Avg,1).
ATR is simpleavg(max( [high]-[low],max(val([close],1)-[low],[high]-val([close],1))),period).
MC is 0.1*ATR.
VMP is iff(MF > MC, V, 0).
VP is sum(VMP,period).
VMN is iff(MF < -MC, V, 0).
VN is sum(VMN,period).
VPN is (expavg(((VP - VN) / MAV / period),smoLen))*100.
MAVPN is simpleavg(VPN,maLen).

Code for the VPN indicator is set up in the AIQ code file. Figure 9 shows the indicator on a chart of Tesla Motors Inc (TSLA).

Sample Chart

FIGURE 9: AIQ. The VPN indicator is shown on a chart of Tesla Motors Inc. (TSLA).

—Richard Denning
for AIQ Systems

Trend Strength: Measuring The Duration Of A Trend

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 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
TPRlen is 20.
SMAlen is 5.
ThrshFixed is 1.0.
MULT is 10.
C is [close]. _point is 0.01.

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).

Sample Chart
FIGURE 7: AIQ. The TPR indicator is shown on a chart of Apple Inc. (AAPL).

—Richard Denning
for AIQ Systems

The RS4r: Tracking Relative Strength In Four Dimensions

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 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

C is [close].
len1 is 10.
len2 is 15.
NumIndx is 4.
BuyLvl is 80.

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.

Sample Chart

FIGURE 12: AIQ. Chart of DISH with R5 indicator and sample trade using R5 indicator >= 80 to buy.

Sample Chart

FIGURE 13: AIQ. Summary EDS backtest report for the R5 system that trades the Nasdaq 100 stocks over the last 4 years.

—Richard Denning
for AIQ Systems

The Calm Before the Bond Storm?

The bond market was very quiet in the 3rd quarter.  Figure 1 displays ticker IEF (7-10 year treasuries ETF) in the to clip and ticker AGG (Aggregate Bond Index ETF) in the bottom clip. 

Figure 1 – Tickers IEF and AGG in narrow ranges (Courtesy AIQ TradingExpert)

Essentially the entire bond market has been flat since early June.  The market seems to be assuming that “the Fed will take of everything” and keep interest rates low and stable for the foreseeable future so…..ZZZZZZZZ.

But this type of activity often breeds complacency.  I am not making any predictions here but I do want to raise a question that investors might wish to ponder, i.e., “what would be more shocking that a spike in interest rates?”  OK, yes, I realize it is 2020 and it is pretty much hard to be shocked by anything anymore.  But still, on a relative basis how many investors are even thinking about the potential risk of higher interest rates at the moment?

Could it Happen?

The Bond Market VIX (ticker MOVE) recently fell to its lowest level ever (before spiking sharply higher on 10/5/20).  As you can see in Figure 2 this type of “quietness” often precedes a significant move in the bond market.  For the record, low readings in MOVE can be followed by large up moves in price as easily as large down moves in price.  So, a low MOVE reading is not “bearish” per se, but rather merely suggests that we are experiencing the “calm before the storm.”

Figure 2 – Bond Market VIX hit an all-time low (Courtesy

So why is my “Spidey sense” tingling?  Figure 3 displays the yield on 30-year treasuries (ticker TYX) on the bottom and an indicator I refer to as VFAA on the bottom (the calculation appears at the end of this piece).  VFAA is a derivative on a Larry William’s indicator he calls VixFix.

Figure 3 – 30-year treasury yields with VFAA suggesting a potential bottoming area (Courtesy AIQ TradingExpert)

As you can see in Figure 3, peaks in the VFAA indicator often occur near intermediate term lows in bond yields (reminder: bond prices move inversely to yield, so a bottom in interest rates indicates a top in bond prices).  As you can also see on the far-right hand side, the stage clearly appears to be set for “the next go round.”

Why does this matter?  If interest rates do rise in the months ahead bond prices – particularly long-term bond prices can get hit hard.  To illustrate the potential risks, Figure 4 displays the action of treasury security ETFs of various maturity during a 5-month rise in rates back in 2016.

Figure 4 – Bond ETF action during rate rise in 2016


It is possible for long and short-term bonds to “de-couple”.  In other words, the possibilities are:

*Short-term rates remain stable (as the Fed keeps pumping) while long-term rates rise (as inflation fears arise as a result of all the Fed pumping)

*Short-term rates remain stable while long-term rates plummet (if the economy appears to be weakening).  This would result in gains for long-term bonds only

*None of the above

The bottom line: Bonds have fallen asleep – but DO NOT fall asleep on bonds. 

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

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.