logo
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
MS Support  
#1 Posted : Friday, July 28, 2017 10:13:26 PM(UTC)
MS Support

Rank: Advanced Member

Groups: Moderators, Registered, Registered Users, Subscribers
Joined: 10/8/2010(UTC)
Posts: 1,431

Thanks: 35 times
Was thanked: 113 time(s) in 109 post(s)

Markos Katsanos' article, “Which Trend Indicator Wins”, presented formulas for 4 different indicators designed to identify trending markets. The formulas are listed below: 

ADX: 

This indicator is built into MetaStock.  It can be used with the formula function: 

ADX( periods )

For example, to use a 14 period ADX, you would write: 

Code:
ADX( 14 )

The formulas for the ADX trend system is: 

Buy: 

Code:
( (Cross(ADX(14), 30) AND ADX(14) < 42) OR (Cross(ADX(14), 22) AND ADX(14) > 1.8*LLV(ADX(14), 12) ) ) AND C > Mov(C, 50, S)

Sell: 

Code:
Cross( Mov(C, 50, S), C )

Sell Short: 

Code:
( (Cross(ADX(14), 30) AND ADX(14) < 42) OR (Cross(ADX(14), 22) AND ADX(14) > 1.8*LLV(ADX(14), 12) ) ) AND C < Mov(C, 50, S)

Buy to Cover: 

Code:
Cross( C, Mov(C, 50, S) )

Vertical Horizontal Filter (VHF): 

This indicator is built into MetaStock.  It can be used with the formula function: 

VHF( data array, periods )

For example, to use a 14 period VHF on the Close, you would write: 

Code:
VHF( C, 14 )

The formulas for the VHF trend system is: 

Buy: 

Code:
( (Cross(VHF(C, 36), .38) AND VHF(C, 36) < .45 AND VHF(C, 36) > Ref(VHF(C, 36),-10)) OR (Cross(VHF(C, 36), .24) AND VHF(C, 36) > 1.5*LLV(VHF(C, 36), 10) ) ) AND C > Mov(C, 50, S)

Sell: 

Code:
Cross( Mov(C, 50, S), C )

Sell Short: 

Code:
( (Cross(VHF(C, 36), .38) AND VHF(C, 36) < .45 AND VHF(C, 36) > Ref(VHF(C, 36),-10)) OR (Cross(VHF(C, 36), .24) AND VHF(C, 36) > 1.5*LLV(VHF(C, 36), 10) ) ) AND C < Mov(C, 50, S)

Buy to Cover: 

Code:
Cross( C, Mov(C, 50, S) )

Efficiency Ratio: 

Perry Kaufman's efficiency ratio can be added to MetaStock with the following formula: 

Code:
tp:= 10; {time periods}
Abs( ROC( C, tp, $) ) / Sum( Abs( ROC( C, 1, $) ), tp)

As written, it is for a 10 period efficiency ratio.  If you wish to use a different number of periods, just change the number on the first line.

The formulas for the efficiency ratio trend system is: 

Buy:

Code:
er := Mov( Abs( ROC( C, 24, $) ) / Sum( Abs( ROC( C, 1, $) ), 24), 3, S);
( (Cross( er, .36) AND er < .42 AND er > Ref(er, -3)) OR (Cross(er, .26) AND er > 2.5*LLV(er, 3) ) ) AND C > Mov(C, 50, S)

Sell:

Code:
Cross( Mov(C, 50, S), C )

Sell Short: 

Code:
er := Mov( Abs( ROC( C, 24, $) ) / Sum( Abs( ROC( C, 1, $) ), 24), 3, S);
( (Cross( er, .36) AND er < .42 AND er > Ref(er, -3)) OR (Cross(er, .26) AND er > 2.5*LLV(er, 3) ) ) AND C < Mov(C, 50, S)

Buy to Cover: 

Code:
Cross( C, Mov(C, 50, S) )

R-squared: 

This indicator is built into MetaStock.  It can be used with the formula function: 

RSquared( data array, periods )

For example, to use a 21 period R-squared calculated on the Close, you would write: 

Code:
RSquared( C, 21 )

The formulas for the R-squared trend system is: 

Buy: 

Code:
r2 := RSquared(C, 18);
lr := LinRegSlope( C, 18 ) * 100;
Cross( r2, .42) AND r2 < .85 AND r2 > Ref(r2, -10) AND C > Mov(C, 50, S) AND lr > 10

Sell: 

Code:
Cross( Mov(C, 50, S), C )

Sell Short: 

Code:
r2 := RSquared(C, 18);
lr := LinRegSlope( C, 18 ) * 100;
Cross( r2, .42) AND r2 < .85 AND r2 > Ref(r2, -10) AND C < Mov(C, 50, S) AND lr < -10

Buy to Cover: 

Code:
Cross( C, Mov(C, 50, S) )

Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.