Page 9                                                      

Sideways Channels Exploration

Periodicity: Daily

Formulas

ColumnA: Top
Mov(Peak(1,H,1),45,S)-Ref(Mov(Peak(1,H,1),45,S),-45)

ColumnB: Bottom
Mov(Trough(1,L,1),45,S)-Ref(Mov(Trough(1,L,1),45,S),-45)

Filter:
ColA < 1 AND ColA > -1 AND ColB < 1 AND ColB > -1


Congestion Index


((HHV(C,80)-LLV(C,80))/LLV(C,80))*100

Consolidation breakout (upside)

If(Ref(Fml("congestion index"),-5),<,10, {and} If(Fml("congestion index"),>=,10, {and} If(CLOSE,>,Ref(HHV(C,80),-5), {and} If(Mov(V,5,S),>=,1.5*(Ref(Mov(V,60,S),-5)), +1,0),0),0),0)

Consolidation breakout (downside)

If(Ref(Fml("congestion index"),-5),<,10{%},{and} If(Fml("congestion index"),>=,10{%},

{and} If(CLOSE,<,Ref(LLV(C,80),-5),{and} If(Mov(V,5,S),>=,1.5*(Ref(Mov(V,60,S),-5)),+1,0),0),0),0)

from Richard Estes


Stochastic and RSI System

Mov((RSI(8)-LLV(RSI(8),8))/(HHV(RSI(8),8)-(LLV(RSI(8),8))),5,w)*100

A formula like this works best with confirming indicators. If the MACD 13-34-89 is above the zero line (purple line in window 2 above), it confirms and uptrend and the indicator is usually more accurate. If the MACD 13-34-89 is below the zero line, then a "short" indication from the StochRSI may give better results.StochRSI 13 also gives excellent indicators- in this index it had 4 out of 5 winning signals in two year period. The time between signals is of course longer. Check this method out on your favorite issues.

from Andy G. andyg@megsinet.net


BDPL Trend Filter

cum ((if ((mov((C-ref(C,-1)),21,s))>0,1,-1) * pwr(((mov((pwr(C-ref(C,-1),2)),21,s))+1),.5)) + ((pwr(((pwr(C-ref(C,-1),2))+1),.5))) * if ((C>ref(C,-1)),1,-1))

(fml(" BPDL Trend Filter") - (ref((fml(" BPDL Trend Filter")),-21))) / ((hhv(fml(" BPDL Trend Filter"),21)) - (llv(fml("BPDL Trend Filter"),21)))

BUY -1 SELL 1
 
 

PFE Indicator

Mov(If(C > Ref(C,-9), Sqr( Pwr( ROC(C,9,$),2) + Pwr(10,2))
/ Sum( Sqr( Pwr( ROC(C,1,$),2) +1), 9),-Sqr( Pwr(
ROC(C,9,$),2) + Pwr( 10,2)) / Sum(Sqr(Pwr(ROC(C,1,$),2)
+1),9)) * 100,5,E)

I use a 80, -80 trendline. I have stuck it in different things at different times. Right now I have it crossing -80 with MACD 4, 35,5, crossing, RSI(9) up one day, and selling pressure down one day.

from Stephen Zodkov
 

21 Day Trigger

Look at these two oscillators in MSWIN, and compare them to Dahl. Put a 21 day EMA on each, think of the 21 day ema as a trigger. See what they tell you -- Dahl is long term, Ian is shortest term.

Raschke Oscillator = Mov(Fml( "Raschke 3-10" ),16,E)
where "Raschke 3-10" = Mov(C,3,S) - Mov(C,10,S)
Ian Oscillator = (Mov(C,4,S)-Mov(C,9,S)) + (Mov(C,9,S)-Mov(C,17,S))

from Alton Stephens


FibboGatto

FG1:
((c+ref(c,-1)+ref(c,-2)+ref(c,-3)+ref(c,-5)+ref(c,-8)+ref(c,-13)+ref(c,-21)+ref(c,-34)+ref(c,-55)+ref(c,-89)+ref(c,-144))/c)*-1

{{{adding closing price only on fib days 1,2,3,5,8,13,21,34,55,89 and 144 and then dividing by today's close}}}

FG2:
mov(((c+ref(c,-1)+ref(c,-2)+ref(c,-3)+ref(c,-5)+ref(c,-8)+ref(c,-13)+ref(c,-21)+ref(c,-34)+ref(c,-55)+ref(c,-89)+ref(c,-144))/c)*-1,34,e)

{{{ 34 period mov avg of above indicator}}}

Look for crosses of the two indicators for positive or negatives.

Now, there are many whipsaws. I don't recommend this as a *system* at all, just as an indicator. It really highlights some big moves but measuring it with the system test is useless. You must use this as ONE of the tools -- not THE tool.

Regards, Jerry Gatto


Dynamic Zones

{Zamansky&Stendahl's Dynamic Zones for MS6.5 (From the TASC July1997 article). First, for the Lookback Periods plot a 9-day RSI along with StDev adjusted rolling 70-day SMAs; e.g., as can be seen in the article's S&P500-example}

PR:=Input("Enter Periods for RSI",1,100,9);
PB:=Input("Enter Periods for BUY",1,100,70);
PS:=Input("Enter Periods for SELL",1,100,70);
UpZone:=Mov(RSI(PR),PS,S)+(1.3185 *Stdev(RSI(PR),PS));
LwZone:=Mov(RSI(PR),PB,S)-(1.3185 *Stdev(RSI(PR),PB));
UpZone;
LwZone;

Most indicators use a fixed zone for buy and sell signals. Here's a concept based on zones that are responsive to past levels of the indicator.

One approach to active investing employs the use of oscillators to exploit tradable market trends. This investing style follows a very simple form of logic: Enter the market only when an oscillator has moved far above or below traditional trading levels. However, these oscillator-driven systems lack the ability to evolve with the market because they use fixed buy and sell zones. Traders typically use one set of buy and sell zones for a bull market and substantially different zones for a bear market. And therein lies the problem.

Once traders begin introducing their market opinions into trading equations, by changing the zones, they negate the system's mechanical nature. The objective is to have a system automatically define its own buy and sell zones and thereby profitably trade in any market -- bull or bear. Dynamic zones offer a solution to the problem of fixed buy and sell zones for any oscillator-driven system.

The algorithm for the dynamic zones is a series of steps. First, decide the value of the lookback period t. Next, decide the value of the probability Pbuy for buy zone and value of the probability Psell for the sell zone.

The area above and below the dynamic zones constitute the upper and lower 10% boundaries. The zones appear to evolve with the market because they use a rolling 70-day period of indicator values in their construction.

 

Dahl Variations

Dahl Volume Trend
Mov(C,55,VOL)-Ref(Mov(C,55,VOL),-15)

PVT Dahl Trend:
Mov((PVT()-Ref( PVT(),-15)),55,E)

Smoothed OBV Vol 88:
Mov((OBV()-Mov(OBV(),88,VOL)),55,E)

OBV Dahl Trend:
Mov((OBV()-Ref(OBV(),-15)),55,E)

Compare each to ordinary Dahl or some other trend indicator. Remember, I put a 21 EMA trigger on each.

from Alton Stephens


Dahl Oscillator


I came up with the following to put Dahl into an oscillator format. It is the STOCHRSI formula, replacing RSI with a 55 day Dahl. Does this reflect your thinking on the indicator? It seems to lead changes in Dahl by a period or two, but doesn't seem as fast as the STOCHRSI indicator. Checking a few stocks in my database, there are very few times that it goes below zero, but it will 'peg out' at 100 for significant periods. Perhaps the 14 day smoothing is too short in relation to the 55 period primary indicator. A longer MA period seems to smooth it out significantly, which would seem to defeat the purpose of using an oscillator.

Mov((mov(c,55,simp) - ref(mov(c,55,simp),-15)- LLV(mov(c,55,simp) - ref(mov(c,55,simp),-15),14))/(HHV(mov(c,55,simp) - ref(mov(c,55,simp),-15),14)-(LLV(mov(c,55,simp) - ref(mov(c,55,simp),-15),14))),14,E)*100

from Jim O'Donnell


Full Formula for RSI


{The following is copied from the Formula Field of my *RSI canonical_12_day_for_P_I indicator. Change m if you choose another # of periods n for rsi.}

{I wrote my own "canonical" RSI(12) which coincides with MetaStock's RSI(12) if m=2*n-1 where m is used below in Mov( ,m,E); n - a number of periods in rsi(n). Mind that since I didn't use those particular tricks from the standard rsi(n) to shorten the initial transitional period, this function and standard rsi(n) differ for about month or so from the day 1. It was not that important for me, so I used this shortcut.}

100 - 100/
(1.+ If(Mov(If(P-Ref(P,-1)<0,-(P-Ref(P,-1)),0),23,E)=0,1000000,

Mov(If(P-Ref(P,-1)>0, P-Ref(P,-1), 0),23,E)
/Mov(If(P-Ref(P,-1)<0,-(P-Ref(P,-1)),0),23,E)
))
From: Vitaly Larichev   vitaly@superlink.com  


2 Day Hammer Exploration

Here is an exploration that pattern traders may find useful. It tends to pick up two patterns: a two day hammer, that is if you combined the open for day 1 and close for day 2, the resulting bar would be a hammer, and a pattern similar to a Ross Hook, as I understand a Ross Hook.

Ref((C-L)/(H-L),-1)<=.30 AND

((C-L)/(H-L)) >= .70 AND

Ref(ATR(1),-1) >ATR(10) AND

ATR(1) >= ATR(10)

from Styk


ATR Trailing Stop Loss

For Long:
HHV(H - 2.5*ATR(5),10)

For Short:
LLV(L + 2.5*ATR(5),10)

Furthermore, it may be beneficial to dynamically adjust the number of lookback periods in the HHV() or the LLV() function.
Yngvi Hardarson


Sine-Weighted Moving Average

Formula:
PI:=3.1415926;
SD:=180/6;
S1:=Sin(1*180/6)*C;
S2:=Sin(2*180/6)*Ref(C,-1);
S3:=Sin(3*180/6)*Ref(C,-2);
S4:=Sin(4*180/6)*Ref(C,-3);
S5:=Sin(5*180/6)*Ref(C,-4);
Num:=S1+S2+S3+S4+S5;
Den:=Sin(SD)+Sin(2*SD)+Sin(3*SD)+Sin(4*SD)+Sin(5*SD);
Num/Den


WRO and WSO Indicators


In the May 1998 issue of STOCKS & COMMODITIES, a Traders' Tip provided
MetaStock formulas for calculating support and resistance levels and the WRO
and WSO support and resistance oscillators. The Traders' Tip was based on my
article, "Automated Support And Resistance," also in that issue. Since then,
I've received many E-mail messages from STOCKS & COMMODITIES readers about
it.
While the method was well received, the formulas provided were a bit
confusing and could use some clarification. Further, execution was slow and
screening of large numbers of stocks was difficult. Since then, I have
developed a faster and improved method for computing these indicators.

To begin, the support levels S1 through S6 and the resistance levels R1
through R6 are separate indicators (12 in all), and each should be entered
using the custom indicator option in the indicator builder.


S1 Indicator:
ValueWhen(1, Ref(L,-4) = LLV(L,9), Ref(L,-4))

S2 Indicator:
ValueWhen(2, Ref(L,-4) = LLV(L,9), Ref(L,-4))

S3 Indicator:
ValueWhen(3, Ref(L,-4) = LLV(L,9), Ref(L,-4))

S4 Indicator:
ValueWhen(4, Ref(L,-4) = LLV(L,9), Ref(L,-4))

S5 Indicator:
ValueWhen(5, Ref(L,-4) = LLV(L,9), Ref(L,-4))

S6 Indicator:
ValueWhen(6, Ref(L,-4) = LLV(L,9), Ref(L,-4))

R1 Indicator:
ValueWhen(1, Ref(H,-4) = HHV(H,9), Ref(H,-4))

R2 Indicator:
ValueWhen(2, Ref(H,-4) = HHV(H,9), Ref(H,-4))

R3 Indicator:
ValueWhen(3, Ref(H,-4) = HHV(H,9), Ref(H,-4))

R4 Indicator:
ValueWhen(4, Ref(H,-4) = HHV(H,9), Ref(H,-4))

R5 Indicator:
ValueWhen(5, Ref(H,-4) = HHV(H,9), Ref(H,-4))

R6 Indicator:
ValueWhen(6, Ref(H,-4) = HHV(H,9), Ref(H,-4))

These 12 indicators should be individually plotted with the price data as
points, not lines (click on each and change the style to the one on the
bottom of the style menu). The color red is recommended for the support
levels S1 through S6 and the color blue for the resistance levels R1 through
R6. Entering these formulas and changing the style takes a bit of time, but
once done, they can be saved as a template and easily applied to another
stock.

If you are interested only in computing the WRO and WSO indicators, then
these formulas can be entered as shown here. It is not necessary to compute
S1 through S6 or R1 through R6, since the new formulas are now
self-contained. The new WRO and WSO formulas also contain max and min
functions to ensure that the change for each level is either zero or 1. This
avoids a rare but occasional error when the price change is very large over
a short period.

WSO Indicator:
L1:=ValueWhen(1,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L2:=ValueWhen(2,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L3:=ValueWhen(3,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L4:=ValueWhen(4,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L5:=ValueWhen(5,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L6:=ValueWhen(6,Ref(L,-4)=LLV(L,9),Ref(L,-4));
L1M:= Max(0,Min(1,Int(L1/C)));
L2M:= Max(0,Min(1,Int(L2/C)));
L3M:= Max(0,Min(1,Int(L3/C)));
L4M:= Max(0,Min(1,Int(L4/C)));
L5M:= Max(0,Min(1,Int(L5/C)));
L6M:= Max(0,Min(1,Int(L6/C)));
100*(1-(L1M+L2M+L3M+L4M+L5M+L6M)/6)

WRO Indicator:
L1:=ValueWhen(1,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L2:=ValueWhen(2,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L3:=ValueWhen(3,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L4:=ValueWhen(4,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L5:=ValueWhen(5,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L6:=ValueWhen(6,Ref(H,-4)=HHV(H,9),Ref(H,-4));
L1M:= Max(0,Min(1,Int(L1/C)));
L2M:= Max(0,Min(1,Int(L2/C)));
L3M:= Max(0,Min(1,Int(L3/C)));
L4M:= Max(0,Min(1,Int(L4/C)));
L5M:= Max(0,Min(1,Int(L5/C)));
L6M:= Max(0,Min(1,Int(L6/C)));
100*(1-(L1M+L2M+L3M+L4M+L5M+L6M)/6)

The WRO and WSO oscillators are generally plotted together on a separate
scale from the price plot. It is helpful to add horizontal lines at zero and
100 on this same scale. Horizontal lines can be added by clicking on the
indicator and selecting "horizontal lines" from the Indicator Properties
menu.

These formulas run much faster (by 40 times) than the earlier formulas, and
theyÕve been tested successfully with both end-of-day data and real-time
data using MetaStock Professional Version 6.51.

-- Mel Widner, Ph.D., 703 791-5910


Gap 1 System

{BUY}
L>Ref(H,-1) OR
Cum(1)=LastValue(Cum(1))

{SELL}
H<Ref(L,-1) OR
Cum(1)=LastValue(Cum(1))


Gap 2 System

{BUY}
N1:=5;
L>Ref(HHV(H,N1),-1) OR
Cum(1)=LastValue(Cum(1))

{SELL}
N1:=5;
H<Ref(LLV(L,N1),-1) OR
Cum(1)=LastValue(Cum(1))


Gap 3 System

{Enter Long}
N1:=5;
L>Ref(HHV(H,N1),-1) OR
Cum(1)=LastValue(Cum(1))

{Exit Long}
N2:=3;
C<Ref(LLV(L,N2),-1) OR
Cum(1)=LastValue(Cum(1))

{Enter Short}
N1:=5;
H<Ref(LLV(L,N1),-1) OR
Cum(1)=LastValue(Cum(1))

{Exit Short}
N2:=3;
C>Ref(HHV(H,N2),-1) OR
Cum(1)=LastValue(Cum(1))

{from Ton Maas}

 

TSI and TSI Moving Average

100*(Mov(Mov(Roc(C,1,$),25,E),13,E)/Mov(Mov(Abs(Roc(c,1,$)),25,E),13,E))

Mov(Fml("TSI"),20,E)

 

RSI Divergence Exploration

{A simple exploration filter formula for finding a bullish divergence
between the RSI and the price is shown below. To find a bearish divergence,
replace > with <. The differences in the trough function was found through
an optimization routine and they may not be the best values for your
application.}

Ref(RSI(14),-1)>Trough(1,RSI(14),.8)
AND
Ref(CLOSE,-1)<Trough(1,CLOSE,.2)

{from Dan in Pocatello, ID}
 

Candle - Hanging Man/Hammer and CCI Trading System

enter long:
(Fml("Candle - Hammer")=1) AND
(CCI(11)<-50)

close long:
((CCI(11)<80) AND
(Ref(CCI(11),-1)>80)) OR
((CCI(11)<-80) AND
Ref(CCI(11)>-80,-1))

enter short:
(Fml("Candle - Hanging Man'")=-1) AND
(CCI(11)>50)

close short:
((CCI(11)>-80) AND
(Ref(CCI(11),-1)<-80)) OR
((CCI(11)<80) AND
Ref(CCI(11)>80,-1))

 

Stix Indicator

Mov((H+L)/2,5,S)-Mov((H+L)/2,35,S)



RSI Divergence

{RSI(9) DIVERGENCE BUY:}
If(RSI(9) >= HHV(RSI(9),19) AND CLOSE <HHV(CLOSE,19), 1,0) OR
If(CLOSE <= LLV(CLOSE,19) AND RSI(9) > LLV(RSI(9),19), 1,0)

{RSI(9) DIVERGENCE SELL:}
If(CLOSE >= HHV(CLOSE,19) AND RSI(9)<HHV(RSI(9),19),1,0) OR
If(RSI(9) <= LLV(RSI(9),19) AND CLOSE > LLV(CLOSE,19),1,0)

{You can substitute any formula for the "RSI(9)"}

{from Mike Arnoldi}


Denvelope (RSI)

pds:=Input("Periods",2,200,14);
sd:=Input("Standard Deviations",.01,10,2);
D1:= RSI(pds);
alpha:=2/(pds+1);
mt:=alpha*D1+(1-alpha)*(If(Cum(1)<pds,D1,PREV));
ut:=alpha*mt+(1-alpha)*(If(Cum(1)<pds,D1,PREV));
dt:=((2-alpha)*mt-ut)/(1-alpha);
mt2:=alpha*Abs(D1-dt)+(1-alpha)*PREV;
ut2:=alpha*mt2+(1-alpha)*PREV;
dt2:=((2-alpha)*mt2-ut2)/(1-alpha);
but:=dt+sd*dt2;
blt:=dt-sd*dt2;
blt;
dt;
but;

{from Adam Hefner
VonHef@email.msn.com }

 

High Low

Len:=Input("Periods",1,400,89);
(Mov((H - L + Abs(H - Ref(C,-1)) + Abs(L - Ref(C,-1)) ),len,E))/2


{ from Bob bjagow@jps.net }


Cyclical System

from Ton Maas ms-irb@wxs.nl

"Trading Stocks With A Cyclical System" by Jeffrey Owen Katz (TASC-Feb1999).
(Translated for MetaStock 6.5 by Ton Maas -The Netherlands - June1999).
----------------------------------------------------------------------------
(The system's original Easy Language formulas+system were derived from
theabove mentioned TASC article). My guess is that Equis (Alan McNichol) was
not in the possession of them when he wrote the Equis version of the system,
back in the Feb99 Trader's Tips section of TASC).

-----------------------
MetaStock 6.5 Indicator
-----------------------
Name:
Cyclical System - J O Katz

Formula:
{TASC Feb99}
thresh:= {omit whipsaw} 4;
k:= {roc comparison period} 3;
m:= {cycle period} 63;
hld:= {maximum period holding position} 10;
Value1:= {volatility}
Stdev(Mov(C,m,S)-Mov(C,m+k,S),20);
Value2:= {roc, relative comparison ratio}
Mov(C,m,S)-Mov(C,m+k,S);
tv1:= thresh*Value1;
EL:={Enter Long} Value2>tv1;
CL:={Close Long} Ref(Cross(Value2,tv1),-hld);
ES:={Enter Short} Value2<tv1;
CS:={Close Short} Ref(Cross(tv1,Value2),-hld);
JKcycl:=If((EL>0)=1,+10,
If((ES>0)=1,-10,0));
JKcycl

---------------------------
MetaStock 6.5 System Tester
---------------------------
Name:
Jeffrey Owen Katz - Cyclical System
Notes:
{February 1999 - TASC-article (see also TRADERS' TIPS)}

Formulas:
{copy-repeat all that is printed below when applying for the right rule}
thresh:= {omit whipsaw} 4;
k:= {roc comparison period} 3;
m:= {cycle period} 63;
hld:= {maximum period holding position} 10;
Value1:= {volatility}
Stdev(Mov(C,m,S)-Mov(C,m+k,S),20);
Value2:= {roc, relative comparison ratio}
Mov(C,m,S)-Mov(C,m+k,S);
tv1:= thresh*Value1;

Rules:
{Enter Long} Value2>tv1
{Close Long} Ref(Cross(Value2,tv1),-hld)
{Enter Short} Value2<tv1
{Close Short} Ref(Cross(tv1,Value2),-hld)

{After entering the formulas, click OK. Then click Options. On the Testing
page, set the Trade Delay to zero, set Positions to "both", and then set any
other desired options (apart from Optimizing, which is not advisable; leave
the factory default settings). Click OK to save the changes, and then open a
chart and run the system.}

 

Body Momentum

{I was reading in Perry Kaufman's latest book and he described a little
oscillator he called "Body Momentum". This simply calculates the momentum of
the closes above the opens versus the closes below the opens. The theory is
that as prices move up, closing prices will be higher than opening prices
and vice-versa for down. If this oscillator is above 70 then the whites
(Candle-sticks) dominate and below 30 the blacks are dominant.}

{I also added a 3 day moving average to the calculation (for smoothing).}

{Here is the code:}

Lb:=Input("Look-Back Period?",3,60,14);
B:=CLOSE - OPEN;
Bup:= Sum(B > 0, Lb);
Bdn:= Sum(B < 0, Lb);
BM:=(Bup/(Bup+Bdn))*100;
Mov(Bm,3,S)

{from Adam Hefner}
 

ST Oscillator

{The StTO is really nothing unique. It is basically a momentum indicator and
plots very similar to the "Chande Momentum Oscillator" with the main
difference being the "StTO" doesn't seem to swing as far as the CMO.
I am not sure how the math is calculated for the CMO, but the (basic) math
for the StTO is: (Close- Yesterday's Close) /
(H-L)}

{Here is the MetaStock code I use:}

{name: StTO}

{Short-term Trend Oscillator}

Lb:=Input("Smoothing Period?",1,60,5);
Num:=C-Ref(C,-1);
Den:=H-L;
Mn:=If(Mov(Num,Lb,S)=0,.01,Mov(Num,Lb,S));
Md:=If(Mov(Den,Lb,S)=0,.01,Mov(Den,Lb,S));
(Mn/Md)*100

{Adam Hefner}


CCI Spike Trading System

{This system uses the momentum Commodity Channel Index (CCI) indicator to
find short-term bottoms in the market. The CCI indicator is extremely
volatile and is generally difficult to use when trading the S&P 500 Index.
We, however, have turned this volatility into a trading advantage by using
the spread or gap between the CCI index and its moving average as a reversal
signal. Specifically if the gap is larger then a certain percentage and CCI
indicator crosses above its moving average we buy the market. The system
remains in the market for a short period of time, exiting the trade as the
indicators cross to the downside. As designed, this system only trades long
the market; it can however be altered to short the market. It is best used
in choppy bullish markets similar to the 1995 bull market.}

{Trading Tactics: This short-term bullish trading system exploits over
extended markets. Futures, options, and mutual fund traders should take full
advantage of this high probability trading system, either by taking outright
positions or avoiding declining markets. The code for this system can be
reversed to trade short positions. This system should be used in place of
longer-term momentum systems in strong bullish choppy type markets. This
system rarely exits at the market intermediate peak, so other exiting
signals may be used in place of our indicator crossover technique.}

{Enter long:}

Ref(CCI(13)/(Mov(CCI(13),3,S)),-1)>1.5 AND
Cross(CCI(13),(Mov(CCI(13),3,S))) AND
Ref(CCI(13),-1)<-25

{Exit long:}

Cross((Mov(CCI(13),3,S)),CCI(13)) AND
Ref(CCI(13),-1)>200

{from Craig Monroe}
 

LookBack

Formula: X := Stdev(C, 30);
Y := Ref(X, -1);
Z := 1+((X-Y)/X);
If(Cum(1)=1, 20, Min(Max(Prev*Z, 20), 60))

Name: BuyBreak
Formula: HHV(H, LastValue(Fml("LookBack")+Prev-Prev))

Name: BuyExit
Formula: LLV(L, LastValue(Fml("LookBack")/2+Prev-Prev))

Name: SellBreak
Formula: LLV(L, LastValue(Fml("LookBack")+Prev-Prev))

Name: SellExit
Formula: HHV(H, LastValue(Fml("LookBack")/2+Prev-Prev))

Name: BreakWhere
Formula: TopB := Ref(Fml("BuyBreak"), -1);
LowB := Ref(Fml("SellBreak"), -1);
((O+H+L+C)/4 - LowB)*100/(TopB-LowB);

Name: DBS-System
Enter Long: H > Ref(Fml("BuyBreak"), -1)
Close Long: L < Ref(Fml("BuyExit"), -1)
Enter Short: L < Ref(Fml("SellBreak"), -1)
Close Short: H > Ref(Fml("SellExit"), -1)

This is George Pruitt's ("Futures Truth") basic system. It is also the basic
system used as the basis for Thomas Stridsman's year-long series of articles
about system development and tweaking.
 

Stochastic Momentum

SMI-Plex:=
StochMomentum(2,1,2)+StochMomentum(3,2,1)+StochMomentum(4,2,3)+StochMomentum
(5,3,5)+StochMomentum(8,21,13)+StochMomentum(13,25,2)

SMI13E-Plex:=
Mov(StochMomentum(2,1,2)+StochMomentum(3,2,1)+StochMomentum(4,2,3)+StochMome
ntum(5,3,5)+StochMomentum(8,21,13)+StochMomentum(13,25,2),13,E)

{from Craig DeHaan}
 

BradCCI

BradCCI: From Bill S.

Plot 1: BradCCI Line 1: (((H+L+C)/3)-Mov(C,28,S))/(.015*Std(C,28))

Plot 2: BradCCI Line 2: Std(((h+l+c)/3),28)

To Line 1, you can also add trend lines, if you wish:

Plot 1:

1. BradCCI Line 1: (((H+L+C)/3)-Mov(C,28,S))/(.015*Std(C,28))
2. trend(100,100)
3. trend(-100,-100)
4. trend(0,0)

 

McClellan Oscillator

rev. 01/06/97
The McClellan Oscillator, developed by Sherman and Marian McClellan, is a
market breadth indicator that is based on the smoothed difference between
the number of advancing and declining issues on the New York Stock Exchange.
The McClellan Oscillator is one of the most popular breadth indicators. Buy
signals are typically generated when the McClellan Oscillator falls into the
oversold area of -70 to -100 and turns up. Sell signals are generated when
the oscillator rises into the overbought area of +70 to +100 and then turns
down.
Extensive coverage of the McClellan Oscillator is provided in their book
Patterns for Profit .

To plot the McClellan Oscillator, create a composite security in The
DownLoader™ of Advancing Issues minus Declining Issues. Open a chart of the
composite in MetaStock™ and plot this custom indicator.

Mov(CLOSE,19,EXPONENTIAL) - Mov(CLOSE,39,EXPONENTIAL)



McClellan Summation Index

rev. 01/06/97
The McClellan Summation Index is a market breadth indicator developed by
Sherman and Marian McClellan. It is a long-term version of the McClellan
Oscillator and its interpretation is similar to that of the McClellan
Oscillator except that it is more suited to major trend reversals.

For more extensive coverage of the index refer to the book Patterns for
Profit, by Sherman and
Marian McClellan.

McClellan suggests the following rules for use with the summation Index:

Look for major bottoms when the Summation Index falls below -1300.

Look for major tops to occur when a divergence with the market occurs above
a Summation Index level of +1600.

The beginning of a significant bull market is indicated when the Summation
Index crosses above +1900 after moving upward more than 3600 points from its
prior low (e.g. the index moves from -1600 to +2000).

The summation index is plotted by adding the Cum function to the McCllellan
Oscillator. The formula is Cum(Mov(C,19,E) - Mov(C,39,E)).

 

Jack Landis' Weighted Stochastic
(shortened to Landis)


((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16)+(S
toch(21,5)*.10))

Landis 3 week s m a
mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16
)+(Stoch(21,5)*.10)),15,s)

landis multiple time periods
formula #1
mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16
)+(Stoch(21,5)*.10)),15,s)
formula #2
mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16
)+(Stoch(21,5)*.10)),10,s)
formula #3
mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16
)+(Stoch(21,5)*.10)),5,s)
formula #4
mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,8)*.16
)+(Stoch(21,5)*.10)),2,s)


multiple slopes of landis
formula #1
slope(mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,
8)*.16)+(Stoch(21,5)*.10)),15,s),2)
formula #2
slope(mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,
8)*.16)+(Stoch(21,5)*.10)),10,s),2)
formula #3
slope(mov(((Stoch(8,3)*.05)+(Stoch(89,21)*.43)+(Stoch(55,13)*.26)+(Stoch(34,
8)*.16)+(Stoch(21,5)*.10)),5,s),2)

 

Barnes' Accelleration

The Barnes' Acceleration measures rate of price change as opposed to price
levels

If the Barnes' Acceleration sustains the value of -1 for many days then the
security may be ready to show strong trend or it may already be trending.
Examine the chart for prolonged values at -1. This may indicate an upcoming
stall or turnaround. The number of days needed may be different depending on
the type of issue. A utility stock may need to sustain the -1 level for 10
days whereas a highly volatile technology stock may need to sustain the -1
trend for as little as 5 days.

From the 1981 Technical Commodity Yearbook, Robert M. Barnes
formula 1: if(mov(fml("Barnes' acceleration",2) - ref(fml("Barnes'
acceleration",2),-1),20,e)>0.0001,1, if(mov(fml("Barnes' acceleration",2) -
ref(fml("Barnes'
acceleration",2),-1),20,e)<-0.0001,-1,0))
formula 2: mov((c-ref(c,-1))/ref(c,-1),daysm,e)


Barnes' Adaptive Forecast

Based on the premise that closing price may be predictable based on previous
closes

See (1981 Technical Commodity Yearbook Robert M. Barnes Van Nostrand
Reinhold 1981) for theory and applications.

formula 1: if(fml("Barnes' adaptive forecast",2)>0.05,1,if(fml("Barnes'
adaptive forecast",2)<-0.05,-1,0))
formula 2: mov(c,dayf,e) - ref(mov(c,dayf,e),-1)

 

Barnes' Moving Average

See (1981 Technical Commodity Yearbook Robert M. Barnes Van Nostrand
Reinhold 1981) for theory and applications.

if (c - mov( c, dayf, e) > pf,
{ Then Action } 1,
{ Else Action } if ( mov( c, dayf, e) - c > pf, { Then } -1, { Else } 0))

{ Notice that comments may be placed within braces }

 

Chande and Kroll's R2 Indicator

rev. 01/06/97

In their book "The New Technical Trader," Chande & Kroll introduce the r2
indicator. They state that
"the primary use of r2 is as a confirming indicator" and that "it is a
lagging indicator that shows
the strength of the trend."

In MetaStock the r2 formula is:

Pwr(Corr(Cum( 1 ),C,14,0),2)

They also present a smoothed r2 which would be:

Mov(Pwr(Corr(Cum( 1 ),C,14,0),2)*100,14,S)

For interpretation refer to Chande & Kroll's book, as stated above.
 

Price Action Indicator (PAIN)

If you were only given today's open, high, low and
close, how could you make heads or tails of it?
The Price Action Indicator (PAIN) can help. The formula
returns a single value that weighs
intra-day momentum (C-O), Late Selling Pressure (LSP)
(C-L), and Late Buying Pressure
(LBP) (C-H). The formula is proven by constructing ideal
limit-up and limit down scenarios in bond
futures. The output is shown to be consistent with the
interpretation of Japanese candlestick
patterns. See Michael B. Geraty (1997). "Getting Better
Directions" Futures Vol. 26: Aug.

PAIN

((C-O)+(C-H)+(C-L))/2
 

Natenberg's Volatility

rev. 01/21/97

Historical volatility is defined by Sheldon Natenberg, as the standard
deviation of the logarithmic
price changes measured at regular intervals of time. In Mr. Natenberg's
book, "Option Volatility &
Pricing," he covers volatility in detail and gives the formula for computing
historical volatility. In
MetaStock, the equivalent formula would be:

Std( Log( C / Ref( C ,-1 ) ) ,10 ) * Sqrt( 365 / 7 )

The above assumes Weekly Data. To utilise this with Daily Data, the
MetaStock formula would be:

Std( Log( C / Ref( C,-1) ),10 ) * Sqrt( 365 )


For further interpretation refer to the book "Option Volatility & Pricing,"
by Sheldon Natenberg.


Nat's Volt
Std(log(c/ref(c,-1)),10)*sqr(365/7)

 

Tema StochRSI Formula

I use is Tema smoothed and I subtract 0.5 so I
can plot it as a histogram. It's:}

Periods := Input("Enter Tema Smoothing Periods",5,233,13);
Tema(((RSI(Periods) - LLV(RSI(Periods),Periods)) /
((0.0001+HHV(RSI(Periods),Periods)) -
LLV(RSI(Periods),Periods))) -0.5,Periods)

{from Jim Greening}

 

DEVSTOP

Here's what I think a DEVSTOP is in MetaStock language, described in Kase's
"Trading with the Odds", and better described in Kaufman's "Trading Systems
and Methods". It uses a 2-day range, calculates an average range and SD of
the range, and then draws 4 lines below the high, at 1 range and 0,1,2, and
3 SD's. "2.2" and "3.6" are corrections for skew of the distribution.

AVTR:=Mov(HHV(H,2) - LLV(L,2),20, S);
SD:=Stdev(HHV(H,2) - LLV(L,2),20);
HHV(H-AVTR-3.6*SD, 20);
HHV(H-AVTR-2.2*SD,20);
HHV(H-AVTR-SD,20);
HHV(H-AVTR,20);

from Mikelu


Weekly Pivot Point

{Weekly Pivot Point Projection 8/4/99}

Dw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
{Weekly Typical Price}
PP1:=If(Dw=1,
{then}(Ref(HighestSince(1,Dw=1,H),-1)+
Ref(LowestSince(1,Dw=1,L),-1) +
Ref(C,-1))/3,
{else}0);
{Weekly High}
Wh1:=If(Dw=1,
{then}Ref(HighestSince(1,Dw=1,H),-1),
{else}0);
{Weekly Low}
Wl1:=If(Dw=1,
{then}Ref(LowestSince(1,Dw=1,L),-1),
{else}0);
Wh:=ValueWhen(1,Wh1>0,Wh1);
Wl:=ValueWhen(1,Wl1>0,Wl1);
PP:=ValueWhen(1,PP1>0,PP1);
{Resistance 1}
R1:=(2*PP)-Wl;
{Support 1}
S1:=(2*PP)-Wh;
{Resistance 2}
R2:=(PP-S1)+R1;
{Support 2}
S2:=PP-(R1-S1);
R2;
R1;
S1;
S2;


ATR Modified

prd1:=input("enter ATR period",1,9999,7);
prd2:=(prd1*2)-1;
{max (absolute) of yesterday's close to today's high or today's low}
myatr1:=Max(Abs(Ref(C,-1)-H),Abs(Ref(C,-1)-L));
{max of yesterday's close to today's high or today's low or today's range}
myatr2:=Max(myatr1,H-L);

 

Highest High Since Buy Signal

> Anyone know how to keep track of, for example, the highest high since a
buy signal was triggered? I want to > add this into a system test that I am
trying to run.

HighestSince(1, {Buy Signal-->}Cross(C,Mov(C,20,E))
,H)

from Ken


Forecast Oscillator System Alternative

Enter long:
Cross(ForecastOsc(C,21),Mov(ForecastOsc(C,21),3,E)) AND
Cross(ForecastOsc(C,21),0)

Exit long:
Cross(Mov(ForecastOsc(C,21),3,E),ForecastOsc(C,21)) AND
Cross(6,ForecastOsc(C,21))

{You can use alert() function on either if you don't require both conditions
to fire on the same day.}

 

Forecast Oscillator System

Enter long:
Cross(ForecastOsc(C,21),Mov(C,3,E)) AND
Cross(ForecastOsc(C,21),0)

Exit long:
Cross(Mov(C,3,E),ForecastOsc(C,21)) AND
Cross(6,Mov(C,3,E))


Equivalent to Wilders TR

Wilders(TR,periods) = Mov(TR,2*periods-1,E)


True Range Formula


TR = (H - L + Abs(H - Ref(C,-1)) + Abs(L - Ref(C,-1)) )/2

{from Bob Jagow}