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

Notification

Icon
Error

Options
Go to last post Go to first unread
FormulaPrimer  
#1 Posted : Thursday, June 26, 2014 3:14:35 PM(UTC)
FormulaPrimer

Rank: Advanced Member

Groups: Registered, Registered Users, Unverified Users
Joined: 8/12/2005(UTC)
Posts: 73

Mel Widner - "In my article "Automatic support and resistance" in this issue, I present a computerized approach to finding support and resistance levels on a chart. To recreate the indicators and system described in my article using MetaStock for Windows, enter the following formulas:

Indicators:

S1: IF(Ref(LOW,-4)=LLV(LOW,9),Ref(LOW,-4),PREVIOUS) S2: IF(Fml("S1")=Ref(Fml("S1"),-1),PREVIOUS,Ref(Fml("S1"),-1)) S3: IF(Fml("S1")=Ref(Fml("S1"),-1),PREVIOUS,Ref(Fml("S2"),-1)) S4: IF(Fml("S1")=Ref(Fml("S1"),-1),PREVIOUS,Ref(Fml("S3"),-1)) S5: IF(Fml("S1")=Ref(Fml("S1"),-1),PREVIOUS,Ref(Fml("S4"),-1)) S6: IF(Fml("S1")=Ref(Fml("S1"),-1),PREVIOUS,Ref(Fml("S5"),-1))

WSO: 100*(1?(Int(Fml("S1")/CLOSE)+Int(Fml("S2")/CLOSE)+Int(Fml("S3")/CLOSE)+Int(Fml("S4")/CLOSE) +Int(Fml("S5")/CLOSE)+Int(Fml("S6")/CLOSE))/6)

R1: IF(Ref(HIGH,-4)=HHV(HIGH,9),Ref(HIGH,-4),PREVIOUS) R2: IF(Fml("R1")=Ref(Fml("R1"),-1),PREVIOUS,Ref(Fml("R1"),-1)) R3: IF(Fml("R1")=Ref(Fml("R1"),-1),PREVIOUS,Ref(Fml("R2"),-1)) R4: IF(Fml("R1")=Ref(Fml("R1"),-1),PREVIOUS,Ref(Fml("R3"),-1)) R5: IF(Fml("R1")=Ref(Fml("R1"),-1),PREVIOUS,Ref(Fml("R4"),-1)) R6: IF(Fml("R1")=Ref(Fml("R1"),-1),PREVIOUS,Ref(Fml("R5"),-1))

WRO: 100*(1?(Int(Fml("R1")/CLOSE)+Int(Fml("R2")/CLOSE) +Int(Fml("R3")/CLOSE)+Int(Fml("R4")/CLOSE) +Int(Fml("R5")/CLOSE)+Int(Fml("R6")/CLOSE))/6)

The indicators S1 through S6 and R1 through R6 should be plotted as points and not as a continuous line.

Trading System Formulas and Parameters: Enter long positions on either building support or sustained uptrend and exit position using stops. No short positions.

Enter Long: Fml("WSO") > Mov( Fml("WSO") , 4 , S ) OR Mov( Fml("WRO") , 30 , S ) > 95

Stop Out:

Breakeven stop: Floor level at 2%

Trailing stop: Profit risk of 10 Percent, ignoring 10 periods

Maximum loss stop: Maximum loss of 7%

Other Conditions:

Initial equity = 1000, Long positions only, Trade price = close, Trade delay = 0, Entry commission = 0%, Exit commission = 0%, , Interest rate = 5%, Margin req. 100%"

Code:
{WRO}R1:=If(Ref(HIGH,-4)=HHV(HIGH,9),Ref(HIGH,-4),PREVIOUS); R2:=If(R1=Ref(R1,-1),PREVIOUS,Ref(R1,-1)); R3:=If(R1=Ref(R1,-1),PREVIOUS,Ref(R2,-1)); R4:=If(R1=Ref(R1,-1),PREVIOUS,Ref(R3,-1)); R5:=If(R1=Ref(R1,-1),PREVIOUS,Ref(R4,-1)); R6:=If(R1=Ref(R1,-1),PREVIOUS,Ref(R5,-1)); WRO:=100*(1-(Int(R1/CLOSE) + Int(R2/CLOSE) + Int(R3/CLOSE) + Int(R4/CLOSE) + Int(R5/CLOSE) + Int(R6/CLOSE))/6); WRO;{WSO}S1:=If(Ref(LOW,-4)=LLV(LOW,9),Ref(LOW,-4),PREVIOUS); 
S2:=If(S1=Ref(S1,-1),PREVIOUS,Ref(S1,-1)); 
S3:=If(S1=Ref(S1,-1),PREVIOUS,Ref(S2,-1)); 
S4:=If(S1=Ref(S1,-1),PREVIOUS,Ref(S3,-1)); 
S5:=If(S1=Ref(S1,-1),PREVIOUS,Ref(S4,-1)); 
S6:=If(S1=Ref(S1,-1),PREVIOUS,Ref(S5,-1)); 
WSO:=100*(1 - (Int(S1/CLOSE) + Int(S2/CLOSE) + 
Int(S3/CLOSE) + Int(S4/CLOSE) + 
Int(S5/CLOSE) + Int(S6/CLOSE))/6); WSO;Mov(WRO,4,E);Mov(Mov(WRO,4,E),4,E);Mov(WSO,30,E);Mov(Mov(WSO,30,E),30,E);
The above improved the results from the original article. Any improvement suggestions are welcomed.
Laisze  
#2 Posted : Sunday, June 29, 2014 11:59:31 AM(UTC)
Laisze

Rank: Advanced Member

Groups: Registered, Registered Users, Subscribers
Joined: 11/18/2007(UTC)
Posts: 96
Location: HK

12 cpu-intensive Prev functions - good luck with trying to backtest that.

Also, good luck with finding a broker who will let you trade your end of session (ie after the market close) system signals at EoD's close price, with no brokerage to boot.


Users browsing this topic
Guest (Hidden)
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.