Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Have anyone experience with tradestation limit executions on futures markets ? How often does it not execute at the exact price or does not fill at all? Thank you.
Can you help answer these questions from other members on NexusFi?
I don't think a limit order is supposed to slip at all. In trading commodity and index futures, in my experience, limit orders have filled exactly where I placed them. GTD orders get cancelled at the end of the day so, although rarely, I resubmit my orders when the new session opens but otherwise, if the order is there, it will get filled at the exact price. My experience is only with commodity and index futures so what you have experienced may be true for other futures markets that I do not participate in.
I wonder if there is need to tick "fill entire order when trade price exceeds limit price" in backtesting strategy properties or the first option "fill entire order when trade occurs at limit price or better" is enough. The backtesting results differ a lot according to these 2 options.
If you have a successful backtest with the "fill entire order when trade price exceeds limit price" setting, then it is a viable strategy for forward testing, otherwise the backtest is invalid in my opinion.
Search for kevinkdog's posts on backtesting with tradestation. He has also written a book on the subject.
- Order in Line: Since futures contracts are filled First In, then depends where you are in the line.
- Volume traded at the limit price: All the orders that are ahead of you will need to be filled first, for that reason the highest the volume at a price, the better the chances are you will get filled.
With the above said, on ES, during the Day Session, on Average I have seen that it requires about 300 shares to fill. Since this is an average, sometimes it can be 25 contracts other times it can be 800 and I dont get filled. My Limit orders go into the order book about 5 to 10 minutes (on average) before price gets there.
My experience: 80-90% of the time, the price has to be exceeded before you get a fill at your proce. The remaining time you will get filled if the market only touches your price.
Any backtest done with "fill entire order when trade occurs at limit price or better" is useless.
"Fill entire order when trade price exceeds limits price" is much more accurate, although a bit too pessimistic.
I am back testing a strategy and have "Fill entire order when trade price exceeds limits price" selected but there are fills that are sells on the high of a bar and buys on the low of the bar, which doesn't make sense. I am using Kase charts with 1 tick data.
my code is ... "buy next bar low+.25*range limit;"
Have you seen this problem before or is something wrong with my code? Thanks!
You are testing with Kase charts. I don't trust 'em even when built with 1 tick data. I think the Tradestation forum has some good writeups from TS staff on backtesting with exotic bars.
Tradestation forum seems to indicate problems with "advanced" charts as you say.
But I thought Kase with 1 tick data should be OK because tradestation doesnt mention it like the others as a problem for back testing. For example Kase is not mentioned here with the other chart types
"In real-time, bars, or "ticks," on some of the new charts may appear at prices where bars or ticks will not appear when the same data is loaded historically. This applies to Line Break, Renko, and Point & Figure Charts, as well as to any of the Advanced Chart Types that is constructed using an underlying interval greater than 1-tick. For this reason, stop, limit, and market orders cannot be used with these types of charts in back-testing or automation unless it is known that prices could not have traded at the stop or limit price without forming a new bar. from "Advanced Chart Types - Strategy Back-testing & Automation" in tradestation help full text below: Advanced Chart Types - Strategy Back-testing & Automation
The Advanced Chart Types, with the exception of Range Bar and Momentum Bar charts, do not include the highs and lows that occurred during the time period charted. For this reason, stop and limit orders cannot be used in the back-testing or automation of Advanced Chart Types that are constructed using an underlying interval other than 1-tick. In addition, only those charts constructed using a 1-tick underlying interval will have actual share or contract volume data available. For these reasons, the comments below are limited to charts built from 1-tick underlying data.
By default, TradeStation provides 6 months of historical tick data, so the back-testing of the Advanced Chart Types using a 1-tick underlying interval is limited to a 6 month historical period.
The Advanced Chart Types, with the exception of Kase Bars constructed from 1-tick data, use synthetic data to fill price gaps. In back-testing and in automation, then, fills can appear on prices that did not actually occur in the market.
Look-inside-bar back-testing is not available for the Advanced Chart Types. For this reason, an assumed price path is used to determine all strategy order fills historically. The presumed price path is high-to-low (for down bars) or low-to-high (for up bars) for the following chart types: Kagi, Line Break, Point & Figure, and Renko.
The Kagi and Point & Figure chart types require price movement of a certain "reversal amount" before a bar closes. This means that at the time that a strategy runs on a bar, prices have already moved away from the closing price by at least the reversal amount. For this reason, "this bar on close" and "next bar market" orders cannot be used with these types of charts. Also, the user must take precautions to avoid placing stop or limit orders that would be filled within the "reversal range."
Bars on Kagi, Point & Figure, Renko, and Line Break charts, bars do not form until prices have moved a certain amount. For this reason, when back-testing, it is possible to know the direction of the bar, and to guarantee that the bar is of a certain size, before initiating a trade. To illustrate this effect, the following strategy can be placed on a P&F, Renko or Line Break Chart and will show 100% profitability in back-testing:
On a Kagi chart, the following code will illustrate the same effect (100% profitable):
Buy next bar High + Minmove / PriceScale stop ;
Sell short next bar Low - MinMove / PriceScale stop ;
Sell this bar Close ;
Buy to cover this bar Close ;
In real-time, bars, or "ticks," on some of the new charts may appear at prices where bars or ticks will not appear when the same data is loaded historically. This applies to Line Break, Renko, and Point & Figure Charts, as well as to any of the Advanced Chart Types that is constructed using an underlying interval greater than 1-tick. For this reason, stop, limit, and market orders cannot be used with these types of charts in back-testing or automation unless it is known that prices could not have traded at the stop or limit price without forming a new bar. On Line Break and Renko charts, however, "this bar on close" orders can be used, as long as it is understood that when automated, such orders will be filled at the next available price after the bar's close, rather than at the bar's closing price and that, should a gap occur, the fill price will be created from synthetic price data.
Since bars on the Advanced Chart Types are not time-based, they are not forced to close at the end of a session. For this reason, SetExitOnClose does not work with these types of charts. Currently, there is no way to force an end-of-day or end-of-session exit either back-testing or automation.
I'd say your findings (buying at bottom) are enough to question their accuracy. It is good you looked in depth at your results - most people assume the backtest is always correct.