Hi Everyone, Here's an idea I've been using for a few months and has been doing ok. I'll go through the details but not going to post any results. OK, here we go Suppose that the average intraday range (say 20 days) on a stock index futures contract is 3.00%. The sytem will assume that the range of 3.00% will be traded each day. We dynamically assign long and short triggers and profit targets as follows: Long Trigger = Day Low + (0.5 x Average Intraday Range) Short Trigger= Day High - (0.5 x Average Intraday Range) Long Target = Day Low + Average Intraday Range Short Target = Day High - Average Intraday Range Stop Loss = Entry +/- (0.25 x Average Intraday Range ) The logic is to wait for the market to move in the right direction by at least half way and use a 1 or 3 minute chart to trade the breakout of the first peak/trough that follows to avoid false breaks. If the market reverses, take the stop and then trade the opposing trigger if breached. Only trade each direction once to avoid stacking up losses. To be more conservative watch the major constituents of the index u are trading. You want these to be moving in the same direction as confirmation. And look to close the trade at 75% of the projected target (ie. (Target - Entry) x 0.75) in case the range today is less than the average. Comments welcome
Sounds well-conceived and if the entries and exits are generated properly you should have good success.
Steve, The "Daily Low" is the prior day's Low, I assume ? So, looking at the Long side, if we gap up in the morning by more than half the Average Range, then there is a good chance that we will be filled at the Open ? Is that what you are saying here ?
Hayman, The Day Low is the current day's low. So if the market keeps falling then the Long Trigger will be adjusted lower. And trading is abandoned once the average daily range is filled. Also note that as the market keeps falling, it may trigger the Short Trigger. What do u think? Other readers welcome to comment too
So, is the current days low effectively period '21' and calculated real time so that the entry (and / or exit) triggers become dynamic? Also, how did you arrive at 20 days? Thanks.
Here is an initial attempt at coding. Entry breakout version is commented out. Alternate version of ATR is commented out Code follows ------------------------------------------ {Start Easylanguage Here} {Data1: Intraday Bars Data2aily bars} input:lookback(20),Rangepct(.5),StopPct(.25); Var:mp(0),Atr(0),upcross(0),downcross(0); mp=marketposition; {Atr=average(range,lookback) data2;} Atr=avgtruerange(lookback) data2; commentary("LowD(0) = ",Lowd(0)); commentary("Range = ",Atr); Commentary("Long entry = ",Lowd(0)+(rangepct*ATR)); {if c >= Lowd(0)+(rangepct*ATR) then buy next bar at (highest(c,3)+(minmove/100))stop; if c <=Highd(0)-(rangepct*ATR) then sell short next bar at (lowest(c,3)-(minmove/100))stop;} if c crosses above Lowd(0)+(rangepct*ATR) then begin if upcross=0 then buy this bar; upcross=1; end; if c crosses below Highd(0)-(rangepct*ATR) then begin if downcross=0 then sell short this bar; downcross=1; end; if mp=1 then begin sell("LX Target") next bar at lowd(0)+(.75*atr) limit; sell ("Lx Stop")next bar at entryprice(0)-(Atr*StopPct)stop; end; if mp=-1 then begin buy to cover("Sx Target") Next bar at Highd(0)-(.75*Atr )limit; buy to cover("Sx Stop") next bar at entryprice(0)+(Atr*StopPct) stop; end; setexitonclose; if time=sess1endtime then begin upcross=0; downcross=0; end;