METASTOCK FORMULA PAGE.

These pages are currently being databased and results will be available shortly.

These pages include over 300 formulas from readers, formulas from Equis and formulas derived from Stocks and Commodities magazine. All formulas are for Metastock v6.5 or higher unless noted. We make no claim that these formulas will work as described. Our objective is just to bring them together on one www site as a resource. Your task is to find the formula that will do the task you want, or which can be used  as a base which can be modified to do the task you want it to. Most of these formulas have been emailed to us and we believe they are in the public domain. Where known, the author is noted and an email contact provided. If you have additional author details or contacts, then please let us know and we will post full acknowledgements. If your material has been supplied to us and used without permission then please contact us to arrange for immediate removal.

Many of these additions have been collected by Patrick McDonald and we thank him for his contributions. Formula writer Steve Karnish and Henry Kaczmarczyk can also be contacted for additional information..

Latest addition at the top of the page and added on 20-02-03

FORMULAS FROM SITE VISITORS

Culumative Volume (Variation) Indicator

TotalVolume:=LastValue(Cum(V));

n := TotalVolume - Input("Float Volume", 1, 100000000000, 100000000);

TrueDays:=(LastValue(BarsSince(Cum(V)<=n)))-1;

HighestSince(1,(BarsSince(Cum(V)<=n)>0),LastValue(HHV((HighestSince(1,(BarsSince(Cum(V)<=n)>0),Ref(H,-1))),TrueDays)));

LowestSince(1,(BarsSince(Cum(V)<=n)>0),LastValue(LLV((LowestSince(1,(BarsSince(Cum(V)<=n)>0),Ref(L,-1))),TrueDays)))

{from Erich Kohlhofer}

 

Average of Multiple Moving Averages (based on ideas of Linda Bradford Raschke)}

Formula:

{written by Ton Maas for use in MetaStock}

DN:=1;

HN:=2;

HN3:=DN+HN;

HN4:=HN+HN;

HN5:=HN+HN+DN;

HN6:=HN+HN+HN;

HN7:=HN+HN+HN+DN;

n:=50;

sOne:=((n-DN)/HN)*C+

((n-HN3)/HN)*Ref(C,-DN)+

((n-HN5)/HN)*Ref(C,-HN)+

((n-HN7)/HN)*Ref(C,-HN3)+

((n-(HN7+HN))/HN)*Ref(C,-HN4)+

((n-(HN7+HN4))/HN)*Ref(C,-HN5)+

((n-(HN7+HN6))/HN)*Ref(C,-HN6)+

((n-(HN5*HN3))/HN)*Ref(C,-HN7)+

((n-(HN5*HN3+HN)/HN)*Ref(C,-HN*HN4)+

((n-(HN5*HN3+HN4))/HN)*Ref(C,-HN3*HN3)+

((n-(HN5*HN4+DN))/HN)*Ref(C,-HN*HN5)+

((n-(HN5*HN4+HN3))/HN)*Ref(C,-HN*HN5+DN)+

((n-(HN5*HN5))/HN)*Ref(C,-HN3*HN4)+

((n-(HN5*HN5+HN))/HN)*Ref(C,-HN3*HN4+DN)+

((n-29)/HN)*Ref(C,-HN3*HN4+HN)+

((n-31)/HN)*Ref(C,-HN3*HN5)+

((n-33)/HN)*Ref(C,-HN3*HN5+DN)+

((n-35)/HN)*Ref(C,-HN3*HN5+HN)+

((n-37)/HN)*Ref(C,-HN3*HN6)+

((n-39)/HN)*Ref(C,-HN3*HN6+DN)+

((n-41)/HN)*Ref(C,-HN4*HN5)+

((n-43)/HN)*Ref(C,-HN4*HN5+DN)+

((n-45)/HN)*Ref(C,-HN4*HN5+HN)+

((n-47)/HN)*Ref(C,-HN4*HN5+HN3)+

((n-49)/HN)*Ref(C,-HN4*HN6)+

((n-51)/HN)*Ref(C,-HN5*HN5)+

((n-53)/HN)*Ref(C,-HN5*HN5+DN)+

((n-55)/HN)*Ref(C,-HN5*HN5+HN)+

((n-57)/HN)*Ref(C,-HN4*HN7)+

((n-59)/HN)*Ref(C,-HN4*HN7+DN)+

((n-61)/HN)*Ref(C,-HN6*HN5)+

((n-63)/HN)*Ref(C,-HN6*HN5+DN)+

((n-65)/HN)*Ref(C,-HN6*HN5+HN)+

((n-67)/HN)*Ref(C,-HN6*HN5+HN3)+

((n-69)/HN)*Ref(C,-HN6*HN5+HN4)+

((n-71)/HN)*Ref(C,-HN5*HN7)+

((n-73)/HN)*Ref(C,-HN6*HN6)+

((n-75)/HN)*Ref(C,-HN6*HN6+DN)+

((n-77)/HN)*Ref(C,-HN6*HN6+HN)+

((n-79)/HN)*Ref(C,-HN6*HN6+HN3)+

((n-81)/HN)*Ref(C,-HN6*HN6+HN4)+

((n-83)/HN)*Ref(C,-HN6*HN6+HN5)+

((n-85)/HN)*Ref(C,-HN7*HN6)+

((n-87)/HN)*Ref(C,-HN7*HN6+DN)+

((n-89)/HN)*Ref(C,-HN7*HN6+HN)+

((n-91)/HN)*Ref(C,-HN7*HN6+HN3)+

((n-93)/HN)*Ref(C,-HN7*HN6+HN4)+

((n-95)/HN)*Ref(C,-HN7*HN6+HN5)+

((n-97)/HN)*Ref(C,-HN7*HN6+HN6)+

((n-99)/HN)*Ref(C,-HN7*HN7));

TN:=Mov(C,n,S);

yTwo:=TN+(HN6*sOne)/((n+DN)*n);

yTwo

 

Coppock Curve - LT Momentum

As you can see from the older mails below, there are quite a few CC indicators around. The Curves: Indicators, Momentums, Oscillators and SysTests.

The one I am using is a 3-week tradeable version:

Name: Coppock Curve - LT Momentum

Formula:

1). Calculate the % change in value from 14 months ago.

2). Calculate the % change in value from 11 months ago.

3). Add 1 + 2. 4). The Coppock indicator is the 10-month (220days) weighted average of 3.

4). Original Modified to a 3-week version for trading purposes.

5). Overlay for trigger with a 14-day SMA, AJM.}

Mov((CLOSE-Ref(C,-300))/(Ref(C,-300)*0.01)+

(CLOSE-Ref(C,-240))/(Ref(C,-240)*0.01),15,W)

Regards,

Ton Maas

 

WOODS CULUMATIVE VOLUME FLOAT INDICATOR

BackVolume:=LastValue(Cum(V))-Cum(V)+V;

float:=Input("# Shares (millions) ",1,100,1);

float=float*1000000;

if(BackVolume>=float,+1,-1);

leo.timmermans.lt@belgium.agfa.com

Here's how the WCVFI works:

The float is a variable input value that must be entered for each different stock under consideration. Starting on any given day and working backward, the current day's volume is added to the previous day's volume and adds that to the next previous day's volume and so on. As each volume number from the past is added cumulatively, the computer compares the running total with that particular stock's float. When the cumulative total is equal to or greater than the float, a dot is placed above that particular bar on the chart.

Then two horizontal lines are plotted on the chart. The top line shows the highest price reached during the backward count, and the bottom line, the lowest price. These lines serve as trigger lines for the buy and sell signals. When the stock's price goes through the top line it gives a buy signal, and when it goes through the bottom line it gives a sell signal. The lines extend backward from the starting date to the bar, where the float has gone through one complete turnover.

Some stocks with a small float may take months or years to go through one complete turnover, while other stocks with large floats may have a rapid turnover in a matter of days.

The program is set up to start counting backward from any date entered for historical studies or set for the present date form constant updates. If a stock's price is rising day after day, the program gives buy signals each time the price goes through the line set from the previous day's highest price reached. Looking at stocks reveals four patterns that occur often.

See http://www.floatanalysis.com/mag.htm   for full article and graph examples.

from Steve Denk

 

Explanation of the McClellan Oscillator

(DAILY ADVANCING ISSUES -(minus) DAILY DECLINING ISSUES)= B

McClellan OSC= MOV(B,19,E)- MOV(B,39,E)

WHERE: -100 OR LESS IS OVERSOLD (BULLISH)

WHERE: +100 OR GREATER IS OVERBOUGHT (BEARISH)

Note that B is just a constant for illustration purposes only.

Advance Decline Line

{To display the Advance Decline Line, create a composite security in The

DownLoader of Advancing Issues minus Declining Issues. Open a chart of

the composite and plot this formula}

Cum(CLOSE)

McClellan Oscillator

{To display the McClellan Oscillator, create a composite security in The

DownLoader of Advancing Issues minus Declining Issues. Open a chart of

the composite and plot this custom indicator.}

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

 mike arnoldi

 

CMO FILTER

CMO Filtered:

momu:=If(C>Ref(C,-1),C-Ref(C,-1),0);

momd:=If(C<Ref(C,-1),Ref(C,-1)-C,0);

A1:=Stdev(momu,100);

A2:=Stdev(momd,100);

Mup:=If(C-Ref(C,-1)>A1,C-Ref(C,-1),0);

Mdn:=If(Ref(C,-1)-C>A2,Ref(C,-1)-C,0);

Periods:=Input("Length",5,100,13);

CMOF:=100*((Sum(Mup,Periods)-Sum(Mdn,Periods))

/(Sum(Mup,Periods)+Sum(Mdn,Periods)));

Sig:=Mov(CMOF,10,S);

Hist:=CMOF-Sig;

Hist;

Sig;

CMOF;

Thrust Oscilator:

AI:= Security("D:\Stocks\Market

Indicators\X.NASD-A",C);

AV:= Security("D:\Stocks\Market

Indicators\X.NASD-A",V);

DecI:= Security("D:\Stocks\Market

Indicators\X.NASD-D",C);

DecV:= Security("D:\Stocks\Market

Indicators\X.NASD-D",V);

TO:=(((AI*AV)-(DecI*DecV))/((AI*AV)+(DecI*DecV)))*100;

Periods1:=Input("length1",3,100,21);

Periods2:=Input("length2",3,100,5);

IND:=Mov(TO,Periods1,S);

sig:=Mov(IND,Periods2,S);

sig;

IND;

You will have to create securities of advancing issues,declining issues,advancing volume, declining volume first then type in the directory where they are located

Henry kaczmarczyk

 

THRUST OSCILLATOR

the thrust osc, the metastock formula

AI:= Security("D:\Stocks\Market Indicators\X.NASD-A",C);

AV:= Security("D:\Stocks\Market Indicators\X.NASD-A",V);

DecI:= Security("D:\Stocks\Market Indicators\X.NASD-D",C);

DecV:= Security("D:\Stocks\Market Indicators\X.NASD-D",V);

TO:=(((AI*AV)-(DecI*DecV))/((AI*AV)+(DecI*DecV)))*100;

Periods1:=Input("length1",3,100,21);

Periods2:=Input("length2",3,100,5);

IND:=Mov(TO,Periods1,S);

sig:=Mov(IND,Periods2,S);

sig;

IND;

You will have to have created securities of advancing issues,declining issues,advancing volume, declining volume

henry1224@hotmail.com

 

STOCHASTIC CROSS TRADING SYSTEM

QUESTION

How would I write a MetaStock System Tester for:

Buy: stoch(12,3) has fallen below 36 and then crosses above its 6 day WMA.

Sell: stoch(12,3) rises above 52 and then falls below its 3 day WMA OR 3 day WMA of stoch crosses above 55.

ANSWER

stoch(12,3)<36 and cross(stoch(12,3),mov(stoch(12,3),6,w))

stoch(12,3)>52 and cross(mov(stoch(12,3),3,w),stoch(12,3)) or

mov(stoch(12,3),3,w)>55

 

TSI AND ERGODICS INDICATORS

Contributed by Christian Baude BAUDECB@ix.netcom.com

True Strength Index (TSI) - "Momentum, Direction and Divergence", William Blau, Pub: John Wiley& Sons (see also TASC Jan '93, "Stochastic Momentum" gives the formula for the true strength index. This article refers to an older article by Blau in the Jan '91 TASC "Double Smoothed Stochastics")

TSI(close,r,s) = 100*EMA(EMA(mtm,r),s / EMA(EMA(ImtmI,r),s)

>> Your formula expanded

>> 100*(Mov(Mov(ROC(C,1,$),25,E),13,E)/Mov(Mov(Abs(ROC(C,1,$)),25,E),13,E))

Numerator:

mtm = one-day momentum of close

r-day EMA of mtm {25 day}

s-day EMA {13 day double smoothing}

Denominator:

ImtmI = absolute value of mtm

r-day EMA of ImtmI

s-day EMA {double smoothing}

TSI(close,25,13)

Signal Line = EMA(TSI,7)

thresholds at +25, 0, -25

 

5 day EMA of 20 day EMA of 1 day momentum

{little lag Vs smoothing of price}

Ergodic Oscillator = Ergodic + Signal line {TSI version of Slow Stochastic}

Ergodic(close,r) = TSI(close,r,5) {double smoothing is fixed at 5}

Signal Line(close,r) = EMA(TSI(close,r,5),5)

r = 20days

thresholds are +20, -20

Interesting comparison chart between 20 Slow Stochastic and 20 Erodic

{more head room in oversold-bought areas}

another chart showing Ergodic Osc = TSI(close,32,5) with 5-day EMA signal line

 

Trading Ergodics with the Trend - Rules

1. Enter or hold position only when slope of Ergodic Signal line has the same direction as the trend

2. Stand aside when slope of Ergodic Signal Line is in the opposite direction of trend

3. Enter or exit position when Ergodic and its Signal Line cross

 

Slow TSI Trend = TSI(close,64,64) {? weekly looking chart - very little lag}

Thresholds set at +15 & -15

Trading Ergodics with Slow TSI Trend

1st window - Slow TSI Trend = TSI(close,64,64)

2nd window - Ergodic Osc = TSI(close,64,5)

 

TRUE STRENGTH INDEX

Walter Lake wlake@sprint.ca

True Strength Index = TSI

TSI(close,r,s) = 100*EMA(EMA(mtm,r),s / EMA(EMA(ImtmI,r),s)

Numerator

mtm = one-day momentum of close

r-day EMA of mtm {25 day}

s-day EMA {13 day double smoothing}

Demoninator

ImtmI = absolute value of mtm

r-day EMA of ImtmI

s-day EMA {double smoothing}

TSI(close,25,13)

Signal Line = EMA(TSI,7)

thresholds at +25, 0, -25

- 0 -

5 day EMA of 20 day EMA of 1 day momentum {little lag Vs smoothing of price}

- 0 -

Ergodic Oscillator = Ergodic + Signal line {TSI version of Slow Stochastic}

Erodic(close,r) = TSI(close,r,5) {double smoothing is fixed at 5}

Signal Line(close,r) = EMA(TSI(close,r,5),5)

r = 20days

thresholds are +20, -20

interesting comparision chart between 20 Slow Stochastic and 20 Erodic {more head room in oversold-bought areas}

another chart showing Ergodic Osc = TSI(close,32,5) with 5-day EMA signal line

- 0 -

Trading Ergodics with the Trend - Rules

1. Enter or hold position only when slope of Erogodic Signal line has the

same direction as the trend

2. Stand aside when slope of Erogodic Signal Line is in the opposite

diretion of trend

3. Enter or exit position when Erogodic and its Signal Line cross

- 0 -

Slow TSI Trend = TSI(close,64,64) {? weekly looking chart - very little lag}

Thresholds set at +15 & -15

Trading Ergodics with Slow TSI Trend

1st window - Slow TSI Trend = TSI(close,64,64)

2nd window - Ergodic Osc = TSI(close,64,5)

 

 

 

 

Visitate il sito di www.guppytraders.com da cui deriva gran parte del materiale qui contenuto