Rank: Advanced Member
Groups: Moderators, Registered, Registered Users, Subscribers Joined: 10/8/2010(UTC) Posts: 1,960
Thanks: 92 times Was thanked: 155 time(s) in 150 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:
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:
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:
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) )
|