Understanding Backtesting: Difference between revisions
No edit summary |
Abeloglazova (talk | contribs) No edit summary |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
A strategy is a set of [[ | A strategy is a set of [[Signal_Settings|Signals]] applied to a chart. Each [[Signal_Settings|signal]] is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of trading rules implemented in the signal's algorithm. | ||
<div style="background-color: #E3FBE5;">Note: A strategy has separate [[ | <div style="background-color: #E3FBE5;">Note: A strategy has separate [[Strategy_Properties|Properties]], separate from signals' settings.</div> | ||
Once a strategy is applied to a chart, the backtesting process starts. During the backtesting process, the strategy places trades where they would have occurred the past, according to the set of rules applied. The trades are placed throughout the entire available period of historical data. If strategy is applied to real-time chart, the strategy continues to place new trades as the real-time data is received. | Once a strategy is applied to a chart, the backtesting process starts. During the backtesting process, the strategy places trades where they would have occurred in the past, according to the set of rules applied. The trades are placed throughout the entire available period of historical data. If strategy is applied to real-time chart, the strategy continues to place new trades as the real-time data is received. | ||
A [[Using_Performance_Report|Performance Report]] can be generated, based on the trades placed by the strategy and containing statistics and performance measurements. | A [[Using_Performance_Report|Performance Report]] can be generated, based on the trades placed by the strategy and containing statistics and performance measurements. | ||
Line 18: | Line 18: | ||
To learn more about this feature, see [[Using_Performance_Report#Setting_Display_Properties|Setting Display Properties]] | To learn more about this feature, see [[Using_Performance_Report#Setting_Display_Properties|Setting Display Properties]] | ||
Learn more about [[ | Learn more about [[Signal_Settings|Signals]] | ||
<br>Learn more about [[Using_Performance_Report|Performance Report]] | <br>Learn more about [[Using_Performance_Report|Performance Report]] | ||
<br> | <br> | ||
== Understanding Intra-Bar Orders Calculations == | == Understanding Intra-Bar Orders Calculations == | ||
Line 30: | Line 31: | ||
In some cases it may be possible that both the entry and the exit orders will be executed based on the same tick. | In some cases it may be possible that both the entry and the exit orders will be executed based on the same tick. | ||
For a detailed description see [[ | For a detailed description see [[How_Scripts_Work#Order_Execution_Priority|Order Execution Priority]] | ||
=== Strategy Order Calculation for Historical Data === | === Strategy Order Calculation for Historical Data === | ||
Line 38: | Line 39: | ||
While it is not possible from these four values to infer the actual price movement within each bar, the Backtesting Engine improves the backtesting accuracy by incorporating intra-bar price movement assumption logic. | While it is not possible from these four values to infer the actual price movement within each bar, the Backtesting Engine improves the backtesting accuracy by incorporating intra-bar price movement assumption logic. | ||
For a detailed description of the movement assumption logic, see [[ | For a detailed description of the movement assumption logic, see [[Intra-bar_Price_Movement_Assumptions|Intra-Bar Price Movement Assumptions]] | ||
In some cases it may be possible that both the entry and the exit orders will be executed based on the same bar. | In some cases it may be possible that both the entry and the exit orders will be executed based on the same bar. | ||
For a detailed description see [[ | For a detailed description see [[How_Scripts_Work#Order_Execution_Priority|Order Execution Priority]] | ||
<br> | <br> | ||
[[Category:Backtesting]] | [[Category:Backtesting]] |
Latest revision as of 15:03, 27 April 2017
A strategy is a set of Signals applied to a chart. Each signal is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of trading rules implemented in the signal's algorithm.
Once a strategy is applied to a chart, the backtesting process starts. During the backtesting process, the strategy places trades where they would have occurred in the past, according to the set of rules applied. The trades are placed throughout the entire available period of historical data. If strategy is applied to real-time chart, the strategy continues to place new trades as the real-time data is received.
A Performance Report can be generated, based on the trades placed by the strategy and containing statistics and performance measurements.
Understanding Report-Chart Synchronization
MultiCharts allows the user to visually match the trades from a Strategy Performance Report with their signals on the chart. For strategies that have hundreds of trades over a long data series, it may be cumbersome to manually match a trade in the Strategy Performance Report to the chart.
The user would have to use the scroll button to find the trade in the data series. Report-Chart Synchronization simplifies this process. Trades on the chart are automatically highlighted when the user hovers his mouse over a trade in the Strategy Performance Report.
To learn more about this feature, see Setting Display Properties
Learn more about Signals
Learn more about Performance Report
Understanding Intra-Bar Orders Calculations
Strategy Order Calculation in Real-Time
Each time a new real-time tick is received, MultiCharts evaluates the data to determine if entry or exit order conditions of the strategy are met on that tick. If the conditions are met, the appropriate order is issued.
In some cases it may be possible that both the entry and the exit orders will be executed based on the same tick.
For a detailed description see Order Execution Priority
Strategy Order Calculation for Historical Data
Historical data available for backtesting will, in most cases, be in the form of bars based on a group of ticks, with only Open, High, Low, and Close prices available.
While it is not possible from these four values to infer the actual price movement within each bar, the Backtesting Engine improves the backtesting accuracy by incorporating intra-bar price movement assumption logic.
For a detailed description of the movement assumption logic, see Intra-Bar Price Movement Assumptions
In some cases it may be possible that both the entry and the exit orders will be executed based on the same bar.
For a detailed description see Order Execution Priority