TradeStation Help

Calculating Strategy Orders on Historical Data

Time-based bars include the Open, High, Low, and Close for the specified time period. When you work with historical data to test a strategy, TradeStation doesn't know the chronological order of the transactions that make up the bar. The only transactions for which the chronology is known are the Open, which occurred first, and the Close, which occurred last. With time-based bars based on historical data, there is no way to know whether the market opened and then went down, or the market opened and then went up.

However, because the order of ticks can be important, two general rules were established about price movement and the chronological order in which ticks occur.

Assumption 1

The order in which prices on a bar are reached relates to the proximity of the Open to the Low and to the High.

When the Open is closer to the Low than to the High, TradeStation assumes that the Low was reached first. Likewise, if the Open is closer to the High, TradeStation assumes that the High was reached first. For example, say you have a buy order at 100. You protect yourself against losses at 97 points or lower, and want to exit the position at 101 or higher. The Open is 99 points. The High of the bar is 102 and the Low is 92, so the Open is closer to the High. In this case, your buy order is filled at 100 and your strategy will generate your profit-taking exit order at 101, thus recording a profit of 1 point.

However, it's possible that in reality the price climbed to 100, at which point your entry order was filled, and then it dipped, hitting 99, before climbing back up to 101. In this case, you would actually have taken a loss of 1 point instead of a profit of 1 point. So, looking at historical data, and based on the market assumption described earlier, TradeStation would record this trade as a winner, when it would in fact have been a loser. The opposite could happen also, where a trade could be recorded as a loser when it was actually a winner.

To more closely simulate market activity in these cases, TradeStation developed what is known as Bouncing Ticks™. This automatically bounces the data in the opposite direction of any filled stop or limit order by a percentage (the TradeStation default is 10%), and then continues to the next item on the bar (High, Low, or Close). This action more closely resembles what happens using real-time data.

Using this 10% setting on the example above, the buy would have happened at 100, and would have dropped immediately by 10% to 99 (to more closely resemble real-time results), your exit would be recorded at 99, and the bar would more correctly reflect the losing trade that would have happened if you had been using real-time data.

For instructions on modifying the Bouncing Ticks™ option, see Percent increment for Bouncing Ticks(tm) on the Chart Analysis Preferences - Strategies tab.

Assumption 2

Symbols trade at every price along the bar.

The second assumption is that a symbol trades at every price along the bar. That may not always be an accurate assumption. If, using the example above again, you had a buy order at 100, and the symbol actually traded at 99 and then jumped to 101, the strategy would record your buy at 100, even though you actually were filled at 101. If your exit was at 110 then, the strategy would record a profit of 10 points, even though your true profit would only be 9 points. This assumption might cause a strategy to appear more or less profitable than it actually was.

Although Bouncing Ticks tries to address both of these assumptions by simulating price movement,  TradeStation also allows you to address both of these assumptions in a more direct manner by setting  back-testing resolution to either tick or intraday. This increased back-testing resolution allows your strategies to be evaluated according to the actual prices in the order they occurred.

For instructions on changing the back-testing resolution, see Strategy Properties for all Strategies on this Chart - Backtesting.