Alpha_monkey, without attempting a lengthy answer, a few of your suggested modifications are correct. However, the more filters you introduce, the more they simultaneously help and hinder the making of a better model. You have to know how you are going to read the greater or increased details of your model. The good news is that the problem solving required appears to defeat any independent traders attempting to create an accurate predictive model. This means you are going to be almost alone in the market without others being able to duplicate your method of play.
Is there a code out there for Amibroker? I have a similar one but it does not produce the signals explained here...I'll post it and I hope someone can correct it please. Thank you Dennis //SETUP INITIAL VALUES PIndex = 0; Starttime = 063000; Daystart = Cross (TimeNum(), Starttime); Endtime = 130000; eod = 130000; Tradetime = 084500; //Find the high at Begintime High_at_time = IIf(Cross(TimeNum(), Tradetime), HighestSince(Daystart, H), 0); //Find the low at Begintime Low_at_time = IIf(Cross(TimeNum(), Tradetime), LowestSince(Daystart, L), 0); //High will be high until Tradetime, then max up until then Dayhigh = IIf(TimeNum() <= Tradetime, HighestSince(Daystart, H), HighestSince(Daystart, High_at_time)) ; //Low will be low until Tradetime, then min up until then Daylow = IIf(TimeNum() <= Tradetime, LowestSince(Daystart, L), HighestSince(Daystart, Low_at_time)) ; //Enter the trades Buy = (TimeNum() > Tradetime AND TimeNum() < Endtime AND H > Dayhigh); Short = (TimeNum() > Tradetime AND TimeNum() < Endtime AND L < Daylow); //Only 1 trade in each direction Bought = HighestSince(Daystart, Ref(Buy,-1)); Shorted = HighestSince(daystart, Ref(Short,-1)); Buy = Buy AND !Bought AND !Shorted; Short = Short AND !Shorted AND !Bought; Bought = HighestSince(Daystart, Ref(Buy,-1)); Shorted = HighestSince(daystart, Ref(Short,-1)); OpenPrice = IIf (Bought, ValueWhen(Buy, C), IIf(Shorted, ValueWhen(Short, C), Null)); //Price at trade open //if cross the other line then go flat Sell = L < Daylow AND Bought AND TimeNum() < EOD; Sold = HighestSince(Daystart, Ref(Sell,-1)); Sell = Sell AND !SOld; Cover = H > Dayhigh AND Shorted AND TimeNum() < EOD; Covered = HighestSince(Daystart, Ref(Cover,-1)); Cover = Cover AND !Covered; //Get out at EOD Sell = IIf(Cross(TimeNum(), EOD) AND Bought AND !Sold, 1, Sell); Cover = IIf(Cross(TimeNum(), EOD) AND Shorted AND !Covered, 1, Cover); Sold = HighestSince(Daystart, Ref(Sell,-1)); Covered = HighestSince(Daystart, Ref(Cover,-1));
Interesting. Thanks for the reply. Given that you appear to primarily trade a US index and also appear to be from the UK, I wonder if you use European index performances to inform trading in the US session. It strikes me that looking at the markets this way provides further contextual information. Perhaps it's an area I should look at. Acknowledge your thoughts on filters both helping and hindering performance, however. What are your thoughts on reading volume in the short term? AM
Hi, I yesterday found this thread, first excuse for my sometimes poor english, it`s not my first language... I developed a quite similar YM-System and I am surprissed about the congruence, i also use a 5-7 Day ATR to define the range. In liquid markets is volatility more predictabel then price, and this NR4/7 stuff from Conners/Raschke was the reason to test such range conditions. I did a lot more reasearch in the meantime, here are my results and ideas from my extensive testing. I have to mention that i use collected IB Data which contains in rare cases little holes (login little bit to late, etc...). so the results are not the absolutely real thing. I look more for good average trade results then for highest netprofit and trade more rarelyâ¦.And â¦.Markets are not simple, so why should systems? My conclusions: · the last Check of different timeranges in the YM of a Breakout System without filters over the last 1 1/2 years showed the 105 min the best netprofit/avgtrade. · I never recognised a Thursday effect, but poor Mondays, from my thousands of hours screentime I also found Mondays visually poor. I think Larry Williams did a research about DayofWeek ranges, in most markets Mondays have the smallest range of the week. I don`t remember the source but I read the Dow has this effect remarkableâ¦My Systemresults are better by excluding Mondays. · I also use symetric Rules for Long and Short, but I don`t think that`s optimal, Prices in Equities behave different in falling and climbing, so the next step here is to develop a Long and a Shortsystem. · OpenRange, Gap`s, Entryposition, some Testingresults: · 1. The Size of the Openrange is important, if the Size is already too big, there is no more air for further movement, better not more then Daily ATR(5-7) * 0.8-1. 2. Too small is also not good, cause a Break of a real small range is meaningless and poor noise, range should have a minimum size for a signal. 3. A Gap in direction of the trade is negativ und should not very big, just small gap`s are allowed. 4. Position of the Entryprices in relation to yesterday`s daily close (or try high/low), this is crossrelated to the Openrange Size, for long the Entry should not to much over yesterday`s close, for short vice versa. The movements are rarely skyscratching and fading occurs soon. 5. Results(Avgtrade !) are better if the daily market is not overbought/sold, measured by a CCI(20), should not over 150 or under â150, 100 is more better, but reduces number of trades a lot. Similar should any other Indikator do the work like Stoch. RSI, did not a too extensive testing here, think CCI was one of the better one`s. May be the Traders are more nervous, the emotional stress higher, this leads to more erratic movements or so. Similar effect if using daily VIX, should under it`s 10 Day Average for better Avgtrade results, high VIX is more fear/nervousness in the market. 6. Breakeven Stop makes things little bit better, did use a breakeven + 5 points after profit reached 4 * ATR(21) on 5 Min Chart. 7. I use with a little improvement a late day stop, if the last 75 mins of trading are starting, I exit (Example For Long) on the lowest Low of the last 10 to 20 bars, depending on the type of system/filters. 8. I try to not exit EOD, but from 0400 I throw limitorders, if not filled I exit EOD. 9. may be John F. Clayburg`s daily directional filter is usefull, did some mixed testing, Very reduced explained:The main activity, simply the midpoint of the first 60-90 minutes should be over the Open for Long, vice versa for short. Originally he uses not the open but the range of the first 5 Min. makes not too much differenceâ¦.good for Avgtrade. 10. Day of the month could be make some difference, the big money don`t look on charts, they invest in a timely manner, there is a regular moneyflow from pensionfunds for example, the last trading days of the month are a bullish example. Or try some testing of how much days till expiration etc. 11. Further should be done some tests about not only the range of the previous day but the trendiness of it, 2 Trenddays in seriell have a bad chance. Next thing checking would be Inside Days, NR 4/7, The $Tick, $Trin should be interesting, but I have no Data for testing. 12. Test always everything, try to test things you never thought or even heard about, the most logical things are seldom good, but the things you have really no clue about the effects are sometimes surprising Good Trading Folks Regards, Michael
Uuh, I`ve vergotten some little detail, I don`t take signals in the Lunchhour(Lunchhour Signals performed very poor...) and not later then 0230...
I`m really getting old...another little Detail....the range of the last 2 Days together should also not exceed 2-2.5 * Daily ATR(7), in some occasions the second last day was a Widespread Bar and yesterday is just in range, this condition shouts more for a Z-Day then a Trendday and is not checked from the single check of yesterday`s range. Hopefully I`ve got it now all.... greetings Michael
Alpha_monkey, I work the the Dow currently (YM). The US index futures I regard as 'King'. You are casting your net wide; if I my say so, contextual information beyond the index being considered, while interesting, will not assist the focus needed to master a particular market with an accurate model to predict it. It is a technical problem solving exercise confined to the particular index. I have in the past discounted volume as offering any vital assistance. And indeed a prediction model does not need it. However you can read volume in conjunction with price and I would agree it can be helpful.
I`ve just made some tests with âVolatility Standartdeviationâ as a Filterâ¦. But first, for the folks still wondering why such a system performs poor the last time, in the first pic you see the Death of Volatility, Vola is at very low Levels⦠http://trader.gmxhome.de/breakertest.gif Next left the Equitycurve (Jul.2004 â Feb. 2006) of a Version of mine, with 105 Min range Entry, no Mondays, no Lunch, Entry max 0240, Stop Entry +/- 1,5 * Openrange, some kind of trailing/breakeven stop (making just a lite diffâ¦), if time > 0400 exit at average(close,3) limit, else exit EOD, no additional filters. Right hand the stats. Ok, just for fun I checked this as filteringâ¦(Data3 is daily) (VolatilityStdDev(3)of DATA3) > (VolatilityStdDev(test)of DATA3) As you see the next pic, the averagetrade is in every # of âtestâ significant higher than the original Strategie with ~ 57,-$ /Trade, same the Profitfactor, climbing on 3,11 â 5,89 That may not be the optimal use of Volatility Standartdeviation, but looks promising. Happy testing, Michael
Hi Michael, Interesting posts. Reassuring or worrying that your methodolgy is similar to the Example System?! I'm now considering the system's money management. MM is looked at briefly in the original article. However I reckon there is more to be gained in developing this area further. Have you made any discoveries of note here? Secondly, I think it would be useful to derive a systematic fading/range trading strategy to run alongside this ORB strategy. As an open question, what patterns or parts of market behaviour would anyone recommend looking at for this purpose? AM
Hi AM, Yes I did MM Research/Tests with some of my Systems. I soon start to trade my ORB System first with a 5% Fixed Ratio, after some profit I want to switch to a 7.5 or 10% Fixed Ratio, if loosing, back to 5%. I want to work with the market money with higher Risk % than the Starting-equity. I`have a code to compute optimal-f on a Tradestation Strategy, but optimal-f is suicidal....Some dynamic MM would make sense to adjust the size in relation to the market Vola or stop width, I simply use the largest loss from backtesting as Risk%. If the largest loss was 400,-$ and i work with 10% Fixed Ratio, Accountsize is 10000,-$, i can trade 2 contracts. Or Accountsize 20000,- = 5 contracts. Fading-Strategie:Mmmh, an Openrange BO Strategie is somewhat simple, but I worked a shitload of hours on the details and I have not checked all things....A lot of people don`t look intense enough in the veeeryyy depth of the market stuff, so makes the shape of the openrange quite a difference, the Pos. of the high/low/close of the OR....etc... A (mechanical) fading Strategy is far more complex in my opinion, take the exit, in a ORB System you simply exit EOD, the exit in a fading system alone is vy tricky. Fading with just 1 contract won`t work very good, you have to think about some scaling/pyramiding stuff. First you have to think about conditions (setup) statistical good for ranges or reversals, then look for Entrypatterns. I tried some stuff in the past but never got stable results, I didn`t find pivot/Fibbo stuff very useful... Pattern would be: Relativly sharp decline in the ES in the first 120 Min. after minimum 45 Min trading with a Volumespike at a Low, after 10 -20 Min lower Low with significant lower Volume (Volumedivergence) may be some other Indikator shows also Divergence. Exit and Trademanagement is the problem, could only work as fast scalp or you get a reversal...best if the day before was already down or had an afternoon selloff. Very high $Tick readings, over 1100-1200, some minutes later the ES makes higher high, but the $Tick not...go short, S&P $Tick divergence, should be seen as a scalp trade...same with very low $Tick ==> long Such Stuff is extremly painful to programm, not really possible to test in a Software and often more the fast scalp stuff. Just my opinion... The Pic shows an ORB System with 1 contract and a 10% Fixed Ratio MM Michael