- Basic Chart Replay Instructions
- Chart Replay Window Not Visible
- Replay Control Panel Controls
- Replay Mode
- Replaying Trade DOM Windows
- Replaying of Market Depth Data
- Automatic Skipping of Periods Where There Is No Trading and Synchronization
- Replay and Trading
- Historical Intraday Data Record Timeframe Effect on Replays
- Chart Update Interval During Replays
- Replaying Historical Daily and Higher Timeframe Charts
- Stepping through Chart Bars One by One
Sierra Chart is well known for its advanced chart replay functionality. When chart replay is used with Trade Simulation Mode, you have a very powerful trade simulation platform.
The Chart Replay feature is used to replay Intraday charts. Multiple charts can be replayed at the same time. To access the Chart replay feature, select Chart >> Replay Chart >> Replay Chart on the menu to open the floating control panel.
This control panel can be always visible and moved anywhere you like. It contains controls for controlling the replay, allows you to set the jump time, replay speed, and an option to replay all the charts in your Chartbook. Your replay speed can be slower than normal speed or much faster.
Market Depth data, if available, can also be recorded and replayed.
The Time and Sales window for the chart will display the trades during a chart replay.
Only Intraday data in the Sierra Chart SCID file format can be replayed. By default this is the file format that Sierra Chart uses when Intraday data is stored from the integrated Data/Trading services.
If you have opened an Intraday chart from Intraday data that is in a text format, you first need to Import it before you can replay it. You should easily be able to import the data, as various text data line formats are supported.
Basic Chart Replay Instructions
- Select Chart >> Replay Chart >> Replay Chart on the menu. Or press the Rpl Control Bar button. If the Chart Replay window does not appear, then refer to Chart Replay Window Not Visible.
In the case of a detached chart, you must select Chart >> Replay Chart >> Replay Chart on the detached chart menu so that the Replay Chart window is opened with the detached chart as the owner. Or if the detached chart has a Control Bar select Rpl.
- Scroll the chart back to where you want to begin the replay from. Use the scroll bar at the bottom of the chart to scroll the chart back. You can also press the Home key on the keyboard to go to the beginning of the chart. Refer to the image below.
If you cannot scroll back to the point in time were you wish to begin the replay, then select Chart >> Chart Settings. Increase the Days to Load. Press OK to close the Chart Settings window. Increase the chart bar spacing by pressing the Up Arrow key on your keyboard.
If you wish to replay data from an earlier Date than what is shown in the Date Range in File box, then refer to Downloading/Viewing More Historical Intraday Data to access more historical Intraday data.
- Set the Speed to what you want to use. If this is your first time with a replay, try running at about 30 or 60 times.
- Press the Play button to start the replay.
- In this image, you can see the indicators that a chart is replaying:
- If you do not see the chart advancing to the next bar when you expect it should, there can be two possibilities. The first step is to increase the replay Speed because it is not fast enough. Try increasing the Speed to 120. If that speed does not cause new chart bars to appear, increase the Speed all the way up to 1440 for the purpose of confirming the replay functionality is working which it does, and to advance to a point in time where there is data.
- The next step is to enable Skip Empty Periods on the Chart Replay window. For more information about this setting, refer to Automatic Skipping of Periods Where There Is No Trading and Synchronization.
Even with this option enabled, you may still have to wait up to about 65 seconds for the next bar to appear based upon the replay Speed you are using, the Intraday Data Storage Time Unit setting, and whether or not trading has occurred at the point in time in the chart you are replaying.
Chart Replay Window Not Visible
If the Replay Control Panel window does not appear at all when you select Chart >> Replay Chart >> Replay Chart, then select Window >> Reset Windows to reset it back to its default position.
After selecting this command, you may need to select Chart >> Replay Chart >> Replay Chart to display it again.
Replay Control Panel Controls
All replay functionality is accessed through the Replay Control Panel window. Each of the controls on this window are documented in this section.
The Replay Control Panel window can be open by selecting Chart >> Replay Chart >> Replay Chart on the menu, by pressing the Ctrl-R keyboard shortcut or by pressing the Rpl Control Bar button.
Partially Visible Replay Control Panel: If the Replay Control Panel window does not appear at all or some of its controls are partially cut off, then refer to Chart Replay Window Not Visible.
This button begins or resumes a replay on the active chart. When starting a replay, the first step is to scroll your chart back so that the bar you want to begin the replay at, is the last bar in view on the chart. Press the Play button to begin the replay. When For All Intraday Charts in Chartbook is enabled, then this plays all Intraday charts in the active Chartbook.
Reloading of Chart
When starting a replay or jumping back in time, keep in mind that the chart needs to be reloaded, which can be time-consuming, and therefore it is important that you set the Days to Load to the minimum number of days possible in Chart >> Chart Settings.
If you need to replay data that is far back in time and want to load a minimum number of days, then set the Use Date Range >> From and Use Date Range >> To in Chart >> Chart Settings to the date range that you want to replay. The date format is: YYYY/MM/DD.
New Bars Do Not Appear During a Replay
When you start a replay and new bars do not appear, then this can be for two reasons:
1. You are running a replay at too slow of a speed, Speed = 1.0 (equivalent to real-time), and the underlying data in the data file has a high timeframe per record such as 1 Minute. Therefore, you would only see a new bar appear every minute assuming there is some trading activity every minute. Increase the replay Speed in this case.
2. There is infrequent trading activity at the time you are performing a replay. When you perform a replay at a time in the chart where there has been minimal trading going on, then bars will be appearing infrequently. This is especially true if you are replaying at a slow replay Speed.
After beginning a replay, the Play button becomes the Pause button. This button pauses a replay on the active chart.
When for All Charts in Chartbook is enabled, this pauses a replay for all charts in a Chartbook that are being replayed. While paused, you can change the Replay Speed.
When a replay is running or is paused, the Stop button becomes enabled.
Press the Stop button to stop the chart replay. When stopping a replay, the chart data is reloaded in the chart up until the most recent time in the Intraday data file.
When a Chartbook is closed, the replay is also stopped on all charts within that Chartbook.
Jump Time (HH:MM:SS)
This specifies the amount of time to jump back or forward by when using the << (Jump Back) or >> (Jump Forward) commands.
<< (Jump Back)
This is the jump back button. It jumps the replay back by the amount of time specified in the Jump Time edit box on the Replay Control Panel. When you use this jump button, the chart is reloaded to the last time in the chart minus the jump time. If that time does not exist in the data file then no jump will occur or the jump will not go to that exact time. If you want to be able to jump to any time always, then enable Chart >> Chart Settings >> Include Columns with no Data.
To reduce the amount of time to reload the chart when jumping, select Chart >> Chart Settings. Reduce the Days to Load setting to a smaller number.
>> (Jump Forward)
This is the jump forward button. It jumps the replay forward by the amount of time specified in the Jump Time edit box on the Replay Control Panel. If the calculated time to jump to does not exist in the data file, then no jump will occur or the jump will not go to that exact time. If you always want to be able to jump to any time, then enable Chart >> Chart Settings >> Advanced Settings >> Include Columns with no Data.
This control displays and sets the Replay Speed. 1 means the chart will be replayed at normal speed. Normal speed is equivalent to the speed at which a chart will update when it is updating in real time. .5 means the chart will be replayed at half speed. 2 means the chart will be replayed at twice the normal speed. You can use any replay speed you need up to 100000. Do not enter a comma with the speed number.
The speed can only be set while the replay is Paused or Stopped. If a replay is Running, you cannot change the Speed and this control will be disabled.
For All Charts in Chartbook
If you want to replay multiple charts or Trade DOM charts at the same time, check the For All Charts in Chartbook checkbox. This will cause Play, Pause, <<, >> and Stop to affect all the Intraday charts and Trade DOMs (which are also chart objects) in the same Chartbook where the chart you are controlling the replay from is located.
When you are replaying multiple charts by using For All Charts in Chartbook, they will remain synchronized. However, synchronization potentially can be lost and is explained in the Automatic Skipping of Periods Where There Is No Trading and Synchronization section.
Days to Load Setting: When replaying multiple Intraday charts with the For All Charts in Chartbook option, you will need to make sure the Use Number of Days to Load >> Days to Load setting in Chart >> Chart Settings for any other charts being replayed, is set to the same or greater value than the chart you are controlling the replay from.
For example, if in the current chart you are controlling the replay from, you have Days to Load set to 20 days and you are starting a replay from the beginning of the chart, then you need to make certain the other charts and Trade DOM windows in the same Chartbook also have Days to Load set to 20 or higher. This is especially true for the Trade DOM charts ( File >> Open Trading DOM), in case you want to do simulated trading with a Trading DOM.
By default Trade DOMs only load 1 day. Additionally, the Session Times in Chart Settings should be identical for all the charts or they should be set to 00:00:00 to 23:59:59. Otherwise, the replay may not run in the other charts at certain times and you may also have synchronization issues.
There are three possible settings for the Replay Mode. They are described below.
Use Standard Replay when not performing back testing of an automated trading system and only performing an ordinary chart replay. This will provide the fastest and most efficient replay. There is no reason to use Accurate Trading System Back Test Mode. It is less efficient and only designed for automated trade system back testing.
The Time and Sales window for the chart that is being replayed is supported during a replay and will display trades as they occur. The Time and Sales window will accurately display the true historical trades if the Intraday data file contains tick by tick data. Otherwise, there will be one trade each displayed for each of the Open, High, Low, Close values of the underlying data records in the Intraday data file.
Accurate Trading System Back Test Mode
If you are performing a replay based back test of an automated trading system when using the Spreadsheet System for Trading study or an Advanced Custom Study that uses the ACSIL Trading functions, then you need to set the Replay Mode to Accurate Trading System Back Test Mode.
When you use Accurate Trading System Back Test Mode, then this means that the study functions on the chart are going to be called/calculated whenever the High, Low, or Last prices of the latest bar currently loaded into the chart change or there is a new bar added to the chart during the processing of the underlying data records in the Intraday chart data file. This provides a combination of accuracy and efficiency. It will give a consistent result every time you perform a back test of your trading system.
If there is a change with the Bid or Ask prices, which are stored with 1 Tick Intraday data, but the High, Low, Last trade prices of the last bar in the chart do not change or there are no new bars added to the chart, the studies on the chart will not be calculated.
Although, any working Simulated orders can still be filled from these Bid and Ask prices as they are processed from the Intraday data file. An ACSIL study can be aware of all of the Bid and Ask price changes by using the sc.GetTimeAndSalesData function the next time the study function is called.
When you have enabled For All Charts in Chartbook and you are using Accurate Trading System Back Test Mode, then in this case there is a multiple chart synchronized replay being performed.
Therefore, in the case of a multiple chart synchronized replay, the studies are not called/calculated whenever the High, Low, or Last prices of the current bar change or there is a new bar added to the chart during the processing of the data records in the Intraday chart data file.
Instead the studies are called/calculated after a specific amount of data based upon time, the default is 60 seconds, has been read from the Intraday data file into the chart. At that time the study functions are calculated on the chart. For more information, refer to the Auto Trade System Back Testing page.
It needs to be noted, that back testing does not give results which will be exactly what you receive in real-time. This is not possible for various reasons. The actual bid and ask prices are not known and it is not known where in the order queue your order exists. There can be other factors as well.
When using Accurate Trading System Back Test Mode, Filled and Canceled orders will be removed from the Trade Orders list, so it does not become full of too many orders and slow down processing.
When using Accurate Trading System Back Test Mode, momentary freezing of the Sierra Chart user interface is not unusual because there is a large amount of processing done before the thread processing that data yields back to the user interface of Sierra Chart.
Calculate at Every Tick/Trade
When using Calculate at Every Tick/Trade, this is identical to the Accurate Trading System Back Test Mode Replay Mode, except that the study functions on the chart are going to be called/calculated for each data record in the Intraday data file. Therefore, when using tick by tick intraday data this is a very high accuracy, but inefficient, Back Test.
All of the other information in the Accurate Trading System Back Test Mode section applies to this Replay Mode as well.
Replaying Trade DOM Windows
To replay data through a Trade DOM, follow these instructions:
- Open a Trade DOM through File >> Find Symbol if you do not have one open already.
- On the Trade DOM window, select Chart >> Chart Settings.
- Set the Use Number of Days to Load >> Days to Load , to the number of days back from today that the replay will be started at. This is essential.
- If the chart you will be starting the replay from has the Continuous Futures Contract option enabled and it has an identical Symbol to the Trade DOM, then it is necessary to set the Advanced Settings >> Continuous Contract option on the Trade DOM to be the same as the chart you will be starting the replay from.
- Press OK to close to Chart Settings window.
- Select Global Settings >> Symbol Settings.
- Locate the Symbol pattern for the symbol of the Trade DOM in the list of symbols.
- Select the Intraday tab.
- Enable the Record Market Depth Data option if you want to be able to replay the market depth data on the Trade DOM. Market depth data will only be recorded as of the time that this option is enabled. Prior to this there will not be market depth data unless you have been using the Market Depth Historical Graph study.
After enabling this option it is necessary to reconnect to the data feed.
- Press OK.
- Select Chart >> Replay Chart >> Replay Chartto open the Chart Replay window.
- On the Chart Replay window, enable the For All Charts in Chartbook option.
- Start a replay from that specific chart following the Basic Instructions.
- You need to disable Skip Empty Periods on the Chart Replay window to prevent any loss of synchronization between the Trading DOM and the associated chart.
- For additional information, refer to the For All Charts in Chartbook section.
Replaying of Market Depth Data
Follow the instructions below to enable the recording of market depth data for a particular symbol so that it can be replayed.
- Select Global Settings >> Symbol Settings.
- Locate the symbol or symbol pattern in the list of Symbols.
- Select the Intraday tab.
- Enable the Record Market Depth Data. Market depth data will only be recorded as of the time that this option is enabled. Prior to this there will not be market depth data unless you have been using the Market Depth Historical Graph study.
- Press OK.
- Follow the instructions to reconnect to the data feed.
- To replay a chart follow the Basic Chart Replay Instructions.
- Select File >> Open Market Depth Window to see the recorded market depth data. Only Date-Times in the chart where market depth data has been recorded, will market depth data beyond the best level be displayed in this window.
Automatic Skipping of Periods Where There Is No Trading and Synchronization
During a chart replay of an Intraday chart, the replay simulates real-time updating and is also affected by the Replay Speed.
What this means is that when the Replay Speed is 1, then trading that occurred over a 1 minute period will take 1 minute to replay. When the Replay Speed is increased to 2, then it will take 30 seconds to replay 1 minute of trading.
It is important to be aware, that when periods of no trading are encountered in the Intraday chart, that the replay will pause until the replay time, which is affected by the replay speed, catches up to new data with a time equal or less than the replay time.
When the Skip Empty Periods option is enabled, then when encountering a period of time in the chart where you will have to wait 65 seconds or more, that period is instantly skipped over and the replay continues. This is also true when replaying multiple charts when using For All Charts in Chartbook , unless Accurate Trading System Back Test Mode is selected on the Chart Replay window.
It is also important to be aware that when a chart is replayed at an accelerated speed, there is a greater probability of encountering a period of time where the chart pauses when there is no trading activity because the amount of time to wait will be less than 65 seconds because of the acceleration. You will notice that when reducing the Replay Speed at these points, then the period of time where there is no trading will then be instantly skipped over.
When data is encountered in the Intraday chart data file which is outside of the Session Times defined in Chart >> Chart Settings and the Skip Empty Records option is enabled, then that data is instantly skipped over and the replay continues. This is also true when replaying multiple charts when using For All Charts in Chartbook, unless Accurate Trading System Back Test Mode is selected on the Chart Replay window.
When you have enabled For All Charts in Chartbook and you have selected Accurate Trading System Back Test Mode for the Replay Mode, then in this case there is a multiple chart synchronized replay being performed. The Skip Empty Periods option does not apply in the case. In this case the charts are always kept synchronized regardless of the Skip Empty Periods setting.
Skip Empty Periods also does not apply when using Trade >> Auto Trade System Replay BackTest. In this last particular case, the replay is run at the maximum possible speed. The speed is dependent upon the computer hardware.
When there is a skipping of time in the chart during a replay, synchronization is lost between the charts when multiple charts are replaying.
Preventing Loss of Synchronization Between Different Charts During Replay
When replaying multiple charts or Trading DOMs, it is necessary to disable Skip Empty Periods on the Chart Replay window to prevent any loss of synchronization between the charts and Trading DOMs.
Select Chart >> Replay Chart >> Replay Chart to open the Chart Replay window.
Replay and Trading
When a chart replay is started, all of the simulated existing order fills in the Trade >> Trade Activity Log for the Symbol and selected Trade Account of the chart are loaded into an internal Trades list in the chart.
These order fills which are loaded into the chart include from the earliest order fill which exists up to the Date-Time that the replay is being started at.
If at that point in time, the order fills indicate there is a nonzero Trade Position Quantity, then it will appear on the chart and in Trade Window Position Quantity display.
This will be the reason why a Trade Position Quantity may appear on a chart and the Trade Window when it did not previously exist when the chart was not replaying.
Historical Intraday Data Record Timeframe Effect on Replays
When replaying data, updating is not necessarily tick by tick. The replay will be in time units based on the timeframe of the data records in the Intraday chart data file. The timeframe of the data records depends on the timeframe of the historical data from the Data or Trading service you are using and the Intraday Data Storage Time Unit setting.
Select Global Settings >> Data/Trade Service Settings on the menu. Set the Intraday Data Storage Time Unit to a small setting for smoother replays. It should be at 2 Seconds or less. 1 Second is preferred for efficiency rather than a lower setting.
The Intraday Data Storage Time Unit setting affects data collected in real-time and also affects historical data downloaded. For complete details, refer to Tick by Tick Data Configuration.
Depending upon the Data or Trading service you are using, there can be a mix of records with different time frames in the same data file. There can be 1 Minute data for some records and 1 Tick data for other records. So you may not always see consistency with the update interval during a replay.
After you make changes to the Intraday Data Storage Time Unit which affects the data records in the chart data files, you will need to re-download all of the data in the chart data file for the symbol you are replaying because these changes will not affect the existing data in the file.
To re-download the data, select Edit >> Delete All Data And Download. This only needs to be done once per symbol.
To visually observe a tick by tick replay, Accurate Trading System Back Test Mode must not be set. This setting is meant for back testing and the chart will not be redrawn frequently but instead infrequently. The actual frequency of drawing is dependent on various variables and cannot be stated here. You simply have to observe it to see what it will be in your particular case. Also, the user interface of Sierra Chart can momentarily freeze when running a back test when using Accurate Trading System Back Test Mode.
Chart Update Interval During Replays
During a replay, a chart is updated at the interval specified by the Global Settings >> General Settings >> Chart Update Interval setting when the replay speed is 1X. As you increase the replay Speed, the Chart Update Interval is automatically decreased internally in the chart to accelerate the replay intervals to make the chart replay more smooth.
Replaying Historical Daily and Higher Timeframe Charts
It is not possible to replay Historical Daily, Weekly, Monthly and Yearly charts which are opened with File >> Find Symbol >> Open Historical Chart or File >> New/Open Historical Chart.
However, there is a way around this and that is to use an Intraday chart where the chart bars are set to a timeframe of 1 Day or greater. Follow the instructions below to do this.
- Open an Intraday chart by selecting File >> Find Symbol >> [select symbol] >> Open Intraday Chart.
- Select Chart >> Chart Settings on the menu.
- Set the Chart Data Type to Intraday Chart Only. This control is located just above the Intraday Chart Bar Period frame.
- Set the Intraday Chart Bar Period >> Bar Period Type to Days-Minutes-Seconds.
- Set the control under Days-Minutes-Seconds to 1-0-0. This will set the chart bars to 1 Day per bar. Use 7-0-0 for Weekly bars.
- Set the Start Time and the End Time controls in this window to what you require. For more information, refer to Session Times. Using the default Start Time of 00:00:00 and End Time of 23:59:59 is acceptable.
- Press OK to close the Chart Settings window.
- Continue with the Basic Instructions to replay this Intraday chart.
Stepping through Chart Bars One by One
It is supported to step through the chart bars one by one manually.
- Open an Intraday chart and set the chart bars to a fixed time per bar through Chart >> Chart Settings >> Intraday Chart Bar Period.
- It is not supported to use chart bars based upon Volume, Number of Trades, Range, Reversal, etc. This inherently is impossible because it is not known when a new chart bar begins until it actually begins.
- Start replay of an Intraday chart as explained in the Basic Instructions section.
- The Speed setting does not matter and can be anything.
- Press the Pause button on the Chart Replay window.
- Set the Jump Time (HH:MM:SS) button to the timeframe of the chart bars. For example, if the chart bars are 5 minutes per bar, then set this to 00:05:00. This is an essential step to follow in order to step through the bars one by one using the Jump Forward button.
- Press the >> (Jump Forward) button to step through the bars one by one. Each time the Jump Forward button is pressed, the chart will advance by one bar and the next bar displayed will be complete.
*Last modified Tuesday, 23rd May, 2017.