Yes, I would think that having trade delays, in conjunction with time based logic, could be a source of problems.
If I understand you corrrectly, you want trade delays for your signal based trades, but immediate trades for time limits. You can emulate this by not having any delays and then writing code along the lines of the following: SetTradeDelays(0, 0, 0, 0); SellCondition = ... NextBarNotToday = ... Sell = Ref(SellCondition, -1) OR NextBarNotToday; In the above sample, the actual sell happens on the bar of the sell instruction. But, the sell instruction refers to the signal of the previous bar (i.e. delay of 1 bar) *or* some time based logic of the current bar (i.e. last bar of day). Mike --- In [email protected], "aghari" <[EMAIL PROTECTED]> wrote: > > Good suggestion, Mike. > > I tried implementing that idea as follows: > > ForceCloseTradesAfter = 151300; > NextBarOutsideRTH = (Ref(TimeNum(),1) > ForceCloseTradesAfter); > NextBarNotToday = (Ref(DateNum(),1) > DateNum()); > Sell = SellCondition OR NextBarOutsideRTH OR NextBarNotToday; > > However, there are still trades in backtesting that doesn't close on > the same day. What am I missing? Do you think the trade delays of 1 > bar that I have in place is causing exceptions? If so, how do I > programmatically override them for the above conditions > (NextBarOutsideRTH/NextBarNotToday)? > > > --- In [email protected], "Mike" <sfclimbers@> wrote: > > > > What about using a look ahead and comparing the date of the next bar > > with the date of the current bar. When not the same, then you know the > > current bar is the last bar of the day and you can generate a Sell > > signal. > > > > Mike > > > > --- In [email protected], "aghari" <aghari@> wrote: > > > > > > Listing every single day when the market as closed early is not > > > possible in a backtest (10 years data and I don't have access to > > it). > > > > > > A bit more background on what I'm trying to do - I'm running > > > backtests (day session only) on 1-minute ES futures and I've a > > number > > > of trades that happen to hang around until the next session open > > > (mostly gapping up/down) before closing causing spikes in > > profits/losses. > > > > > > Is there a way to find the last quote before a certain time of the > > day > > > using AFL and set that as the sell/cover price for any open > > positions? > > > > > > > > > --- In [email protected], "Barry Scarborough" <razzbarry@> > > > wrote: > > > > > > > > The code is fine but you will either have to close the trade > > manually > > > > on those days or if you can get a list of those days and the > > closing > > > > times add that to your OR statement. > > > > > > > > Barry > > > > > > > > --- In [email protected], "aghari" <aghari@> wrote: > > > > > > > > > > I'm backtesting an intraday daytrading system and having trouble > > > > > coding up sell/cover conditions that should close any open > > positions > > > > > by the end of the day. > > > > > > > > > > I tried the following: > > > > > > > > > > ForceCloseTradesAfter = 151300; > > > > > Sell = SellCondition OR (TimeNum() > ForceCloseTradesAfter); > > > > > > > > > > With the above I encounter days when the market closes early > > (early > > > > > closure for holidays etc.) and above AFL shall fail. > > > > > > > > > > Is there a better way to handle closing of open positions? > > > > > > > > > > > > > > >
