I have returned and I am setting things up to be posting a lot more content soon on many different topics. I am currently reviewing my old article and will update these concepts and share them with you soon.
Let's look at a simple index example for S&P500 and Nasdaq using day session only. We will buy at 30% of the yesterdays range above the open and sell at 30% of yesterdays range below the open. We will either reverse or hold for 5 days. This strategy did not work in 2009 and 2010 after working well in 2007-2008. It seems like it working again in 2011 Year trades Wins PWin Open trades Profit 2007 210 111 52.86% 1 $31,060.00 2008 245 136 55.51% 2 $43,877.50 2009 199 98 49.25% 2 ($3,427.50) 2010 210 93 44.29% 2 ($6,097.50) 2011 90 52 57.78% 2 $8,372.50
Excellent work Murray! Very interesting results for the indices. I believe if you filter the entry based on where it opens, you can get better results. I have these questions based on this: Was there a stop-loss used? Can you elaborate a little more about the exit? Is this is a swing trade? What position size? What amount was risked / trade? Average winner/loser? Consecutive winners / losers? Max Drawdown?
Here is the code for the system that I used to generate the results I showed earlier. '******************************** ' IndexSys Mult is % of range off of the open and SType is either range or truerange ' 0 is range and 1 is truerange ' The system also exits all trades after five days ' TradersStudio(r) copyright 2004-2011, All rights reserved Sub IndexSys(Mult,SType) Dim Nxtopen Dim MyRange As BarArray Nxtopen=NextOpen(0) If SType=0 Then MyRange=Range Else MyRange=TrueRange End If ' We do not have a NextOpen on the last bar so we need to set it to zero ' This way the active order is reported as a change off of the open If BarNumber=LastBar Then Nxtopen=0 End If If Close>Open Then Sell("SellBrk",1,Nxtopen-Mult*Average(MyRange,3,0),Stop,Day) End If If Close<Open Then Buy("BuyBrk",1,Nxtopen+Mult*Average(MyRange,3,0) ,Stop,Day) End If If BarsSinceEntry>5 And MarketPosition=1 Then ExitLong("TimeLong","BuyBrk",1,0,Market,Day) End If If BarsSinceEntry>5 And MarketPosition=-1 Then ExitShort("TimeShort","SellBrk",1,0,Market,Day) End If End Sub
I am starting a new series of educational threads soon. This Opening range breakout is one of my most popular I will have a more organized thread on this topic soon.