Page 3
Front
Weighted 36 Day Moving Average
This indicator requires 3 sub calculations and then the totalling of
all 3 to get the final indicator:
This is the basic calculation:
Take the closing prices of your instrument 34 days ago - 26 days ago
(inclusive), multiply each daily value by 0.01 and write each value
down.
Then take the closing prices of your instrument 25 days ago - 18
days ago (inclusive), multiply each daily value by 0.02 and write
each value down.
Then take the closing prices of your instrument 25 days ago - 18
days ago (inclusive), multiply each daily value by 0.02 and write
each value down.
Then take the closing price of your instrument 17 days ago and
multiply by 0.03 ad write the value down.
Then take the closing price of your instrument 16 days ago - 8 days
ago (inclusive), multiply by 0.031 and write each value down.
Then take the closing price of your instrument 7 days ago - 6 days
ago (inclusive), multiply by 0.006 and write each value down.
Then take the closing price of your instrument 5 days ago - 1 day
ago (inclusive), multiply by 0.07 and write each value down.
Then take the closing price of your instrument today, multiply by
0.079 and write this value down.
Finally, add up all the values that you wrote down and plot the
value on the chart, repeat this for every new trading day.
Simple Interpretation:
Front Weighted 36 Day Moving Average is similar to all other moving
averages. The interpretation is just as with all others, the trend
is up when prices are above the moving average and the trend is down
when prices are below the moving averages. This particular variation
attempts to weight the data at the front more than that at the back,
with a sliding scale for each trading days value.
Metastock code for Front Weighted 36 Day Moving Average:
Fml( "1FrontWeighted36BarMA1" ) +
Fml( "2FrontWeighted36BarMA2" ) +
Fml( "3FrontWeighted36BarMA3" )
Where Fml( "1FrontWeighted36BarMA1" ) =
0.01 * Ref(P,-34) +
0.01 * Ref(P,-33) +
0.01 * Ref(P,-32) +
0.01 * Ref(P,-31) +
0.01 * Ref(P,-30) +
0.01 * Ref(P,-29) +
0.01 * Ref(P,-28) +
0.01 * Ref(P,-27) +
0.01 * Ref(P,-26) +
0.02 * Ref(P,-25) +
0.02 * Ref(P,-24) +
0.02 * Ref(P,-23) +
0.02 * Ref(P,-22) +
0.02 * Ref(P,-21) +
0.02 * Ref(P,-20) +
0.02 * Ref(P,-19) +
0.02 * Ref(P,-18)
Where Fml( "2FrontWeighted36BarMA2" ) =
0.03 * Ref(P,-17) +
0.031 * Ref(P,-16) +
0.031 * Ref(P,-15) +
0.031 * Ref(P,-14) +
0.031 * Ref(P,-13) +
0.031 * Ref(P,-12) +
0.031 * Ref(P,-11) +
0.031 * Ref(P,-10) +
0.031 * Ref(P,-9) +
0.031 * Ref(P,-8) +
0.006 * Ref(P,-7) +
0.006 * Ref(P,-6) +
0.07 * Ref(P,-5) +
0.07 * Ref(P,-4) +
0.07 * Ref(P,-3) +
0.07 * Ref(P,-2)
Where Fml( "3FrontWeighted36BarMA3" ) =
0.07 * Ref(P,-1) +
0.079 * P
Excel
Confidence %
This is the calculation:
Take todays volume * 50 and find the square root of that number.
Then divide 2.5 by your result. Then take the result of dividing by
2.5 and * todays close. Write this figure down.
Then plot a 10 day moving average of this figure. This is the
fundamental calculation which we shall call a.
Take the value for a and take it away from the lowest value of
itself over the past 5 days. Add up these results for the past 3
days. This number is called b.
Now take the highest value for a over the past 5 days and subtract
the lowest value for a, also over the past 5 days. Call this number
c.
Finally, divide b by c and multiply the answer by 100. (phew!)
Simple Interpretation:
Excel Confidence % should oscillate between 0 and 100, usually at
the extreme ends of the scale. A value of 0 indicates no confidence
in the market going up, whilst 100 indicates perfect confidence in
the market going up. Although this obviously isn't the holy grail of
indicators, it does offer some insight into what the market is
thinking and how one can measure investor sentiment.
You might like to add a slower version of this (just increase the 3
day and 5 day calculations to something you believe to be
appropriate - try 7 & 15) and trade the crossovers, as with
stochastics.
You can also just trade the values ie 90 or higher, buy, 10 or
lower, sell.
Metastock code for Excel Confidence %:
(Sum(
Mov(C * (2.5/ Sqrt(50 * V)),10,S)-
LLV(Mov(C * (2.5/ Sqrt(50 * V)),10,S),5), 3 ) /
Sum(
HHV(Mov(C * (2.5/ Sqrt(50 * V)),10,S),5) -
LLV(Mov(C * (2.5/ Sqrt(50 * V)),10,S),5), 3) ) * 100
Lone
Ranger
This is the calculation:
There are 2 calculations needed for this.
For the first, just take the highest value of the close in the past
3 days (including todays close) and take this away from the lowest
value of the cose in the past 3 days. Call the result of this a.
Then divide a by volume. Subtract the result of this by the value of
a divided by volume 5 days ago.
Finally, multiply this number by -1.
Simple Interpretation:
This is a short term indicator which will show short term
divergences against the market instrument. You can also use it to
compare its rate of change against that of the market.
Extreme lows or highs in the indicator may be a signal of similar
instances in the market, however you would want to define a time
period to make use of this function.
Metastock code for Lone Ranger:
(( Fml( "Z Range" ) / V) -
Ref((Fml( "Z Range" ) / V),-5)) * -1
Where Fml( "Z Range" ) = (HHV(c,3) - LLV(c,3))
Three
inside Days
Inside days suggest a volatility compression and often preceede
strong breakouts. Search returns 1 for ok and 0 for not ok
- Inside()
- Inside()-1
- Inside()-2
NR4
Formula from Trading Tactics page 100
Column A
Std(Log(C/Ref(C,-1)),5)/Std(Log(C/Ref(C,-1)),99)
Column B
HIGH-LOW<Ref(LLV(H-L,3),-1)
Column C
HIGH<(Ref(HIGH,-1)AND LOW>Ref(LOW,-1))
Column D
HIGH
Column E
LOW
Filter
colA<.5 AND (colB= 1 OR colC= 1)
Price
and Volume Breakout
Shows stocks where the price increased 5% and the volume is 50%
above a 50-day moving average. Rank results by % change in price,
then check the volume.
- CLOSE
- Ref(CLOSE,-1)
- ROC(CLOSE,1,percent)
- VOLUME
- Mov(VOLUME,50,EXPONENTIAL)
- ((VOLUME - Mov(VOLUME,50,EXPONENTIAL))
/Mov(VOLUME,50,EXPONENTIAL)) * 100
- **When(colC >= 5) AND When(colD >= colE*1.5)
Bottom
Reversal
These are a collection of bottom signals. The search returns 1
for Ok and 0 for not ok.
- CLOSE
- EngulfingBull()
- MorningDojiStar()
- MorningStar()
- WhiteSoldiers()
Gap
Days
Shows stocks which have gapped up or down on the open compared to
yesterdays price. The search returns 1 for Ok and 0 for not ok.
Higher
Closes
Shows stocks which have closed higher on successive days.
- CLOSE
- CLOSE -1
- CLOSE -2
- **When(colA,>,colB) AND When(colB,>,colC)
Moving
Average Crossover---Bullish
This is a10 and 30 day moving average crossover search. Results
close to 0 pinpoint the crossover.
- CLOSE
- Mov(CLOSE,30,EXPONENTIAL)
- ((CLOSE-Mov(CLOSE,30,EXPONENTIAL))
/Mov(CLOSE,30,EXPONENTIAL)) * 100
- ((CLOSE-Mov(CLOSE,10,EXPONENTIAL))
/Mov(CLOSE,10,EXPONENTIAL)) * 100
- **When(colA > colB)
MACD
Crossover Buy Signal
Shows those stocks where an MACD crossover has been signalled.The
search returns 1 for Ok and 0 for not ok.
- CLOSE
- MACD()
- Ref(MACD(),-1)
- Mov(MACD(),9,EXPONENTIAL)
- Ref(Mov(MACD(),9,EXPONENTIAL),-1)
- ((MACD() - Mov(MACD(),9,EXPONENTIAL))
/Mov(MACD(),9,EXPONENTIAL)) * 100
- **Cross( MACD(), Mov(MACD(),9,EXPONENTIAL))
Performance Daily
Stocks sorted on % gains over 1, 2, 3, 4, and 5 days. Rank
results for the selected day. Good for finding breakout stocks.
- CLOSE
- ROC(CLOSE,1,percent)
- ROC(CLOSE,2,percent)
- ROC(CLOSE,3,percent)
- ROC(CLOSE,4,percent)
- ROC(CLOSE,5,percent)
Rally
Gap and Inside Day
Finds stocks which have rallied, gapped upwards, and then had an
inside day.
Usually leads to a resumption of the rally. The search returns 1
for Ok and 0 for not ok.
- RallyWithVol()
- Inside()
- GapUp()
Range
High
Looks for out of range move where the close equals the high.
Suggests more buying pressure.
The search returns 1 for Ok and 0 for not ok.
High
Volume
Displays those where volume is above the 100 day moving average.
The search returns 1 for Ok and 0 for not ok.
- VOLUME
- Mov(VOLUME,100,EXPONENTIAL)
- ((VOLUME - Mov(VOLUME,100,EXPONENTIAL))
- /Mov(VOLUME,100,EXPONENTIAL)) * 100
- When(colA,>,colB)
Collection from a Spanish Source
They are contributed by Patrick who
notes "my limited Spanish suggests that they are simply a
random collection made by the web owner, who points out that there
is as yet 'no Holy Grail' in technical analysis! For the past few
days I have been using them by substituting the for 'number' given
to each formula, the complete formula that particular number
represents. In this way, each becomes independent." We have included
all 80 of them, complete with the orginal Spanish cover note.
A continuación se ofrecen una serie de fórmulas que puede utilizar
con el programa Metastock recogidas de la red y cuya utilidad Vd.
debe valorar. Se ruega encarecidamente a todos aquellos que tengan
fórmulas que puedan resultar útiles las envíen a jomaba@interbook.net
para su publicación en esta página. Muchos dicen que el Santo Grial
no existe.¿Y si es mentira?
1 DAILY CLOSE VS HIGH AND LOW WAVE if((C-L)/(H-L),>,.66 ,1, if((C-L)/(H-L),<,.38,-1,0))
2 PRICE OSCILLATOR WAVE if(ref(oscp(3,15,S,%),-1),<,0,1,0)
3 VOLUME OSCILLATOR WAVE if(oscv(1,50,S,%),>,50,1,0)
4 WEEKLY PRICE OSCILLATOR WAVE if(fml(#17),>,ref(fml(#17),-1),1,
if(fml(#17),<,ref(fml(#17),-1),-1,0))
5 VOLATILITY WAVE if(ref(fml(#27),-1),<,90,1,0)
6 LONG BINARY WAVE fml(#1) + fml(#2) + fml(#3) + fml(#9)
7 STOCHASTIC WAVE - LONG
if(ref(stoch(14,3),-1),=,llv(stoch(14,3),3),2,
if(stoch(14,3),=,llv(stoch(14,3),3),1,0))
8 STOCHASTIC WAVE - SHORT
if(ref(stoch(14,3),-1),=,hhv(stoch(14,3),3),2,
if(stoch(14,3),=,hhv(stoch(14,3),3),1,0))
9 VOLATILITY DIFFERENCE WAVE if(fml(#11),>=,1.00,1,0)
10 LONG BINARY II fml(#1) + fml(#3) + fml(#9) + fml(#24)
11 VOLATILITY DIFFERENCE mov(H-L,1,S)/mov(H-L,20,S)
12 HI LOW WAVE - DAILY if(H,>,ref(hhv(H,100),-1),1,if(L,<,ref(llv(L,100),-1),-1,0))
13 WEEKLY HIGH LOW WAVE if(H,>,ref(hhv(H,40),-1),1, if(L,<,ref(llv(L,40),-1),
-1,0))
14 PERCENT ABOVE\BELOW MOVING AVG (oscp(1,30,E,%))
15 WEEKLY PRICE OSCILLATOR mov(oscp(10,20,S,%),10,S)
16 MACD WAVE MACD/trigger Binary Wave if(macd(), >, mov(macd(),9,E),
{bullish} +1, {bearish} -1)
17 WEEKLY OSC SEGMENT mov(oscp(43,86,S,%),43,S)
18 HISTORICAL VOLATILITY (std(log(C / ref(C,-1)),10)*sqr(365)) /(std(log(C
/ ref(C,-1)),50)*sqr(365))
19 RELATIVE STRENGTH C/P
20 CLOSE REL TO HIGH LOW (C-L)/(H-L)
21 GAP IDENTIFICATION if(L,>,ref(H,-1),1, if(H,<,ref(L,-1),-1,0))
22 AVG VOLUME mov(V,50,S)
23 MOVE WAVE 20-unit m.a. Binary Wave if(C, >, mov(C,20,E), {then
bullish} +1, {else bearish} -1)
24 STOCHASTIC VALUE WAVE if(ref(stoch(14,3),-1),<,65,1,
if(stoch(14,3),<,65,1,0))
25 ROC WAVE 12-ROC price Binary Wave if(roc(C,12,%), >, 0, {then
bullish} +1, {else bearish} -1)
26 STOCH WAVE 5- Stochastic Binary Wave if(stoch(5,3), >, 50, {then
bullish} +1, {else bearish} -1)
27 ATR RATIO atr(10)/atr(50)/100
28 BINARY WAVE Composite Wave of above fml("MACD Wave") + fml("MOVE
Wave") + fml("ROC Wave")+ fml("STOCH Wave")
29 WEEKLY OPEN CLOSE WAVE if(C,>,O,1,if(C,<,O,-1,0))
30 SHORT BINARY WAVE fml(#31) + fml(#32) + fml(#33)
31 SHORT OPEN CLOSE WAVE if((C-L)/(H-L),<,.38,1,0)
32 SHORT PRICE OSCILLATOR WAVE if(ref(oscp(3,15,S,%),-1),>,0,1,0)
33 SHORT VOLUME WAVE if(oscv(1,50,S,%),>,0, if(V,>,ref(V,-1),1,0),0)
34 O.B.V. Good example of if() func cum( if( C, >, ref(C,-1), +V,
if( C, <, ref(C,-1), -V, 0) ))
35 SINE WAVE 5-unit standing sine wave sin( cum(5) )
36 STOCHASTIC Example of hhv() function ( sum( C - llv(L,5), 3 ) /
sum( hhv(H,5) - llv(L,5), 3) ) * 100
37 Median price (hhv(H,10)-C)-(C-llv(L,10))/(hhv(H,10)-llv(L,10))
38 Future MACD---Dr. Trieber (C-((
11.607*(mov(C,26,E)))-(10.607*(mov(C,12,E)))
-(12.536*(mov(macd(),9,E)))))
39 Fraction (32nd's) int(C)+((frac(C)/0.03125)/100)
40 Summation Noise Indicator (Adam White)
(sum(abs(C-ref(C,-1)),14)-sum(abs(mov(C,10,S)-ref(mov(C,10,S),-1)),14))/
sum(abs(C-ref(C,-1)),14)
41 Chaikin Money Flow sum(((((C-L)-(H-C))/(H-L))*V),21)/sum(V,21)
42 Linear Regression
((15*(sum(cum(1)*C,10))-(sum(cum(1),10)*(sum(C,10))))
/((10*sum(pwr(cum(1),2 ),10))-pwr(sum(cum(1),2),10))
-pwr(sum(cum(1),10),2))
43 Smoothed Tick Momemtum Line-TASC
mov(roc(cum(if(C,>,ref(mov(C,10,E),-1),+1,
if(C,<,ref(mov(C,10,E),-1),-1,0))),5,$),5,E)
44 Bull Power (for Elderray) H-mov(C,13,E)
45 Bear Power (for Elderray) L-mov(C,13,E)
46 13-Period Moving Average (for Elderray) mov(C,13,E)
47 RSI Binary Wave (using 30/70 xover)
if(rsi(10),>,30,if(ref(rsi(10),-1),<,30,+1,if(rsi(10),<,70,if(ref(rsi(10),-
1),>,70,-1,0),0)),0)
48 Trendscore...Tushar Chande (TASC)
if(C,>=,ref(C,-11),1,-1)+if(C,>=,ref(C,-12),1,-1)+if(C,>=,ref(C,-13),1,-1)+
if(C,>=,ref(C,-14),1,-1)+if(C,>=,ref(C,-15),1,-1)+if(C,>=,ref(C,-16),1,-1)+
if(C,>=,ref(C,-17),1,-1)+if(C,>=,ref(C,-18),1,-1)+if(C,>=,ref(C,-19),1,-1)+
if(C,>=,ref(C,-20),1,-1)
49 KST-Martin Pring (One formula)
(mov(roc(C,10,%),10,S))+(2*(mov(roc(C,15,%),10,S)))+
(3*(mov(roc(C,20,%),10,S)))+(4*(mov(roc(C,30,%),15,S)))/10
50 Dual Oscillator B-Wave +1 buy, -1 sell if(fml("dual osc
1"),>,fml("dual osc 2"),if(ref(fml("dual osc 1"),-1),<,
ref(fml("dual osc 2"),-1),+1,if((fml("dual osc 1")),<,fml("dual osc
2"),
if(ref(fml("dual osc 1"),-1),>,ref(fml("dual osc
2"),-1),-1,0),0)),0)
51 Dual Osc 1 mov(C,2,S)-mov(C,10,S)
52 Dual Osc 2 mov((H+L+C)/3,5,S)-mov((H+L+C)/3,20,S)
53 R Squared pwr(corr(cum(1),C,5,0),2)
54 Slope of Linear Regression Line
((5*(sum(cum(1)*C,5)))-(sum(cum(1),5)*(sum(C,5))))/
((5*sum(pwr(cum(1),2),5))-pwr(sum(cum(1),5),2))
55 RWI for today's high (H-ref(L,-16))/(mov((H-L),16,S)*sqr(16))
56 RWI for today's low (ref(H,-16)-L)/(mov((H-L),16,S)*sqr(16))
57 Momemtum roc(mov(C,10,E),10,%)
58 Volume Binary Wave
if(V,>,ref(mov(V,20,E),1),1,if(V,<,ref(mov(V,10,E),1),-1,0))
59 MACD w/SAR if(macd(),>,mov(macd(),9,E),{macd is above
trigger}if(sar(.02,.2),
<,C,{buy long}+2,{stop shorts}+1),{macd < trigger}if(sar(.02,.2),>,
C,{sell short}-2, {stop longs}-1))
60 Oscillating OBV mov(obv(),20,E)-obv()
61 Overreaction Index
if(ref(std(C,3),-3),>,4,+1,0)+if(C,<,(sar(.015,.15)),-1,+1)
62 Modified MACD tsf(C,12)-tsf(C,26)
63 RVI w/simple moving average (TASC)
100*mov(if(C,>,ref(C,-1),std(C,10),0),14,S)/(mov(if(C,>,ref(C,-1),
std(C,10),0),14,S)+mov(if(C,<,ref(C,-1),std(C,10),0),14,S))
64 Upper Bollinger Band mov(C,20,S)+(2*(std(C,20)))
65 Lower Bollinger Band mov(C,20,S)-(2*(std(C,20)))
66 Middle Band mov(C,20,S)
67 %B (TASC)
(C-(mov(C,20,S)-(2*(std(C,20)))))/(mov(C,20,S)+(2*(std(C,20)))-
mov(C,20,S)-(2*(std(C,20))))
68 Band Width (TASC)
(mov(C,20,S)+(2*(std(C,20))))-(mov(C,20,S)-(2*(std(C,20))))/mov(C,20,S)
69 Volume % above/below 10 day MA (V-mov(V,10,S))/mov(V,10,S)
70 # of STD's of volume (V-mov(V,20,S))/std(V,20)
71 Morris' RSI w/volume (TASC)
100-(100/(1+(mov(if(roc(C,1,$),>,0,roc(C,1,$)*V,0),14,S)/
mov(if(roc(C,1,$), <,0,-roc(C,1,$)*V,0),14,S))))
72 Custom A/D Oscillator
cum(if(C,>,ref(C,-2),1,if(C,<,ref(C,-2),-1,0)))
73 Empty Candlestick if(C,>,o{then empty},+1,0)
74 Filled Candlestick if(C,<,o{then filled},+1,0)
75 Doji if(C,=,o{then doji},+1,0)
76 Bearish engulfing lines
if(fml(#28),=,+1,if(ref(fml(#27),-1),=,+1,if(C,<=,ref(O,-1),if(O,>=,
ref(C,-1),-1,0),0),0),0)
77 Bullish engulfing lines
if(fml(#27),=,+1,if(ref(fml(#28),-1),=,+1,if(C,>=,ref(O,-1),if(O,<=,
ref(C,-1),+1,0),0),0),0)
78 Engulfing Line Binary wave fml(#30)+fml(#31)
79 Largest negative change in close llv(roc(C,1,$),40)
80 Choppiness Index (TASC)
((log(sum(atr(1),14)/(hhv(if(H,>=,ref(C,-1),H,ref(C,-1)),14)-llv(if(L,<=,
ref(C,-1),L,ref(C,-1)),14)))/log(10))/(log(14)/log(10)))*100 |