HOMETRADESTATIONMETASTOCKEMAILLINKS

 

metastock indicators

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

R

S

T

U

V

W

Y

Z

#

 

 
 
 

 

UP

HOME

 

 

DaysCMO10

Int(0.5*Abs(Mov(CMO(C,10),3,S)))
{I use a bit of smoothing, else the # of days changes too abruptly.}

VidyaDays

Fml("DaysCMO10")
{Fml("DaysRsquared") } {(another one to play around with)}

Vidya00_15

x:= Fml("VidyaDays");
If(x>15,
0
{else: Present Range},
If(x<8,
If(x<4,
If(x<2,
Mov( C, 1, E ) {an interesting MA, isn't it}
{# else x>=2},
If(x<3,
Mov( C, 2, E )
{# else},
Mov( C, 3, E )
)
){x<2?}
{# else x>=4},
If(x<6,
If(x<5,
Mov( C, 4, E )
{# else},
Mov( C, 5, E )
)
{# else x>=6},
If(x<7,
Mov( C, 6, E )
{# else},
Mov( C, 7, E )
)
){x<6?}
){x<4?}
{# else x>=8},
If(x<12,
If(x<10,
If(x<9,
Mov( C, 8, E )
{# else},
Mov( C, 9, E )
)
{# else x>=10},
If(x<11,
Mov( C, 10, E )
{# else},
Mov( C, 11, E )
)
){x<10?}
{# else x>=12},
If(x<14,
If(x<13,
Mov( C, 12, E )
{# else},
Mov( C, 13, E )
)
{# else x>=14},
If(x<15,
Mov( C, 14, E )
{# else},
Mov( C, 15, E )
)
){x<14?}
){x<12?}
){x<8?}
)

Vidya16_31

x:= Fml("VidyaDays");
If(x<16 OR x>31,
0
{else: Present Range},
If(x<24,
If(x<20,
If(x<18,
If(x<17,
Mov( C, 16, E )
{# else},
Mov( C, 17, E )
)
{# else x>=18},
If(x<19,
Mov( C, 18, E )
{# else},
Mov( C, 19, E )
)
){x<18?}
{# else x>=20},
If(x<22,
If(x<21,
Mov( C, 20, E )
{# else},
Mov( C, 21, E )
)
{# else x>=22},
If(x<23,
Mov( C, 22, E )
{# else},
Mov( C, 23, E )
)
){x<22?}
){x<20?}
{# else x>=24},
If(x<28,
If(x<26,
If(x<25,
Mov( C, 24, E )
{# else},
Mov( C, 25, E )
)
{# else x>=26},
If(x<27,
Mov( C, 26, E )
{# else},
Mov( C, 27, E )
)
){x<26?}
{# else x>=28},
If(x<30,
If(x<29,
Mov( C, 28, E )
{# else},
Mov( C, 29, E )
)
{# else x>=30},
If(x<31,
Mov( C, 30, E )
{# else},
Mov( C, 31, E )
)
){x<30?}
){x<28?}
){x2<24?}
)

Vidya32_47

x:= Fml("VidyaDays");
If(x<32 OR x>47,
0
{else: Present Range},
If(x<40,
If(x<36,
If(x<34,
If(x<33,
Mov( C, 32, E )
{# else},
Mov( C, 33, E )
)
{# else x>=34},
If(x<35,
Mov( C, 34, E )
{# else},
Mov( C, 35, E )
)
){x<34?}
{# else x>=36},
If(x<38,
If(x<35,
Mov( C, 36, E )
{# else},
Mov( C, 37, E )
)
{# else x>=38},
If(x<39,
Mov( C, 38, E )
{# else},
Mov( C, 39, E )
)
){x<38?}
){x<36?}
{# else x>=40},
If(x<44,
If(x<42,
If(x<41,
Mov( C, 40, E )
{# else},
Mov( C, 41, E )
)
{# else x>=42},
If(x<43,
Mov( C, 42, E )
{# else},
Mov( C, 43, E )
)
){x<42?}
{# else x>=44},
If(x<46,
If(x<45,
Mov( C, 44, E )
{# else},
Mov( C, 45, E )
)
{# else x>=46},
If(x<47,
Mov( C, 46, E )
{# else},
Mov( C, 47, E )
)
){x<46?}
){x<44?}
){x<40?}
)

Vidya48_63

x:= Fml("VidyaDays");
If(x<32 OR x>63,
0
{else: Present Range},
If(x<56,
If(x<52,
If(x<50,
If(x<49,
Mov( C, 48, E )
{# else},
Mov( C, 49, E )
)
{# else x>=50},
If(x<51,
Mov( C, 50, E )
{# else},
Mov( C, 51, E )
)
){x<50?}
{# else x>=52},
If(x<54,
If(x<53,
Mov( C, 52, E )
{# else},
Mov( C, 53, E )
)
{# else x>=54},
If(x<55,
Mov( C, 54, E )
{# else},
Mov( C, 55, E )
)
){x<54?}
){x<52?}
{# else x>=56},
If(x<60,
If(x<58,
If(x<57,
Mov( C, 56, E )
{# else},
Mov( C, 57, E )
)
{# else x>=58},
If(x<59,
Mov( C, 58, E )
{# else},
Mov( C, 59, E )
)
){x<58?}
{# else x>=60},
If(x<62,
If(x<61,
Mov( C, 60, E )
{# else},
Mov( C, 61, E )
)
{# else x>=62},
If(x<63,
Mov( C, 62, E )
{# else x>=63!!!},
Mov( C, 63, E )
)
){x<62?}
){x<60?}
){x<56?}
)

VidyaUpTo64

x:=Fml("VidyaDays");
If(x<5,
{Arbitrarily use 5 days as the minimum time frame}
Mov(C,5,E)
{else},
If(x>=64,
{64 days is the maximum we can handle (so far)}
Mov(C,64,E)
{else},
If(x<32,
If(x<16,
Fml("Vidya00_15")
{else x>=16},
Fml("Vidya16_31")
)
{else x>=32},
If(x<48,
Fml("Vidya32_47")
{else x>=48},
Fml("Vidya48_63")
)
)
)
)

Vidya with Volatility Bands

K:=Stdev(C,5)/Mov(Stdev(C,5),20,S);
SC:=0.9;
Vidya:=SC*K*C+(1-SC*K)*Ref(C,-1);
UpperBand:=Vidya+2*.5*K;
LowerBand:=Vidya-2*.5*K;
UpperBand;
LowerBand;
Vidya;

 

UP

HOME

 

 

Volatility Channel

cv:= Input(1,100,14);
;HHV( ( ( ( (H+L+C) / 3 ) * 2 ) - H) , cv)
;LLV( ( ( ( (H+L+C) / 3 ) * 2 ) - L) , cv)

 

UP

HOME

 


Volatility Stop

Pds1:= Input("ATR Lookback?",2,100,10);
Mult:= Input("ATR Multiplier?",1,20,3);
Pds2:= Input("HHV Lookback?",2,100,20);

PrelimStop1:= HHV(H,Pds1) - ATR(Pds1)*Mult;
ActualStop1:= HHV(PrelimStop1,Pds2);
ActualStop1;

PrelimStop2:= LLV(L,Pds1) + ATR(Pds1)*Mult;
ActualStop2:= LLV(PrelimStop2,Pds2);
ActualStop2;

 

UP

HOME

 

 

Volume Accumulation Percentage

Periods:=Input("Time Periods",1,60,21);
X:=(2*C-H-L)/(H-L);
TVA:=Sum(V*x,Periods);
TV:=Sum(V,Periods);
VA:=100*TVA/TV;
VA

 

UP

HOME

 

 

VFI

PERIOD:=Input("PERIOD FOR VFI",5,1300,130);
COEF:=.2;
VCOEF:=Input("MAX VOLUME CUTOFF",0,50,2.5);
INTER:=Log(Typical())-Log(Ref(Typical(),-1));
VINTER:=Stdev(INTER,30);
CUTOFF:=COEF*VINTER*C;
VAVE:=Ref(Mov(V,PERIOD,S),-1);
VMAX:=VAVE*VCOEF;
VC:=If(V<VMAX,V,VMAX);
MF:=Typical()-Ref(Typical(),-1);
VFI:=Sum(If(MF>CUTOFF,+VC,If(MF<-CUTOFF,-VC,0)),PERIOD)/VAVE;
Mov(VFI,3,E);

VFI (Simplified)

Cum(If(Typ()>Ref(Typ(),-1),+V,If(Typ()<Ref(Typ(),-1),-V,0)))

Volume (Down, Red)

COEF:=.2;
VCOEF:=Input("MAX VOLUME CUTOFF",0,50,2.5);
INTER:=Log(Typical())-Log(Ref(Typical(),-1));
VINTER:=Stdev(INTER,30);
CUTOFF:=COEF*VINTER*C;
VAVE:=Ref(Mov(V,50,S),-1);
VMAX:=VAVE*VCOEF;
VC:=If(V<VMAX,V,VMAX);
MF:=Typical()-Ref(Typical(),-1);
VCM:=If(MF<-CUTOFF,VC,0);
VCM

Volume (Neutral, Blue)

COEF:=.2;
VCOEF:=Input("MAX VOLUME CUTOFF",0,50,2.5);
INTER:=Log(Typical())-Log(Ref(Typical(),-1));
VINTER:=Stdev(INTER,30);
CUTOFF:=COEF*VINTER*C;
VAVE:=Ref(Mov(V,50,S),-1);
VMAX:=VAVE*VCOEF;
VC:=If(V<VMAX,V,VMAX);
MF:=Typical()-Ref(Typical(),-1);
VCN:=If(MF<CUTOFF AND MF>-CUTOFF,VC,0);
VCN

Volume (Up, Green)

COEF:=.2;
VCOEF:=Input("MAX VOLUME CUTOFF",0,50,2.5);
INTER:=Log(Typical())-Log(Ref(Typical(),-1));
VINTER:=Stdev(INTER,30);
CUTOFF:=COEF*VINTER*C;
VAVE:=Ref(Mov(V,50,S),-1);
VMAX:=VAVE*VCOEF;
VC:=If(V<VMAX,V,VMAX);
MF:=Typical()-Ref(Typical(),-1);
VCP:=If(MF>CUTOFF,VC,0);
VCP

 

UP

HOME

 

 

 

 

 

 

site map        disclaimer        mission        privacy policy