Page 5                                                      

Forecast Oscillator

Many moons ago, I posted a little linear regression system that featured
the Forecast Oscillator. The response was surprising (lots of it) and
today, I still communicate with many of the original respondents. I've
continued to use the same "framework" for my testing. In an earlier post
today (a private email that made it to the list...I'm a little dingy
tonight...had to get up a 5 am to trade cocoa), I alluded to using the CMO.
I've used many indicators in these tests (i.e., Forecast Oscillator, a
modified Time Series Forecast, MACD Histogram, Bollinger Band Histogram,
CMO, & others).

Before I explain the method to my madness, please read the following
sentences carefully. Backtesting systems is very dangerous. The act of
backtesting is not the dangerous part...believing that the results can be
duplicated in the future is very dangerous. Let's face it, we are "best
fitting" circumstances to static prices etched in stone. So please, I'd
prefer not to hear the lectures about the folly I pursue. I've been system
testing since 1975 and I've made a bazillion mistakes (and a little chump
change) over the years. I'm still looking for the holy grail. So, here's
the outline:

1. The basic formula:

Enter Long:
Cross(opt1,ForecastOsc(CLOSE,opt3))

Close Long:
Cross(ForecastOsc(CLOSE,opt3),opt2)

Enter Short:
Cross(ForecastOsc(CLOSE,opt3),opt2)

Close Short:
Cross(opt1,ForecastOsc(CLOSE,opt3))

You can substitute any standard formula for the ForecastOsc or you can put
in a custom formula (just remember that custom formulae need to look like:
fml("Karnack's SuperSecret") It's in your manual.

2. opt3:

In this search "opt3" represents the number of days inserted into the
forecast oscillator. I usually use three (3) to ten (10) for the forecast
oscillator, but if I'm using a custom formula, sometimes I don't even need
opt3, because I using a fixed set of parameters within the custom formula.

3. opt1:

Opt1 is the numeric value below a zero basis line that will trigger a long
position and close out the short. Yes Virginia, in my secular little
world, I prefer stop and reverse trading. The parameters for this option
depends on the commodity (and yes, it does work on stocks) you're trading.
One must eyeball the forecast oscillator to see how far it swings above and
below zero. For the forecast oscillator, I usually use 0 to -3.

4. opt2:

Opt2 is the numeric value above a zero basis line that will trigger a short
sale. Zero to 3 seems to work for this formula.

5. Steps:

I step opt3 using whole numbers to represent days. With Opt1 and Opt2, I
use: .1 steps.

6. Other indicators:

When substituting the CMO (or any indicator) for the Forecast Oscillator,
one must be aware of the terrain the indicator travels over. It would be
ridiculous to us zero to 3 (as the optimizing numbers) if the mid point is
50 and the indicator traverses between +10 (on the downside) and +90 (on
the upside).

The overall theory behind this test is that many indicator oscillate from
positive to negative and back again (duh). The trick is not to trigger
action when the indicator turns in a new direction (if you're interested,
I've been down that road and I'm still wearing a neck brace from the
whiplash). The theory is that once an indicator extends to a certain
level, the market is either overbought or oversold.

In downtrending markets (can you spell deflation?), the short sale trigger
(opt2) is going to be closer to the zero basis line than opt1. Please see
the attachment. What will happen when the grains, cocoa, crude, and damn
near everything else starts to go up? Good question Steve! The system
will not perform as well if you continue to use the same parameters. In a
perfectly sideways market, one would assume that the trigger points would
be equal distance from zero. As in many markets, this system works better
when things trend indefinitely.

I hope this post will help others who have inquired about the linear
regression system. Attached is the original system, using the Forecast
Oscillator, for March Crude Oil. In this example, opt3 is set to 8 (number
of days in the forecast oscillator); opt2 is .1 (sell signal); opt1 is -2.3
(buy signal).

To quote R.N. Elliot: "Even though we many not understand the cause
underlying a particular phenomenon, we can, by observation, predict the
phenomenon's recurrence."

To qoute Karnack (my alter ego): "I got knocked down seven times and got
up eight".

Finally, from a trader on the realtraders forum: "Futures trading involves
financial risk, lots of it".

Sweet dreams,

Steve Karnish
CCT
 

Alligator Indicators

Following are the Bill William's Alligator indicators I put together.
Please read his book "Trading Chaos" and pick up a demo of his
"Investor's Dream" software from his web site to see how they are used.

Hope you find them useful.

originally from Gary Randall -- Brunswick, Maine, U.S.A.
----------------------------------------------

Chaos Blue BL
{Alligator Blue Balance Line - Jaw }
{13 bar smoothed average offset 8 bars }

Ref(Wilders(MP(),13),-8);

----------------------------------------------

Chaos Red BL
{Alligator Red Balance Line - Teeth }
{8 bar smoothed average offset 5 bars }

Ref(Wilders(MP(),8),-5);

----------------------------------------------

Chaos Green BL
{Alligator Green Balance Line - Lip }
{5 bar smoothed average offset 3 bars }

Ref(Wilders(MP(),5),-3);

----------------------------------------------

Chaos Gator
{ Chaos Alligator }
{ Plot as histogram }

green := Fml("Chaos Green");
red := Fml("Chaos Red");
blue := Fml("Chaos Blue");

If(green > red AND red > blue, green - blue,
If(blue > red AND red > green, green - blue,
0));


----------------------------------------------

Chaos AO
{ Chaos Awsome Oscillator - measures momentum }
( A very close approximation of MFI }
{ Plot as histogram }

Mov(MP(),5,S) - Mov(MP(),34,S);

----------------------------------------------

Chaos AO Signal Line
{ Chaos Awsome Oscillator Signal Line }
{ Plot as line over AO histogram }

Mov(Mov(MP(),5,S) - Mov(MP(),34,S),5,S)

----------------------------------------------

Chaos AC
{ Chaos Accelerator/Decelerator Oscillator }
{ Measures acceleration }
{ Plot as histogram }

Fml("Chaos AO") - Mov(Fml("Chaos AO"),5,S);

----------------------------------------------

Chaos Fractal
{ Chaos Fractal (simple version +1=Up, -1=Dn) }


High1 := Ref(HIGH,-2);
High2 := Ref(HIGH,-1);
High3 := Ref(HIGH,0);
High4 := Ref(HIGH,1);
High5 := Ref(HIGH,2);
Low1 := Ref(LOW,-2);
Low2 := Ref(LOW,-1);
Low3 := Ref(LOW,0);
Low4 := Ref(LOW,1);
Low5 := Ref(LOW,2);
Fractal :=
If((High3 > High1) AND (High3 > High2) AND (High3 > High4) AND (High3 >
High5), +1,0);

Fractal :=
If((Low3 < Low1) AND (Low3 < Low2) AND
(Low3 < Low4) AND (Low3 < Low5),
If(Fractal > 0, 0, -1), Fractal);

Fractal;
 

Final Plot

{from Richard Estes}
Fml ( "Final Plot" ) =

If (BarsSince ( Fml ( "Downtrend" )) < BarsSince ( Fml ( "Uptrend" )),
{ then } Ref ( HHV (H,4), -1 ), { else } Ref (LLV (L,4) ,-1 ))

where........

Fml ( "Downtrend" ) =

Peak(1, If (L<Ref(LLV(L,4),-1) , Ref(HHV(H,4),-1), 0), 1) <>
Ref(Peak(1, If (L<Ref(LLV(L,4),-1) , Ref(HHV(H,4), -1), 0), 1)

and......

Fml ( "Uptrend" ) =

Peak(1, If (H>Ref(HHV(H,4),-1), Ref(LLV(L,4), -1), 0), 1) <>
Ref(Peak(1, If (H>Ref(HHV(H,4),-1), Ref(LLV(L,4), -1), 0), 1)


Binary Wave System Test for Metastock

{created by Jim Greening}

The basic idea behind a MetaStock binary wave is to use "if" statements on several MetaStock indicators and have them return plus one for a bullish indication, minus one for a bearish indication, and zero for a neutral condition. Then you add them all up for your binary wave indicator. I decided to format all my indicators so they could be plotted as a histogram. For these indicators plotting as histograms, positive is bullish and negative is bearish. To cut down on whipsaws, I decided that over +5 would be bullish, under -13 would be bearish and anything in between would be neutral. Therefore my binary wave formulas are:
BW2 Demand Index
If(Tema(DI(),21) > 5,+1,If(Tema(DI(),21) < -13,-1,0))
BW3 Linear Regression Slope
If(Tema(10000*LinRegSlope(C,34)/C,34) > 5,+1,
If(Tema(10000*LinRegSlope(C,34)/C,34) < -13,-1,0))
BW4 CCI
If(Tema(CCI(21),21) > 5,+1, If(Tema(CCI(21),21) < -13,-
1,0))
BW5 ROC
If(Tema(ROC(C,21,%),21) > 2,+1,If(Tema(ROC(C,21,%),21) <
-2,-1,0))
BW6 Money Flow
If(Tema(MFI(21),21)-50 > 5,+1,If(Tema(MFI(21),21)-50
< -5,-1,0))
BW7 CMO
If(Tema(CMO(C,21),21) > 5,+1,If(Tema(CMO(C,21),21)
< -5,-1,0))
BW8 VAR ma
If(Mov(C,21,VAR) > Mov(C,55,VAR) AND
HHV(Mov(C,233,VAR),5) =
HHV(Mov(C,233,VAR),13),+1,If(Mov(C,21,VAR) <
Mov(C,55,VAR) AND LLV(Mov(C,233,VAR),5) =
LLV(Mov(C,233,VAR),13),-1,0))
The next formula just adds up the binary wave.
BW Add
Fml("BW2") + Fml("BW3") + Fml("BW4") + Fml("BW5") +
Fml("BW6") + Fml("BW7") + Fml("BW8")
Next, I decided to do something a little different. Since the whole purpose of this test is to catch a trending stock, I decided to add an amplifier that would get larger as the trend got stronger. Since I like Fibonacci numbers, I decided to use Rsquared as a measure of trend strength and base my amplifier on Fibonacci numbers. The formula I finally came up with after a lot of tinkering follows.
BW Amplifier
If(RSquared(C,21) > 0.8,5,If(RSquared(C,21) >
0.6,3,If(RSquared(C,21) > 0.4,2,
If(RSquared(C,21)>0.2,1,0.5))))
The last step in constructing the binary wave was to decide on the smoothing and put it all together. Of course, I used tema smoothing.
Tema Binary Wave Composite
Periods := Input("Enter Tema Smoothing
Periods",8,233,21);
Tema(Fml("BW Add")*Fml("BW Amplifier"),Periods)

The final step is to come up with a system test for the Tema Binary Wave Composite. Remember, the binary wave is just made up of a bunch of technical indicators that I give a +1 value when bullish, 0 when neutral, and -1 when bearish. Then they are summed and smoothed. So in general a positive value is bullish and a negative value is bearish. Also a rising number is bullish and a falling number is bearish. Therefore you could use a zero crossover to the upside as a buy signal and a crossover to the downside as a sell signal. If you had a good algorithm, you could also use a rise from a negative peak (or trough) as a buy signal and a fall from a positive peak as a sell signal. I decided to use a 8 day moving average of the BW with a crossover of the BW for my algorithm in an attempt to get an early signal on a rise from a negative peak. It does have the disadvantage of finding way too many peaks so I only use it as an Alert. For confirmation I use the QStick function and a variable moving average function.
QStick was developed by Chande as a way to quantify candlesticks. Since the difference between the open and close prices lies at the heart of candlestick charting, QStick is simply a moving average of that difference. Negative values of QStick correlate to black candlesticks, positive values to white candlesticks. Since in general black candles are bearish and white candles are bullish, this indicator can also be plotted as a histogram and interpreted the same was as the Binary Wave. The formula is:
Periods := Input("Enter Periods",1,233,34);
Tema(Qstick(Periods),Periods)
Now to get my open long signal I use the ALERT signal with an 8 day vma BW crossover of the BW. Then to actually get the signal, I have to have both the QStick rising and the 21 day vma greater then the 55 day vma.

Therefore my buy signal became:
Enter Long
Alert(Cross(Fml("Tema Binary Wave Comp"),
Mov(Fml("Tema Binary Wave Comp"),8,S)),21) AND
HHV(Tema(Qstick(34),34),5) = HHV(Tema(Qstick(34),34),13) AND
Mov(H,21,VAR) > Mov(H,55,VAR)

Since the market has an upward bias, I wanted my sell signal to be more restrictive. Therefore instead of trying to catch a fall from a positive peak as my sell alert, I wanted a crossover of an optimized negative number. I still used QStick and vma to confirm and also added that the close should be lower than yesterdays low.

Therefore, my sell signal became:
Enter Short
Alert(Cross(-opt2,Fml("Tema Binary Wave Comp")),8) AND
Tema(Qstick(34),34) < -0.1 AND
C < Ref(L,-1) AND
Mov(L,21,VAR) < Mov(L,55,VAR)

Then I wanted exit conditions that were less then full signal reversals. I decided that the BW being less than a negative number would be my primary close long signal, but I also wanted confirmation from other indicators. After a lot of trial and error I used the following:

Close Long
Fml("Tema Binary Wave Comp") < -opt1 AND
Tema(Qstick(34),34) < 0 AND
LLV(Mov(L,21,VAR),5) = LLV(Mov(L,21,VAR),13)

Close Short
Fml("Tema Binary Wave Comp") > 0 AND
Tema(Qstick(34),34) > 0.08

Finally I also used Fibonacci numbers for my optimization:
Opt 1: Min 3, Max 13, Step 5
Opt 2: Min 3, Max 13, Step 5
 

Signal Formulas

MetaStock for Windows System Tester
01_R2/Regress Slope/MFI/TSF - (Vol Rqd)

---------------
Enter Long:
Alert(RSquared(C,21) < 0.15,21) AND
LinRegSlope(C,34) > opt1 AND
HHV(LinRegSlope(C,34),5) =
HHV(LinRegSlope(C,34),13) AND
HHV(MFI(55),5) = HHV(MFI(55),13) AND
HHV(TSF(C,55),5) = HHV(TSF(C,55),13)
Close Long:
LLV(TSF(C,55),5) = LLV(TSF(C,55),13) AND
LinRegSlope(C,34) < opt1
Enter Short:
Alert(RSquared(C,21) < 0.15,13) AND
LinRegSlope(C,34) < opt2 AND
LLV(LinRegSlope(C,34),5) =
LLV(LinRegSlope(C,34),13) AND
LLV(MFI(55),5) = LLV(MFI(55),13) AND
LLV(TSF(C,144),5) = LLV(TSF(C,144),13)
Close Short:
HHV(TSF(C,144),5) = HHV(TSF(C,144),13)
OPTIMIZATION VARIABLES
----------------------
OPT1: Min = -0.10 Max = 0.00 Step = 0.10
OPT2: Min = -0.20 Max = 0.00 Step = 0.10
STOPS ALL OFF
------------------------------------------------------------
02_R2/Regress Slope/CMO - All
SIGNAL FORMULAS
---------------
Enter Long:
Alert(RSquared(C,21) < 0.15,21) AND
LinRegSlope(C,34) > opt1 AND
HHV(LinRegSlope(C,34),5) =
HHV(LinRegSlope(C,34),13) AND
CMO(C,55) > 0 AND
C = HHV(C,5)
Close Long:
LinRegSlope(C,34) < opt1 AND
CMO(C,55) < 0 AND
C = LLV(C,5)
Enter Short:
Alert(RSquared(C,21) < 0.15,13) AND
LinRegSlope(C,34) < opt2 AND
LLV(LinRegSlope(C,34),5) =
LLV(LinRegSlope(C,34),13) AND
CMO(C,55) < 0 AND
C = LLV(C,5)
Close Short:
LinRegSlope(C,34) > opt2 AND
CMO(C,55) > 0 AND
C = HHV(C,5)
OPTIMIZATION VARIABLES
----------------------
OPT1: Min = -0.10 Max = 0.00 Step = 0.10
OPT2: Min = -0.20 Max = 0.00 Step = 0.10

STOPS ALL OFF
------------------------------------------------------------
03_R2/Regress Slope/Qstick - (OHLC Rqd)
SIGNAL FORMULAS
---------------
Enter Long:
Alert(RSquared(C,21) < 0.15,21) AND
LinRegSlope(C,34) > opt1 AND
HHV(LinRegSlope(C,34),5) =
HHV(LinRegSlope(C,34),13) AND
Qstick(55) > opt1 AND
HHV(Qstick(55),5) = HHV(Qstick(55),13)
AND C=HHV(C,5)
Close Long:
LinRegSlope(C,34) < opt1 AND
Qstick(55) < opt1 AND
C = LLV(C,5)
Enter Short:
Alert(RSquared(C,21) < 0.15,13) AND
LinRegSlope(C,34) < opt2 AND
LLV(LinRegSlope(C,34),5) =
LLV(LinRegSlope(C,34),13) AND
Qstick(55) < opt2 AND
LLV(Qstick(55),5) = LLV(Qstick(55),13)
AND C = LLV(C,5)
Close Short:
LinRegSlope(C,34) > opt2 AND
Qstick(55) > opt2 AND
C = HHV(C,5)

OPTIMIZATION VARIABLES
----------------------
OPT1: Min = -0.10 Max = 0.00 Step = 0.10
OPT2: Min = -0.10 Max = 0.00 Step = 0.10

STOPS ALL OFF
------------------------------------------------------------
04_R2/Regress Slope/CCI/TSF - All
SIGNAL FORMULAS
---------------
Enter Long:
Alert(RSquared(C,21) < 0.15,21) AND
LinRegSlope(C,34) > opt1 AND
HHV(LinRegSlope(C,34),5) =
HHV(LinRegSlope(C,34),13) AND
HHV(CCI(55),5) = HHV(CCI(55),13) AND
CCI(55) > 0 AND
HHV(TSF(C,55),5) = HHV(TSF(C,55),13)
AND C = HHV(C,5)
Close Long:
LLV(TSF(C,55),5) = LLV(TSF(C,55),13) AND
LinRegSlope(C,34) < opt1 AND
CCI(55) < 0 AND
C = LLV(C,5)
Enter Short:
Alert(RSquared(C,21) < 0.15,13) AND
LinRegSlope(C,34) < opt2 AND
LLV(LinRegSlope(C,34),5) =
LLV(LinRegSlope(C,34),13) AND
LLV(CCI(55),5) = LLV(CCI(55),13) AND
LLV(TSF(C,144),5) = LLV(TSF(C,144),13)
AND C = LLV(C,5)
Close Short:
HHV(TSF(C,144),5) = HHV(TSF(C,144),13) AND
C = HHV(C,5)
OPTIMIZATION VARIABLES
----------------------
OPT1: Min = -0.10 Max = 0.00 Step = 0.10
OPT2: Min = -0.20 Max = 0.00 Step = 0.10

STOPS ALL OFF


{from "Jim Greening" JimGinVA@msn.com}

 

Shark Pattern

Symmetry:=.28;
Apex:=(H+L)/2;
WB:=Ref(H,-2)-Ref(L,-2);

If((H<Ref(H,-1) AND L>Ref(L,-1) AND Ref(H,-1)<Ref(H,-2) AND
Ref(L,-1)>Ref(L,-2)),
If(apex <= (Ref(H,-2)-(WB*Symmetry)) AND Apex >=
(Ref(L,-2)+(WB*Symmetry)) ,1,0),0);


{simply place the above in the filter section}

 

Short term horizontal trading ranges

exploration by Jim Greening

HHV(C,21) < 1.1*Mov(C,21,S) AND
LLV(C,21) > 0.9*Mov(C,21,S)

{place the formulas above in the filter section; nothing else is required}

 

Pring's Daily KST Buy

Notes: KST BUY SIGNAL FROM BELOW ZERO

ColA:
Name: Close
CLOSE
ColB:
Name: KST
(Mov(ROC(C,10,%),10,S)*1)+(Mov(ROC(C,15,%),10,S)*2)+
(Mov(ROC(C,20,%),10,S)*3)+(Mov(ROC(C,30,%),15,S)*4)
ColC:
Name: KST MA
Mov((Mov(ROC(C,10,%),10,S)*1)+(Mov(ROC(C,15,%),10,S)*2)+
(Mov(ROC(C,20,%),10,S)*3)+(Mov(ROC(C,30,%),15,S)*4),10,S)
ColD:
Name: KST-1
Ref( (Mov(ROC(C,10,%),10,S)*1)+(Mov(ROC(C,15,%),10,S)*2)+
(Mov(ROC(C,20,%),10,S)*3)+(Mov(ROC(C,30,%),15,S)*4),-1)
ColE:
Name: MA KST-1
Ref(Mov((Mov(ROC(C,10,%),10,S)*1)+(Mov(ROC(C,15,%),10,S)*2)+
(Mov(ROC(C,20,%),10,S)*3)+(Mov(ROC(C,30,%),15,S)*4),10,S),-1)
Filter:
When(colB,>,colC)AND When(colB,<,0)AND When( colD,<,colE)

 

John Hunt's Exploration for Metastock

Place in FILTER section of Exploration.
No other information need be entered in the Exploration columns.}

When(C-Mov(C,25,S),>,0) AND
When(Ref(C-Mov(C,25,S),-1),<=,0) AND
When(HHV(Mov(Ref(C-Mov(C,25,S),-1),3,S),19),<=,0) AND
When(C,<,0.8*HHV(C,260))

{This means: when today's (close - moving average) > 0, when yesterday's (close - moving average) <= 0, when highest value of 3 day moving average of yesterday's (close - moving average) over past 19 days <= 0, and finally, when today's close < 80% of highest value of all closes for past year. (The third test is to eliminate past false breakouts.)}



Dunn-Type 1

{Market swing is defined as:
Up = higher highs and higher lows,
Down = lower highs and lower lows.}

TD1:=If(BarsSince(H>Ref(H,-1) AND L>Ref(L,-1)) <
BarsSince(L<Ref(L,-1) AND H<Ref(H,-1)),
{then}1,
{else}-1);
TD1



Dunn-Type 2

{Market swing is defined as:
Up = 2 higher highs and 2 higher lows,
Down = 2 lower highs and 2 lower lows.}
TD1:=If(BarsSince((H>Ref(H,-1) AND L>Ref(L,-1))
AND (Ref(H,-1)>Ref(H,-2)
AND Ref(L,-1)>Ref(L,-2))) <
BarsSince((L<Ref(L,-1) AND H<Ref(H,-1))
AND (Ref(L,-1)<Ref(L,-2)
AND Ref(H,-1)<Ref(H,-2))),
{then}1,
{else}-1);
TD1

 

Dunnigan Trend

{Ask to use 1 day or 2 day Swing type}
St:=Input("Short Term Swing Type, 1 or 2 ?",
1,2,2);
{Call Swing Type Formula}
Sd:=If(Round(St)=1,
{then} FmlVar("Dunn-Type1","TD1"),
{else} FmlVar("Dunn-Type2","TD1"));
{Number Of Periods Since Swing Started Up}
Hc:=BarsSince(SD=-1);
{Number Of Periods Since Swing Started Down}
Lc:=BarsSince(SD=1);
{Find Highest Value Of Up Swing}
Hv:=If(Hc>Lc AND H>Ref(H,-1),
{then}HighestSince(1,Hc=1,H),
{else}0);
{Find Lowest Value Of Down Swing}
Lv:=If(Hc<Lc AND L<Ref(L,-1),
{then}LowestSince(1,Lc=1,L),
{else}0);
{Find The Low Of The Highest High}
Hlv:=ValueWhen(1,H=Hv,L);
{Find The High Of The Lowest Low}
Lhv:=ValueWhen(1,L=Lv,H);
{Calculate And Plot Trend Direction,
Note: 1= Uptrend,
-1= Downtrend}
TD2:=If(Sd=1 AND H>Lhv,
{then}1,
{else}If(Sd=-1 AND L<Hlv,
{then}-1,
{else}0));
TD3:=ValueWhen(1,TD2<>0,TD2);
TD3

{These formulas simply plot a 1 if market is up or -1 if down. I really didn't code this to be used as an indicator, but to be used as a subroutine, or possibly in an "Expert Adviser".
Best wishes, Adam Hefner.}

 

Dynamic Multiple Time Frame Indicator

Explanation of the Dynamic Multiple Time Frame Indicator by the author, Adam Hefner:

"The Fixed Balance Point is calculated every Friday by
taking the weekly (high+low+close)/3. It really doesn't
need to be plotted, but is mostly used to base the other
indicators from.

The Fixed Balance Point Step, is a 5 week average of
the Fixed Balance Point.

The Dynamic Balance Point is the daily update of the
Fixed Balance Point.

The Dynamic Balance Point Step is the daily update
of the Fixed Balance Point Step.

Robert Krausz teaches that by watching the balance point
calculations of the longer (weekly) time, you have the market
direction (trend) for the shorter (daily) time. He also revealed
that the when the Dynamic Balance Point is above the Dynamic
Balance Point Step, then the trend is up, and opposite is true
for down trend. I have found that these act in much the same way
as a 5/25 moving average cross-over system.

I like the Fibonacci Support & Resistance best of all, seems (IMHO)
that these support/resistance areas are very easy to visualize using
this formula."
 

Krausz's Gann Swing HiLow Activator

I was only able to implement Krausz's Gann Swing HiLow Activator in Metastock,
because it's simply the average of the last three bars High (stop for short position or
long entry) or Low (stop for long position or short entry) plotted one period forward:

Ref(Mov(L,3,S),-1) or Ref(Mov(H,3,S),-1)

(from Thorsten Buhmann in Germany)

 

Tema PV Binary Wave and Tema QStick Formulas--use of

in MetaStock, from
"JimG"

There are really two different ways to use these formulas. Since the Binary Wave is a
smoothed addition of several technical indicators that each give +1 when bullish, 0
when neutral and -1 when negative, it makes sense that a positive number is bullish
and rising numbers are bullish. Similarly negative numbers and falling numbers are
bearish.

The QStick is really a candlestick type indicator, but can be read as bullish or bearish
in same way as the Binary Wave.

The two traditional ways to play them are to buy on a rise from a negative peak and
sell on a fall from a positive peak, or to buy on a zero cross over to the upside and sell
on a zero crossover to the downside. Of course you can optimize and find various buy
and sell levels as long as you understand what is bearish and what is bullish.

My own MetaStock system tests alerts on the BW crossing a moving average of itself
and buys or sells on a confirmation of Qstick turning positive or negative respectively.
Having said that, I don't make my buy an sell decisions from the indicators or the
system test. I do use the system test as an initial screen and use a buy signal as a flag
to move the stock to my watch list. I make all buying and selling decisions based on
the trend channels. Over the years, I've found that works best for me.

The HIGHER CLOSES MetaStock exploration should be entered as follows:

colA CLOSE
colB ref(C,-1)
colC ref(C,-2)
filter colA > colB AND colB > colC

{General Purpose Intermediate Term MACD Indicator}
( Mov( C,13,E ) - Mov( C,34,E ) ) - Mov( ( Mov( C,13,E ) - Mov( C,34,E ) ),89,E )

{General Purpose Short Term MACD Indicator}
( Mov( C,8,E ) - Mov( C,17,E ) ) - Mov( ( Mov( C,8,E ) - Mov( C,17,E ) ),9,E )


Dave's New System (DNS)

Is a binary consisting of 8 indicators.}

If(SAR(.02,.2)<C,1,0) +
If((Mov(C,5,E)>Mov(C,13,E)),1,0) +
If((Mov(C,13,E)>Mov(C,40,E)),1,0) +
If((Mov(C,8,E)-Mov(C,17,E))> (Mov(Mov(C,8,E)-Mov(C,17,E),9,E)),1,0)+ If(Mov(C,50,SIMPLE) - Ref(Mov(C,50,SIMPLE),-15) > 0,1,0)+
If((Mov(ROC(C,12,%),3,E)>=-6 OR ROC(C,12,%)>0),1,0)+
If(OBV()>Mov(OBV(),40,S),1,0)+
If(V>Mov(V,120,S),1,0)

{created by David R. Evans}

 

Fibonacci Trader- Fixed Balance Point- REVISED

{NOTE: under Color/Style options, change
plot to last "style" option}

{revised 1 Jan 99}

Mc1:=BarsSince(DayOfWeek()=1);
Fc1:=BarsSince(DayOfWeek()=5);
Fc2:=Ref(BarsSince(DayOfWeek()=5),-1)-1;
{Fixed Balance Point Calculation}
FBC:=If(Mc1=0 AND Fc1>2,
{then}(Ref(HHV(H,LastValue(mc1)),-1)+
Ref(LLV(L,LastValue(Mc1)),-1)+
Ref(C,-1))/3,
{else}If(Fc1=0 AND Mc1>5,
{then}(HHV(H,LastValue(Fc2))+
LLV(L,LastValue(Fc2))+C)/3,
{else}If(Fc1=0,
{then}(HHV(H,LastValue(Mc1))+
LLV(L,LastValue(Mc1))+C)/3,
{else}0)));
{Fixed Balance Point Plot}
FBP:=ValueWhen(1,FBC>0,FBC);
FBP;

 

Fibonacci Trader- Support and Resistance

{NOTE: under Color/Style options, change
plot to last "style" option}

{Weekly Price Range Calculation}
Mc1:=BarsSince(DayOfWeek()=1);
Fc1:=BarsSince(DayOfWeek()=5);
Fc2:=Ref(BarsSince(DayOfWeek()=5),-1)-1;
WRC:=If(Mc1=0 AND Fc1>2,
{then}Ref(HHV(H,LastValue(mc1)),-1)-
Ref(LLV(L,LastValue(Mc1)),-1),
{else}If(Fc1=0 AND Mc1>5,
{then}HHV(H,LastValue(Fc2))-
LLV(L,LastValue(Fc2)),
{else}If(Fc1=0,
{then}HHV(H,LastValue(Mc1))-
LLV(L,LastValue(Mc1)),
{else}0)));
WRP:=ValueWhen(1,WRC>0,WRC);
{Resistance Range}
RR1:= FmlVar("FT-FBP","FBP")+(WRP*.5);
RR2:= FmlVar("FT-FBP","FBP")+(WRP*.618);
{Support Range}
SR1:= FmlVar("FT-FBP","FBP")-(WRP*.5);
SR2:= FmlVar("FT-FBP","FBP")-(WRP*.618);
{Plot Ranges}
RR1;
RR2;
SR1;
SR2;

 

Fibonacci Trader- Fixed Balance Point Step

FPS:=(ValueWhen(1,FmlVar("FT-FBP","FBC")>0,
FmlVar("FT-FBP","FBC")) +
ValueWhen(2,FmlVar("FT-FBP","FBC")>0,
FmlVar("FT-FBP","FBC")) +
ValueWhen(3,FmlVar("FT-FBP","FBC")>0,
FmlVar("FT-FBP","FBC")) +
ValueWhen(4,FmlVar("FT-FBP","FBC")>0,
FmlVar("FT-FBP","FBC")) +
ValueWhen(5,FmlVar("FT-FBP","FBC")>0,
FmlVar("FT-FBP","FBC")))/5;
FPS

 

Fibonacci Trader- Dynamic Balance Point

Dynamic Balance Point Calculation

dt:=DayOfWeek();
DBC:=(HighestSince(5,DayOfWeek()=dt,H)+
LowestSince(5,DayOfWeek()=dt,L)+CLOSE)/3;
DBC