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

Notification

Icon
Error

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

Rank: Advanced Member

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

Thanks: 21 times
Was thanked: 96 time(s) in 93 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) )

Quick Reply Show Quick Reply
Users browsing this topic
New Topic Post Reply
Forum Jump  
You can post new topics in this forum.
You can reply to topics in this forum.
You can delete your posts in this forum.
You can edit your posts in this forum.
You cannot create polls in this forum.
You can vote in polls in this forum.